[alsa-devel] [PATCH][ASoC v2] Update Freescale MPC8610HPCD fabric driver to support multiple codecs

Jon Smirl jonsmirl at gmail.com
Fri Jun 13 17:26:57 CEST 2008

On 6/13/08, Timur Tabi <timur at freescale.com> wrote:
> Jon Smirl wrote:
>  > My system works like you describe. We have an external clock
>  > generator. It needs to be set up in the fabric code.
> But can the clock frequency change during runtime?  The current ASoC interface
>  can handle that.

Our i2s hardware is capable of changing the clock frequency at
runtime. I haven't tried doing it in software yet. The main reason for
changing is to adjust to sources that are multiples of 44.1 vs 48K.
Intel HDA has a much better scheme for handling that via a fixed clock
and skipping slots. I suspect I'll have to do some work on alsa to
make this work.

Get Freescale to put an HDA interface into the SOC chips so that I can
used HDA codecs. The only reason we are using an external clock chip
is because the MPC5200 generates a 192K audio clock that has a 0.7%
error in it. If the MPC5200 had a fractional-N divider instead of an
integer one on the audio clock we wouldn't need the external chip.
There's no way to fix the MPC5200 clock error without breaking the USB

>  > Isn't the parameter needed for codecs like AC97 where they supply the
>  > clock back to the CPU? Timur's device tree is the one with a codec
>  > clock rate. Are there other parameters the system might need to set
>  > into a codec?
> The direction of the clock.  That's why I have "i2s-slave" in the SSI nodes.

There should be a way for the ssi driver to extract the parameters
from the device tree and then feed them into the codec in an arch
independent manner. The codecs need to stay arch independent. I
haven't tried doing this yet in the code since I haven't needed setup

>  --
>  Timur Tabi
>  Linux kernel developer at Freescale

Jon Smirl
jonsmirl at gmail.com

More information about the Alsa-devel mailing list