Binding FCC interfaces to device names in reverse order
Vitaly Bordug
vbordug at ru.mvista.com
Thu Jun 15 22:53:44 EST 2006
On Thu, 15 Jun 2006 13:59:02 +0200
Laurent Pinchart <laurent.pinchart at tbox.biz> wrote:
> Hello,
>
> I'm trying to change the order in which the MPC8248 FCC devices are bound to
> network interface names.
>
> The current behaviour is to handle FCC1, FCC2 and FCC3 in that order. FCC1 is
> thus mapped to eth0 and FCC2 to eth1 (FCC3 is unused in my design).
>
> For some reason I'd like to map FCC2 to eth0 and FCC1 to eth1. Interface names
> are allocated as devices are registered, so I thought I could change the
> detection order by modifying the ppc_sys_platform_devices array:
>
> ppc_sys_platform_devices[MPC82xx_CPM_FCC1].id = 2;
> ppc_sys_platform_devices[MPC82xx_CPM_FCC2].id = 1;
>
> FCC devices detection is indeed reversed, and FCC2 is mapped to eth0. Plugging
> a cable into the FCC2 socket prints a message referencing eth0, and ifconfig
> confirms that eth0 is running.
>
> Unfortunately, that's where things stop working. I can't ping FCC1 or FCC2, no
> data is received by the kernel.
>
> Does anyone know why changing the device ids breaks the fs_enet driver ?
Obviously, because board-specific platform_data fixup use that id field to detect what soc device is that - fcc1 or fcc2 this case. So the phy's will be wrong-assigned, as well as other stuff.
To change order pdevs are registered, you may try to disable all the fccs at the startup, and then enable them after ppc_sys_init, or just shoot enable-disable seq (this was't tested at all, but supposed to work).
>
> Laurent Pinchart
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>
>
--
Sincerely,
Vitaly
More information about the Linuxppc-embedded
mailing list