Messages in this thread | | | Date | Thu, 06 Mar 2014 16:47:30 +0100 | From | Gregory CLEMENT <> | Subject | Re: [PATCH] ARM: mvebu: add Device Tree for the Armada 385 RD board |
| |
On 06/03/2014 15:51, Gregory CLEMENT wrote: > On 06/03/2014 15:46, Andrew Lunn wrote: >>>>>> I think you can use aliases to get the order correct, independent of >>>>>> how you list them in DT. That should be a lot safer than assuming >>>>>> things are instantiated from top to bottom. >>>>> >>>>> It sounds interesting, how would you do this? >>>> >>>> As there already is in armada-370-xp.dtsi >>>> >>>> aliases { >>>> eth0 = ð0; >>>> eth1 = ð1; >>>> }; >>>> >>>> >>>> eth0: ethernet@70000 { >>>> } >>>> eth1: ethernet@74000 { >>>> } >>>> >>>> This at least works for i2c devices. The pdev->id is set using the >>>> alias number. >>> >>> Well I think it doesn't work with ethernet devices because we already do >>> this in aramda-38x.dtsi: >>> >>> aliases { >>> gpio0 = &gpio0; >>> gpio1 = &gpio1; >>> eth0 = ð0; >>> eth1 = ð1; >>> eth2 = ð2; >>> }; >>> >>> eth1: ethernet@30000 { >>> } >>> eth2: ethernet@34000 { >>> } >>> eth0: ethernet@70000 { >>> } >> >> Ah, Erm, O.K. >> >> It seems to be an i2c thing. Take a look at i2c_add_adapter(). >> >> if (dev->of_node) { >> id = of_alias_get_id(dev->of_node, "i2c"); >> >> You could put something similar into the ethernet driver. >> > > > Actually even what I did, didn't work as I expected. The order should have been changed in > the dsi file. > > I will have a look on the ethernet driver.
Well the naming is done in __dev_alloc_name() and it depends on the probe order.
So I really wonder if we should not put the ethernet@70000 before the othe Ethernet node in the armada-38x.dts file. Otherwise it is very misleading to have eth0 for the second interface, eth1 for the third one, and eth2 for the first one.
Thanks,
Gregory
> > > Thanks, > > Gregory > > >> Andrew >> > >
-- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
| |