diff options
Diffstat (limited to 'target/linux/brcm2708/patches-3.14/0040-ASoC-BCM2708-Add-24-bit-support.patch')
-rw-r--r-- | target/linux/brcm2708/patches-3.14/0040-ASoC-BCM2708-Add-24-bit-support.patch | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/target/linux/brcm2708/patches-3.14/0040-ASoC-BCM2708-Add-24-bit-support.patch b/target/linux/brcm2708/patches-3.14/0040-ASoC-BCM2708-Add-24-bit-support.patch deleted file mode 100644 index 5b06ecf78d..0000000000 --- a/target/linux/brcm2708/patches-3.14/0040-ASoC-BCM2708-Add-24-bit-support.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 5b06b2affe65b243dd828aeac9f48854902b1823 Mon Sep 17 00:00:00 2001 -From: Florian Meier <florian.meier@koalo.de> -Date: Fri, 6 Dec 2013 18:55:53 +0100 -Subject: [PATCH 40/54] 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> ---- - sound/soc/bcm/bcm2708-i2s.c | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - ---- a/sound/soc/bcm/bcm2708-i2s.c -+++ b/sound/soc/bcm/bcm2708-i2s.c -@@ -346,6 +346,10 @@ static int bcm2708_i2s_hw_params(struct - data_length = 16; - bclk_ratio = 40; - break; -+ case SNDRV_PCM_FORMAT_S24_LE: -+ data_length = 24; -+ bclk_ratio = 40; -+ break; - case SNDRV_PCM_FORMAT_S32_LE: - data_length = 32; - bclk_ratio = 80; -@@ -424,7 +428,7 @@ static int bcm2708_i2s_hw_params(struct - /* Setup the frame format */ - format = BCM2708_I2S_CHEN; - -- if (data_length > 24) -+ if (data_length >= 24) - format |= BCM2708_I2S_CHWEX; - - format |= BCM2708_I2S_CHWID((data_length-8)&0xf); -@@ -714,6 +718,7 @@ static struct snd_soc_dai_driver bcm2708 - .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 = { -@@ -721,6 +726,7 @@ static struct snd_soc_dai_driver bcm2708 - .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 = &bcm2708_i2s_dai_ops, -@@ -810,11 +816,10 @@ static void bcm2708_i2s_setup_gpio(void) - } - - static const struct snd_pcm_hardware bcm2708_pcm_hardware = { -- .info = SNDRV_PCM_INFO_MMAP | -- SNDRV_PCM_INFO_MMAP_VALID | -- SNDRV_PCM_INFO_INTERLEAVED | -+ .info = SNDRV_PCM_INFO_INTERLEAVED | - SNDRV_PCM_INFO_JOINT_DUPLEX, - .formats = SNDRV_PCM_FMTBIT_S16_LE | -+ SNDRV_PCM_FMTBIT_S24_LE | - SNDRV_PCM_FMTBIT_S32_LE, - .period_bytes_min = 32, - .period_bytes_max = 64 * PAGE_SIZE, |