[alsa-devel] [PATCH 5/9] ASoC: Configure SSP port PLL for Zylonite
Mark Brown
broonie at opensource.wolfsonmicro.com
Fri Jan 23 18:18:36 CET 2009
Signed-off-by: Mark Brown <broonie at opensource.wolfsonmicro.com>
---
sound/soc/pxa/zylonite.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/sound/soc/pxa/zylonite.c b/sound/soc/pxa/zylonite.c
index 8541b67..ec2fb76 100644
--- a/sound/soc/pxa/zylonite.c
+++ b/sound/soc/pxa/zylonite.c
@@ -95,6 +95,7 @@ static int zylonite_voice_hw_params(struct snd_pcm_substream *substream,
struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct snd_soc_dai *codec_dai = rtd->dai->codec_dai;
struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai;
+ unsigned int pll_out = 0;
unsigned int acds = 0;
unsigned int wm9713_div = 0;
int ret = 0;
@@ -102,13 +103,16 @@ static int zylonite_voice_hw_params(struct snd_pcm_substream *substream,
switch (params_rate(params)) {
case 8000:
wm9713_div = 12;
+ pll_out = 2048000;
break;
case 16000:
wm9713_div = 6;
+ pll_out = 4096000;
break;
case 48000:
default:
wm9713_div = 2;
+ pll_out = 12288000;
acds = 1;
break;
}
@@ -129,6 +133,10 @@ static int zylonite_voice_hw_params(struct snd_pcm_substream *substream,
if (ret < 0)
return ret;
+ ret = snd_soc_dai_set_pll(cpu_dai, 0, 0, pll_out);
+ if (ret < 0)
+ return ret;
+
ret = snd_soc_dai_set_clkdiv(cpu_dai, PXA_SSP_AUDIO_DIV_ACDS, acds);
if (ret < 0)
return ret;
--
1.5.6.5
More information about the Alsa-devel
mailing list