Trouble setting up the Ethernet MAC on STM32MP255F: failed to reset the dma
- February 6, 2026
- 2 replies
- 261 views
Hi,
We are trying to make use of the ethernet interface in this fashion:
- The board is a custom one with a soldered module from Karo, the qsmp-2550, that includes an stm32mp255fa.
- The eth2 is connected to a PHY (TI DP83869HM) in RGMII.
- The PHY is then configured to output Base100-FX to an SFP cage.
- There is no CLK125, we use ck_ker_eth2 configured at 125Mhz (confirmed in /sys/kernel/debug/clk/stm32_clk_summary), we use the `st,ext-phyclk` DT property.
The PHY is reachable via mdio using the CLI from mdio-tools and seem to be working as intended.
We checked that the PHY sends the correct clock, the RX one, with a scope: it does.
Then when enabling the link using `ip link set up eth0` we are greeted with:
```
root@qsmp-2550:~# ip link set up eth0
[ 16.583371] stm32-dwmac 482d0000.eth2 eth0: Register MEM_TYPE_PAGE_POOL RxQ-0
[ 16.586971] stm32-dwmac 482d0000.eth2 eth0: Register MEM_TYPE_PAGE_POOL RxQ-1
[ 17.123948] stm32-dwmac 482d0000.eth2 eth0: PHY [stmmac-1:00] driver [TI DP83869] (irq=67)
[ 18.135319] stm32-dwmac 482d0000.eth2: Failed to reset the dma
[ 18.135559] stm32-dwmac 482d0000.eth2 eth0: stmmac_hw_setup: DMA engine initialization failed
[ 18.144161] stm32-dwmac 482d0000.eth2 eth0: __stmmac_open: Hw setup failed
RTNETLINK answers: Connection timed out
```
Everywhere we looked points to a clock misconfiguration but for the life of me I can't find which one is missing/wrong.
I attached a full dmesg and device trees for optee (the RCC+RIF part), uboot and the overlay for linux. #include files can be found here if curious: https://github.com/karo-electronics/meta-karo (scarthgap branch).
There are extra lines in the logs due to dyndbg + i added a few printk in the stm32-dwmac driver (at the end of stm32mp2_set_mode) to dump a few variables as well as in the DP83869 driver to see if it is actually configuring the PHY.
