net: Add eth phy generic driver for shared MDIO
authorYe Li <ye.li@nxp.com>
Sun, 3 May 2020 14:41:14 +0000 (22:41 +0800)
committerStefano Babic <sbabic@denx.de>
Sun, 10 May 2020 11:24:48 +0000 (13:24 +0200)
commit5fe419ef2a6154e83aab04c65ec906fef96eb5be
tree07cbf8416be9264469b1819cdeb6eb1f1630a077
parentd2b70205dd67f32427dde4f1a7a8966f4924dfad
net: Add eth phy generic driver for shared MDIO

For dual ethernet controllers, the HW design may connect ETH phys to
one MDIO ports. So two different ethernet drivers have to share MDIO bus.
Since two ethernet drivers are independent, we can't ensure their probe
order.

To resolve this problem, introduce an eth phy generic driver and uclass.

After eth-uclass binds, we search the mdio node and binds the phy node
with the eth-phy-generic driver.

When one eth driver get its phy device, the parent of phy device will
probe prior than phy device. So this ensure the eth driver ownes the
MDIO bus will be probed before using its MDIO.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
drivers/net/Kconfig
drivers/net/Makefile
drivers/net/eth-phy-uclass.c [new file with mode: 0644]
include/dm/uclass-id.h
include/eth_phy.h [new file with mode: 0644]
net/eth-uclass.c