Commit 2947683c authored by Mark Brown's avatar Mark Brown

Switch to use internal PLL for iMCLK

Merge series from Hui Wang <hui.wang@canonical.com>:

Taking your advice and try to enable internal PLL to get a more
accurate sample rate. And I also changed the fsl-asoc-card.c to support
the nau8822 codec, now the sound quality is pretty good on my imx6sx
EVB.
parents 88406aa6 fed3d929
...@@ -730,6 +730,13 @@ static int nau8822_set_pll(struct snd_soc_dai *dai, int pll_id, int source, ...@@ -730,6 +730,13 @@ static int nau8822_set_pll(struct snd_soc_dai *dai, int pll_id, int source,
freq_out == pll_param->freq_out) freq_out == pll_param->freq_out)
return 0; return 0;
if (freq_out == 0) {
dev_dbg(component->dev, "PLL disabled\n");
snd_soc_component_update_bits(component,
NAU8822_REG_POWER_MANAGEMENT_1, NAU8822_PLL_EN_MASK, NAU8822_PLL_OFF);
return 0;
}
fs = freq_out / 256; fs = freq_out / 256;
ret = nau8822_calc_pll(freq_in, fs, pll_param); ret = nau8822_calc_pll(freq_in, fs, pll_param);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment