Re: [PATCH v2] arm64: dts: imx8dxl: Disable hibernation mode of AR8031 for EQOS

From: Shawn Guo
Date: Sat Dec 31 2022 - 21:58:03 EST


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