[PATCH net-next 0/3] Add Possiblity to Reset PHY After Power-up

Philippe Schenker
2021-12-14T12:16:58Z

We do have a hardware design in which the ethernet phy regulator and
reset are controlled by software. The ethernet PHY is a Microchip
KSZ9131 [1] and the power sequencing requires a reset after the power
goes up.

In our case the ethernet PHY is connected to a Freescale FEC and the
driver is shutting down the regulator on suspend, however on the resume
path the reset signal is never asserted and because of that the
ethernet is not working anymore.

To solve this adds a new phy_reset_after_power_on() function, similar
to the existing phy_reset_after_clk_enable(), and call it in the fec
resume path after the regulator is switched on as suggested by
Joakim Zhang <qiangqing.zhang@nxp.com>.

[1] https://ww1.microchip.com/downloads/en/DeviceDoc/00002841C.pdf

Philippe Schenker (3):
net: phy: add phy_reset_after_power_on() function
net: phy: micrel: add reset-after-power-on flag to ksz9x31 phys
net: fec: reset phy on resume after power-up

drivers/net/ethernet/freescale/fec_main.c | 1 +
drivers/net/phy/micrel.c | 2 ++
drivers/net/phy/phy_device.c | 24 +++++++++++++++++++++++
include/linux/phy.h | 2 ++
4 files changed, 29 insertions(+)

--
2.34.1