Subject: Re: [PATCH] ASoC drivers for the Freescale MPC8610 SoC

From: Timur Tabi <[email-masked]>
Date: Wed, 02 Jan 2008 09:10:44 -0600

Jon Smirl wrote:
> On 12/19/07, Timur Tabi <[email-masked]> wrote:
>> +               ssi@16000 {
>> +                       compatible = "fsl,ssi";
>> +                       cell-index = <0>;
>> +                       reg = <16000 100>;
>> +                       interrupt-parent = <&mpic>;
>> +                       interrupts = <3e 2>;
>> +                       fsl,mode = "i2s-slave";
>> +                       codec {
>> +                               compatible = "cirrus,cs4270";
>> +                               /* MCLK source is a stand-alone oscillator */
>> +                               bus-frequency = <bb8000>;
>> +                       };
>> +               };
> 
> Does this need to be bus-frequency? It's always called MCLK in all of
> the literature.

I'm trying to make this node as generic as possible.  The fabric driver 
is the one that will parse this node and pass the data to the codec 
driver, so I can't use any codec-specific terms.

The API from the fabric driver for passing clock information includes a 
clock ID, a direction, and a frequency.  I can do something like this:

clock1 = <0, bb8000>

Would that be better?

> 
> In my case the MCLK comes from a chip on the i2c bus that is
> programmable How would that be encoded?.

I'm going under the assumption that MCLK does not change once the board 
is up and running.  In your case, you'd need to do something quite 
different, because you're not reading the clock info from the device 
tree and passing it to the codec at initialization once.  If you want to 
define an extension to the 'codec' child node that handles that, I'll 
add it to the documentation.