2385442_en-US

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2385442_en-US

2385442_en-US

i.MX93 EQoS Ethernet DMA Reset Failure with LAN8720A PHY (RMII Mode)

Hello NXP Team,

I am using an i.MX93 SoM with an external LAN8720A PHY in RMII mode.

Hardware Configuration

  • Processor: i.MX93
  • PHY: LAN8720A
  • RMII Interface
  • PHY Address: 0
  • PHY Reset GPIO configured
  • MAC provides 50 MHz RMII reference clock

sue Observed

Ethernet interface fails to initialize and the following errors are reported:

imx-dwmac 428a0000.ethernet eth1:
PHY [stmmac-1:00] driver [SMSC LAN8710/LAN8720]

imx-dwmac 428a0000.ethernet:
Failed to reset the dma

stmmac_hw_setup: DMA engine initialization failed

__stmmac_open: Hw setup failed


dmsg Response

oot@myd-lmx9x:~# dmesg | grep -i eth
[ 0.000000] OF: reserved mem: initialized node ethosu_region@B0000000, compatible id shared-dma-pool
[ 0.000000] psci: probing for conduit method from DT.
[ 0.953397] fec 42890000.ethernet: Invalid MAC address: 00:00:00:00:00:00
[ 0.960228] fec 42890000.ethernet: Using random MAC address: b2:da:68:e1:93:b7
[ 0.970863] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version
[ 1.008422] igb: Intel(R) Gigabit Ethernet Network Driver
[ 1.071474] usbcore: registered new interface driver kaweth
[ 1.082559] usbcore: registered new interface driver cdc_ether
[ 1.646174] optee: probing for conduit method.
[ 1.744525] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 2.560730] fec 42890000.ethernet eth0: registered PHC device 0
[ 2.567579] imx-dwmac 428a0000.ethernet: IRQ eth_lpi not found
[ 2.573824] imx-dwmac 428a0000.ethernet: User ID: 0x10, Synopsys ID: 0x52
[ 2.580662] imx-dwmac 428a0000.ethernet: DWMAC4/5
[ 2.585448] imx-dwmac 428a0000.ethernet: DMA HW capability register supported
[ 2.592568] imx-dwmac 428a0000.ethernet: RX Checksum Offload Engine supported
[ 2.599692] imx-dwmac 428a0000.ethernet: TX Checksum insertion supported
[ 2.606382] imx-dwmac 428a0000.ethernet: Wake-Up On Lan supported
[ 2.612538] imx-dwmac 428a0000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 2.620184] imx-dwmac 428a0000.ethernet: Enabled L3L4 Flow TC (entries=8)
[ 2.626958] imx-dwmac 428a0000.ethernet: Enabled RFS Flow TC (entries=10)
[ 2.633749] imx-dwmac 428a0000.ethernet: Enabling HW TC (entries=256, max_off=256)
[ 2.641316] imx-dwmac 428a0000.ethernet: Using 32/32 bits DMA host/device width
[ 5.034969] systemd[1]: /lib/systemd/system/proftpd.service:8: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
[ 9.808139] SMSC LAN8710/LAN8720 42890000.ethernet-1:00: phy_poll_reset failed: -110
[ 9.872078] fec 42890000.ethernet eth0: Unable to connect to phy
[ 9.879398] imx-dwmac 428a0000.ethernet eth1: Register MEM_TYPE_PAGE_POOL RxQ-0
[ 10.892065] imx-dwmac 428a0000.ethernet eth1: __stmmac_open: Cannot attach to PHY (error: -110)
[ 10.900872] imx-dwmac 428a0000.ethernet eth1: Register MEM_TYPE_PAGE_POOL RxQ-0
[ 11.904042] imx-dwmac 428a0000.ethernet eth1: __stmmac_open: Cannot attach to PHY (error: -110)
[ 12.838630] SMSC LAN8710/LAN8720 42890000.ethernet-1:00: phy_poll_reset failed: -110
[ 12.896039] fec 42890000.ethernet eth0: Unable to connect to phy
[ 12.899637] imx-dwmac 428a0000.ethernet eth1: Register MEM_TYPE_PAGE_POOL RxQ-0
[ 13.904038] imx-dwmac 428a0000.ethernet eth1: __stmmac_open: Cannot attach to PHY (error: -110)
[ 289.712584] imx-dwmac 428a0000.ethernet eth1: Register MEM_TYPE_PAGE_POOL RxQ-0
[ 290.740032] imx-dwmac 428a0000.ethernet eth1: __stmmac_open: Cannot attach to PHY (error: -110)
[ 322.123525] imx-dwmac 428a0000.ethernet eth1: Register MEM_TYPE_PAGE_POOL RxQ-0
[ 323.104042] imx-dwmac 428a0000.ethernet eth1: __stmmac_open: Cannot attach to PHY (error: -110)
[ 655.579526] imx-dwmac 428a0000.ethernet eth1: Register MEM_TYPE_PAGE_POOL RxQ-0
[ 656.612033] imx-dwmac 428a0000.ethernet eth1: __stmmac_open: Cannot attach to PHY (error: -110)

Re: i.MX93 EQoS Ethernet DMA Reset Failure with LAN8720A PHY (RMII Mode)

Step 1 — isolate EQoS

Temporarily disable FEC:

&fec {

        status = "disabled";

};

Then boot and check:

dmesg | grep -Ei "dwmac|stmmac|eqos|mdio|phy|LAN87"

You want to see the PHY under the EQoS/stmmac MDIO bus, not under 42890000.ethernet.


Step 2 — verify MDIO manually

If you have mdio-tool or phytool:

phytool read eth1/0/2

phytool read eth1/0/3

LAN8720A PHY ID should be readable. If reads timeout or return all 0xffff/0x0000, this is hardware/MDIO/reset/clock, not IP stack.


Step 3 — verify clock tree

cat /sys/kernel/debug/clk/clk_summary | grep -Ei "enet|qos"

Also measure the RMII reference clock on the pin. The NXP RMII thread specifically documents the need to generate the expected 50 MHz clock and the DTS update using <100000000>, <50000000>.


Step 4 — check driver patch status

grep -n "RMII_RESET_SPEED\|imx_dwmac_mx93_reset\|fix_soc_reset" \

drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c

If missing, apply/backport the i.MX93 RMII DMA reset patch. The upstream patch states it addresses i.MX93 reset logic and requires configuring correct interface speed under RMII mode to complete reset. (https://www.spinics.net/lists/netdev/msg894184.html)

タグ(1)
評価なし
バージョン履歴
最終更新日:
1週間前
更新者: