]> git.ipfire.org Git - thirdparty/u-boot.git/commit
net: designware: Reset eth phy before phy connect
authorJonas Karlman <jonas@kwiboo.se>
Thu, 18 Jan 2024 07:19:45 +0000 (07:19 +0000)
committerKever Yang <kever.yang@rock-chips.com>
Sun, 4 Feb 2024 10:02:45 +0000 (18:02 +0800)
commitf1e2f412b0aa24a5f5256dc7894a4c70bb6a0076
treec30b709a32022ca9aae785c0f947c48f0517dff6
parent52e33533856952731314ea28a5f8b6c94d74f740
net: designware: Reset eth phy before phy connect

Some ethernet PHY require being reset before a phy-id can be read back
on the MDIO bus. This can result in the following message being show
on e.g. a Radxa ROCK Pi E v1.21 with a RTL8211F ethernet PHY.

  Could not get PHY for ethernet@ff540000: addr -1

Add support to designware ethernet driver to reset eth phy by calling
the eth phy uclass function eth_phy_set_mdio_bus(). The call use NULL
as bus parameter to not set a shared mdio bus reference that would be
freed when probe fails. Also add a eth_phy_get_addr() call to try and
get the phy addr from DT when DM_MDIO is disabled.

This help fix ethernet on Radxa ROCK Pi E v1.21:

  => mdio list
  ethernet@ff540000:
  1 - RealTek RTL8211F <--> ethernet@ff540000

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
drivers/net/designware.c