Device Tree Binding for DSA on P1023RDB

Scott Wood scottwood at freescale.com
Fri Jun 13 07:21:28 EST 2014


On Thu, 2014-06-12 at 23:36 +0800, Pannirselvam Kanagaratnam wrote:
> The QORIQ P1023RDB has an option to populate the Marvell 88E6165
> Ethernet switch. We populated this device and was able to initialize
> it as a basic switch in U-Boot. However, the switch driver was not
> loaded upon kernel bootup. DSA kernel config was enabled for the
> 88E6165. The following patch was applied:
> 
> 
> http://patchwork.ozlabs.org/patch/230257/
> 
> 
> The switch is attached to phy address 0x3 via dtsec2. My dts file is
> as below. Would appreciate any feedback on whether the DSA is
> correctly structured in the dts.

If you have a dtsec driver you're not working with an upstream kernel
(or you've ported a lot of SDK code to it)...  What tree are you working
with?  Are there prerequisites to the above patch that you might be
missing?

The above patch is a platform driver and you put the node in the
toplevel device tree node.  Have you added marvell,dsa to the list of
compatible strings that get probed (of_device_ids in corenet_generic.c
or an equivalent list in your SDK kernel)?
> 
>     dsa at 0 {
>             compatible = "marvell,dsa";
>             #address-cells = <2>;
>             #size-cells = <0>;
> 
>             interrupts = <3>;

This interrupts property needs to be four cells rather than one, if MPIC
is the parent -- assuming you have #interrupt-cells = <4> and not some
old device tree with #interrupt-cells = <2>, but in any case you need
more than one cell.

-Scott




More information about the Linuxppc-dev mailing list