Fixed PHY Device Tree usage?

Thomas Petazzoni
2013-07-09T16:33:39Z

Hello,

We have a case of an hardware platform that uses the mvneta network
driver, but instead of the SoC being connected to a PHY, it's connected
directly to a switch, so my understanding is that there's no MDIO bus,
and we should have a kind of a "fake PHY" to make the mvneta driver
believe that the link is up, at a given speed.

Looking at this problem, I stumbled across the "fixed PHY" driver in
drivers/net/phy/fixed.c, which registers a fake "Fixed MDIO bus", and
then provides a fixed_phy_add() API to add one "fake" PHY. This seems
to fit my need, except that my ARM platform is obviously Device Tree
based, so I'm wondering what I should do. One option is to implement a
Device Tree binding for the fixed PHY driver (the exact DT binding
would have to be discussed), but I'm wondering whether describing a
fixed PHY in the DT is actually correct, because describing a fixed PHy
is not really describing the hardware, the hardware is actually a
switch.

Do you have some thoughts about this situation? Maybe there's already
some solutions that I'm not aware of?

Thanks,

Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.