Audio codec device tree entries
Timur Tabi
timur at freescale.com
Thu Oct 25 00:13:01 EST 2007
Jon Smirl wrote:
> Is this consensus on how the tree should look?
>
> There is no attempt to describe the codec connections inside the
> device tree.
I don't think I agree with that. The device tree should indicate which codec is
connected to which I2S/AC97 device.
I see that you do that for the AC97 node, but not the I2S node. Why?
> I'm still not clear on how to trigger the load of the fabric driver.
> Right now I have a single kernel that works on Efika and my target
> hardware. This gets sorted out by define_machine(xxxx). I'll write
> some code tonight to figure out how to load drivers and match on
> codec0, codec1, etc. But how do I probe for the fabric driver I need
> to figure out whether to load the Efika one or my target one.
I've been struggling with that one, too. To keep it simple, I have the fabric
driver just search for all the I2S nodes in my tree, and create ASoC objects for
each one it finds. There's some hackery there, but I don't think we need to
solve all the problems at once. The only thing that *has* to be right the first
time is the device tree.
> i2s at 2200 { // PSC2
> compatible = "fsl,mpc5200b-psc-i2s","fsl,mpc5200-psc-i2s";
> cell-index = <1>;
> reg = <2200 100>;
> interrupts = <2 2 0>;
> interrupt-parent = <&mpc5200_pic>;
> };
>
> i2c at 3d00 {
> compatible = "fsl,mpc5200b-i2c", "fsl,mpc5200-i2c", "fsl-i2c";
> #address-cells = <1>;
> #size-cells = <0>;
> cell-index = <0>;
> reg = <3d00 40>;
> interrupts = <2 f 0>;
> interrupt-parent = <&mpc5200_pic>;
> fsl5200-clocking;
>
> codec0: i2s-codec at 0 {
> compatible = "ti,tas5508";
> reg = <0>;
> i2s-handle = <&i2s at 2000>;
> };
I'd do this the other way around -- that is:
i2s at 2200 { // PSC2
compatible = "fsl,mpc5200b-psc-i2s","fsl,mpc5200-psc-i2s";
...
i2c-handle = <&codec0>; /* Or something like that */
};
The reason is because I think the I2S driver will be instantiated *first* as an
I2S driver and then it will create the I2C instantiation.
More information about the Linuxppc-dev
mailing list