>               [EMAIL PROTECTED] {             // PSC2
>                       compatible = "mpc5200b-psc-ac97","mpc5200-psc-ac97";
>                       cell-index = <1>;
>                       reg = <2200 100>;
>                       interrupts = <2 2 0>;
>                       interrupt-parent = <&mpc5200_pic>;

You need #address-cells, #size-cells here.

>                       [EMAIL PROTECTED] {
>                               compatible = "idt,stac9766";
>                               reg = <0>;
>                       };
>               };
>
>               [EMAIL PROTECTED] {
>                       compatible = "mpc5200b-i2c","mpc5200-i2c","fsl-i2c";
>                       reg = <3d40 40>;
>                       interrupts = <2 10 0>;
>                       interrupt-parent = <&mpc5200_pic>;
>                       fsl5200-clocking;

And here.

>                       [EMAIL PROTECTED] {
>                               compatible = "ti,tas5504";
>                               reg = <15>;
>                               i2s-handle = <[EMAIL PROTECTED]>;

Should use an alias here (or the full path, if that works).

>                       };
>               };
>               
>               [EMAIL PROTECTED] {             // PSC4
>                       compatible = "mpc5200b-psc-i2s","mpc5200-psc-i2s";
>                       cell-index = <1>;
>                       reg = <2400 100>;
>                       interrupts = <2 3 0>;
>                       interrupt-parent = <&mpc5200_pic>;
>               };
>
> In the ALSA SOC model the i2s, codec and ac97 drivers are all generic.
> A fabric driver tells specifically how a generic codec is wired into
> the board. What I haven't been able figure out is how to load the
> right fabric driver.

Whatever way works for the platform.

> It is starting to make more sense to me that fabric driver actually
> does represent a physical device - the cluster of wires.

That's only part of it, as far as I understand.

> David Gibson
> made a proposal that a fabric node wrap the codec node. That doesn't
> work very well with the i2c bus where the bus code is walking down the
> nodes and triggering the instantiation of the i2c drivers.

Yeah, doesn't work at all.

> But what about putting the fabric node inside the codec node?

_Which_ codec node?  Having more than one isn't uncommon at all.


There is no way you can describe this fabric stuff in a generic way in
the device tree.  Just hardcode it in your platform support code; if
the platform code supports several variant boards, _it_ can probe that
from the device tree (in whatever way works for that platform).


Segher

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to