aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-3.10/0156-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-3.10/0156-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch')
-rw-r--r--target/linux/brcm2708/patches-3.10/0156-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch23
1 files changed, 15 insertions, 8 deletions
diff --git a/target/linux/brcm2708/patches-3.10/0156-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch b/target/linux/brcm2708/patches-3.10/0156-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
index e7f9bef814..da8a7e21d0 100644
--- a/target/linux/brcm2708/patches-3.10/0156-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
+++ b/target/linux/brcm2708/patches-3.10/0156-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
@@ -1,7 +1,7 @@
-From 01aa1e11984ac4cd798308cd7a40c92fc4be214e Mon Sep 17 00:00:00 2001
+From e793383b503f51589d82b9aaeb678c97e44fef3f Mon Sep 17 00:00:00 2001
From: Daniel Matuschek <info@crazy-audio.com>
Date: Wed, 15 Jan 2014 21:41:23 +0100
-Subject: [PATCH 156/174] ASoC: wm8804: Implement MCLK configuration options,
+Subject: [PATCH 156/196] ASoC: wm8804: Implement MCLK configuration options,
add 32bit support WM8804 can run with PLL frequencies of 256xfs and 128xfs
for most sample rates. At 192kHz only 128xfs is supported. The existing
driver selects 128xfs automatically for some lower samples rates. By using an
@@ -20,6 +20,8 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
sound/soc/codecs/wm8804.h | 4 ++++
2 files changed, 19 insertions(+), 4 deletions(-)
+diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c
+index 1704b1e..7ec8381 100644
--- a/sound/soc/codecs/wm8804.c
+++ b/sound/soc/codecs/wm8804.c
@@ -63,6 +63,7 @@ struct wm8804_priv {
@@ -30,7 +32,7 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
};
static int txsrc_get(struct snd_kcontrol *kcontrol,
-@@ -277,6 +278,7 @@ static int wm8804_hw_params(struct snd_p
+@@ -277,6 +278,7 @@ static int wm8804_hw_params(struct snd_pcm_substream *substream,
blen = 0x1;
break;
case SNDRV_PCM_FORMAT_S24_LE:
@@ -47,7 +49,7 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
{
u64 Kpart;
unsigned long int K, Ndiv, Nmod, tmp;
-@@ -330,7 +332,8 @@ static int pll_factors(struct pll_div *p
+@@ -330,7 +332,8 @@ static int pll_factors(struct pll_div *pll_div, unsigned int target,
*/
for (i = 0; i < ARRAY_SIZE(post_table); i++) {
tmp = target * post_table[i].div;
@@ -57,7 +59,7 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
pll_div->freqmode = post_table[i].freqmode;
pll_div->mclkdiv = post_table[i].mclkdiv;
target *= post_table[i].div;
-@@ -387,8 +390,11 @@ static int wm8804_set_pll(struct snd_soc
+@@ -387,8 +390,11 @@ static int wm8804_set_pll(struct snd_soc_dai *dai, int pll_id,
} else {
int ret;
struct pll_div pll_div;
@@ -70,7 +72,7 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
if (ret)
return ret;
-@@ -452,6 +458,7 @@ static int wm8804_set_clkdiv(struct snd_
+@@ -452,6 +458,7 @@ static int wm8804_set_clkdiv(struct snd_soc_dai *dai,
int div_id, int div)
{
struct snd_soc_codec *codec;
@@ -78,7 +80,7 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
codec = dai->codec;
switch (div_id) {
-@@ -459,6 +466,10 @@ static int wm8804_set_clkdiv(struct snd_
+@@ -459,6 +466,10 @@ static int wm8804_set_clkdiv(struct snd_soc_dai *dai,
snd_soc_update_bits(codec, WM8804_PLL5, 0x30,
(div & 0x3) << 4);
break;
@@ -89,7 +91,7 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
default:
dev_err(dai->dev, "Unknown clock divider: %d\n", div_id);
return -EINVAL;
-@@ -641,7 +652,7 @@ static const struct snd_soc_dai_ops wm88
+@@ -641,7 +652,7 @@ static const struct snd_soc_dai_ops wm8804_dai_ops = {
};
#define WM8804_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
@@ -98,6 +100,8 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
#define WM8804_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_64000 | \
+diff --git a/sound/soc/codecs/wm8804.h b/sound/soc/codecs/wm8804.h
+index 8ec14f5..e72d4f4 100644
--- a/sound/soc/codecs/wm8804.h
+++ b/sound/soc/codecs/wm8804.h
@@ -57,5 +57,9 @@
@@ -110,3 +114,6 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
+#define WM8804_MCLKDIV_128FS 1
#endif /* _WM8804_H */
+--
+1.9.1
+