On Thu, Sep 23, 2021 at 01:00:11PM +0200, Geert Uytterhoeven wrote: > On Thu, Sep 9, 2021 at 10:49 AM Geert Uytterhoeven > <geert+renesas@xxxxxxxxx> wrote: > > If an Ethernet PHY reset is asserted when the Ethernet driver is > > initialized, the PHY cannot be probed: > > > > mdio_bus ee700000.ethernet-ffffffff: MDIO device at address 1 is missing > > > > This happens because the Linux PHY subsystem tries to read the PHY > > Identifier registers before handling PHY reset. Hence if the PHY reset > > was asserted before, identification fails. > > > > An easy way to reproduce this issue is by using kexec to launch a new > > kernel (the PHY reset will be asserted before starting the new kernel), > > or by unbinding and rebinding the Ethernet driver (the PHY reset will be > > asserted during unbind), e.g. on koelsch: > > > > echo ee700000.ethernet > /sys/bus/platform/drivers/sh-eth/unbind > > $ echo ee700000.ethernet > /sys/bus/platform/drivers/sh-eth/bind > > > > The recommended approach[1][2] seems to be working around this issue by > > adding compatible values to all ethernet-phy nodes, so Linux can > > identify the PHY at any time, without reading the PHY ID from the > > device, and regardless of the state of the PHY reset line. > > > > Hence this patch series adds such compatible values to all Ethernet PHY > > subnodes representing PHYs on all boards with Renesas ARM and ARM64 > > SoCs. For easier review, I have split the series in one patch per PHY > > model. It is a reasonable approach. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Andrew