On Fri, Dec 16, 2022 at 09:14:34AM +0800, wei.fang@xxxxxxx wrote: > From: Wei Fang <wei.fang@xxxxxxx> > > The hibernation mode of AR8031 PHY defaults to be enabled after hardware > reset. When the cable is unplugged, the PHY will enter hibernation mode > after about 10 senconds and the PHY clocks will be stopped to save > power. However, due to the design of EQOS, the mac needs the RX_CLK of > PHY for software reset to complete. Otherwise the software reset of EQOS > will be failed and do not work correctly. The only way is to disable > hibernation mode of AR8031 PHY for EQOS, the "qca,disable-hibernation-mode" > property is used for this purpose and has already been submitted to the > upstream, for more details please refer to the below link: > https://lore.kernel.org/netdev/20220818030054.1010660-2-wei.fang@xxxxxxx/ > > This issue is easy to reproduce, just unplug the cable and "ifconfig eth0 > down", after about 10 senconds, then "ifconfig eth0 up", you will see > failure log on the serial port. The log is shown as following: > root@imx8dxlevk:~# > [34.941970] imx-dwmac 5b050000.ethernet eth0: Link is Down > root@imx8dxlevk:~# ifconfig eth0 down > [35.437814] imx-dwmac 5b050000.ethernet eth0: FPE workqueue stop > [35.507913] imx-dwmac 5b050000.ethernet eth0: PHY [stmmac-1:00] driver [Qualcomm Atheros AR8031/AR8033] (irq=POLL) > [35.518613] imx-dwmac 5b050000.ethernet eth0: configuring for phy/rgmii-id link mode > root@imx8dxlevk:~# ifconfig eth0 up > [71.143044] imx-dwmac 5b050000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0 > [71.215855] imx-dwmac 5b050000.ethernet eth0: PHY [stmmac-1:00] driver [Qualcomm Atheros AR8031/AR8033] (irq=POLL) > [72.230417] imx-dwmac 5b050000.ethernet: Failed to reset the dma > [72.236512] imx-dwmac 5b050000.ethernet eth0: stmmac_hw_setup: DMA engine initialization failed > [72.245258] imx-dwmac 5b050000.ethernet eth0: __stmmac_open: Hw setup failed > SIOCSIFFLAGS: Connection timed out > > After applying this patch, the software reset of EQOS will be > successful. And the log is shown as below. > root@imx8dxlevk:~# ifconfig eth0 up > [96.114344] imx-dwmac 5b050000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0 > [96.171466] imx-dwmac 5b050000.ethernet eth0: PHY [stmmac-1:00] driver [Qualcomm Atheros AR8031/AR8033] (irq=POLL) > [96.188883] imx-dwmac 5b050000.ethernet eth0: No Safety Features support found > [96.196221] imx-dwmac 5b050000.ethernet eth0: IEEE 1588-2008 Advanced Timestamp supported > [96.204846] imx-dwmac 5b050000.ethernet eth0: registered PTP clock > [96.225558] imx-dwmac 5b050000.ethernet eth0: FPE workqueue start > [96.236858] imx-dwmac 5b050000.ethernet eth0: configuring for phy/rgmii-id link mode > [96.249358] 8021q: adding VLAN 0 to HW filter on device eth0 > > Signed-off-by: Wei Fang <wei.fang@xxxxxxx> > Reviewed-by: Clark Wang <xiaoning.wang@xxxxxxx> I updated the subject prefix like below to make it clear this is an imx8dxl-evk board change. arm64: dts: imx8dxl-evk: ... Applied, thanks! Shawn