[alsa-devel] [PATCH] asoc tlv320aic33: skip usage of PLL in some cases

Jarkko Nikula jhnikula at gmail.com
Fri Apr 18 15:47:16 CEST 2008


On Fri, Apr 18, 2008 at 2:41 PM, Daniel Mack <daniel at caiaq.org> wrote:

>
> Ok, I agree. I changed that to find an appropriate value for Q
> programmatically. Have a look at the attached patch, please. I hope i
> finally got it now ;)


That sounds a good idea. Then more cases will be covered.

What I noticed that instead of params_rate, I think we should compare here
the FSref of 44.1 and 48 kHz (how about dual-rate mode?) when defining can
the PLL be bypassed

if (params_rate(params) == aic3x->sysclk / (128 * pll_q))

---

Probably you forgot to move bypass case in this version after writing the
AIC3X_SAMPLE_RATE_SEL_REG?

Spec is also saying that when NDAC is 1.5, 2.5, ... 5.5, then odd values of
Q are not allowed.

Not the easiest chip... probably worth to ask from TI what's the case e.g.
when FSref is 2*48 kHz and ADC/DAC rate is 64 kHz (NDAC is 1.5).

And of course, over-designing the driver is not the purpose and probably
some special cases can be now covered just with -EINVAL and let the user who
needs them to send a patch :-)


Jarkko


More information about the Alsa-devel mailing list