On Fri, Jun 13, 2008 at 11:26:57AM -0400, Jon Smirl wrote:
[Dynamic clocking.]
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.
As well adjusting things to support the widest range of sample rates you also see this used in order to reduce power consumption.
On 6/13/08, Timur Tabi timur@freescale.com wrote:
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.
Not just one clock, either - some devices support independent control of the directions of frame and bit clocks, for example. Other things that can be configured include clock sharing, timeslot configuration for buses with more than two devices, parameters for the PLLs and dividers in the internal clocking tree of the codec, clock outputs not associated with an audio interface and jack detection.
For added fun, consider codecs with multiple I2S interfaces.
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 parameters.
Could you explain in more detail why you want to do this in the SSI driver in particular? Trying to have a generic machine driver that takes configuration from the device tree seems like a worthwhile goal but I'm not clear what the gain from integrating this into the controller driver is.