brcm2708: remove linux 4.4 support
[openwrt/staging/lynxis/omap.git] / target / linux / brcm2708 / patches-4.4 / 0015-bcm2835-i2s-add-24bit-support-update-bclk_ratio-to-m.patch
diff --git a/target/linux/brcm2708/patches-4.4/0015-bcm2835-i2s-add-24bit-support-update-bclk_ratio-to-m.patch b/target/linux/brcm2708/patches-4.4/0015-bcm2835-i2s-add-24bit-support-update-bclk_ratio-to-m.patch
deleted file mode 100644 (file)
index df806f4..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-From 002e593baa098b480ee0b6990ab3e43c6b36aac0 Mon Sep 17 00:00:00 2001
-From: Matthias Reichl <hias@horus.com>
-Date: Sun, 11 Oct 2015 15:21:16 +0200
-Subject: [PATCH] bcm2835-i2s: add 24bit support, update bclk_ratio to more
- correct values
-
-Code ported from bcm2708-i2s driver in Raspberry Pi tree.
-
-RPi commit 62c05a0b5328d9376d39c9e74da10b8a2465c234 ("ASoC: BCM2708:
-Add 24 bit support")
-
-This adds 24 bit support to the I2S driver of the BCM2708.
-Besides enabling the 24 bit flags, it includes two bug fixes:
-
-MMAP is not supported. Claiming this leads to strange issues
-when the format of driver and file do not match.
-
-The datasheet states that the width extension bit should be set
-for widths greater than 24, but greater or equal would be correct.
-This follows from the definition of the width field.
-
-Signed-off-by: Florian Meier <florian.meier@koalo.de>
-
-RPi commit 3e8c672bc4e92d457aa4654bbb4cfd79a18a2327 ("bcm2708-i2s:
-Update bclk_ratio to more correct values")
-
-Discussion about blck_ratio affecting sound quality:
-https://github.com/raspberrypi/linux/issues/681
-
-Signed-off-by: Matthias Reichl <hias@horus.com>
----
- sound/soc/bcm/bcm2835-i2s.c | 12 +++++++++---
- 1 file changed, 9 insertions(+), 3 deletions(-)
-
---- a/sound/soc/bcm/bcm2835-i2s.c
-+++ b/sound/soc/bcm/bcm2835-i2s.c
-@@ -340,11 +340,15 @@ static int bcm2835_i2s_hw_params(struct
-       switch (params_format(params)) {
-       case SNDRV_PCM_FORMAT_S16_LE:
-               data_length = 16;
--              bclk_ratio = 40;
-+              bclk_ratio = 50;
-+              break;
-+      case SNDRV_PCM_FORMAT_S24_LE:
-+              data_length = 24;
-+              bclk_ratio = 50;
-               break;
-       case SNDRV_PCM_FORMAT_S32_LE:
-               data_length = 32;
--              bclk_ratio = 80;
-+              bclk_ratio = 100;
-               break;
-       default:
-               return -EINVAL;
-@@ -420,7 +424,7 @@ static int bcm2835_i2s_hw_params(struct
-       /* Setup the frame format */
-       format = BCM2835_I2S_CHEN;
--      if (data_length > 24)
-+      if (data_length >= 24)
-               format |= BCM2835_I2S_CHWEX;
-       format |= BCM2835_I2S_CHWID((data_length-8)&0xf);
-@@ -711,6 +715,7 @@ static struct snd_soc_dai_driver bcm2835
-               .channels_max = 2,
-               .rates =        SNDRV_PCM_RATE_8000_192000,
-               .formats =      SNDRV_PCM_FMTBIT_S16_LE
-+                              | SNDRV_PCM_FMTBIT_S24_LE
-                               | SNDRV_PCM_FMTBIT_S32_LE
-               },
-       .capture = {
-@@ -718,6 +723,7 @@ static struct snd_soc_dai_driver bcm2835
-               .channels_max = 2,
-               .rates =        SNDRV_PCM_RATE_8000_192000,
-               .formats =      SNDRV_PCM_FMTBIT_S16_LE
-+                              | SNDRV_PCM_FMTBIT_S24_LE
-                               | SNDRV_PCM_FMTBIT_S32_LE
-               },
-       .ops = &bcm2835_i2s_dai_ops,