Using fixed_phy with gianfar

Ben Warren bwarren at
Wed Jan 10 10:23:58 EST 2007


My custom board has a couple of Ethernet switches attached via RvMII to
the 'Gianfar' controllers of an MPC8349 CPU.  We're using SPI instead of
MDIO for control of the switches, and it looked like the 'fixed.c' PHY
driver was the right thing to use.  BTW, I'm using a 2.6.19 kernel.

When I 'ifconfig up' one of the interfaces, the Gianfar driver tries to
find a device on the MDIO bus of the variety bus_id:phy_id, where both
bus_id and phy_id are numeric (defined in fsl_devices.h).  The Fixed PHY
driver creates devices on the MDIO bus with a bus_id that is a string,
for example "fixed_1 at 100:1".  Obviously, these will never match up.  The
very crude hack I made to get things working was to modify the Gianfar
driver to match the "fixed" string.  

I'm sure I'm missing something, and am wondering what the correct way to
do this is.  Should I have board-specific code that creates PHY devices
conforming to the Gianfar expectations instead of calling
'fixed_mdio_register_device()', or something else?


More information about the Linuxppc-embedded mailing list