phy_connect_dev calling phy_reset???

Tim Harvey tharvey at gateworks.com
Mon Feb 28 21:01:21 CET 2022


Greetings,

I'm wondering if it is proper in U-Boot for phy_connect_dev() to
always call phy_reset() which generates a soft reset via BMCR_RESET.

For some (or most?) PHY's this resets specific PHY config such as
RGMII delays and LED configuration that may have been configured by
firmware running prior to U-Boot (SPL/TPL).

I believe there was some discussion and thrash about this in the Linux
kernel in the past and while I can't find the discussion or patches I
see that for the current kernel BMCR_RESET is in genphy_soft_reset
which() is not called in the generic phy_connect() but instead only
called by a handful of phy drivers which I would expect is ok as those
phy drivers would also be re-configuring the PHY.

Specifically I have an issue with this with a board that has custom
firmware code that runs prior to U-Boot and the BMCR reset is undoing
specific PHY config that I've done in this firmware causing me to look
at implementing PHY drivers in U-Boot that otherwise would not be
needed.

Best Regards,

Tim


More information about the U-Boot mailing list