i.MX 8M Mini MDIO read is always zeros to KSZ8081RNA PHY.

Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX 8M Mini MDIO read is always zeros to KSZ8081RNA PHY.

Contributor III


I have a custom board using an i.MX 8M Mini on an Emcraft SOM, in which there is a KSZ8081RNA PHY used for Ethernet. I am testing in U-boot to verify the connection to the PHY. This is a RMII connection. The failure seems to be occurring in the initial MDIO connection, which then doesn’t load the appropriate driver. When I test MDIO reads, the response is always zeros. This occurs for all PHY addresses (mdio read 0-1f 0-5).

I have verified with another dev kit, that the PHY is functioning, by wiring the dev kit to the custom board MDIO/MDC lines. This produced valid receive responses.

I have verified with a scope that the MDIO/MDC signals exist. The transmit portion of the MDIO command is occurring, but the read portion is always low. This leads me to believe there may be a misconfiguration of the MDIO pin that is keeping the signal low. There is a 1K pull-up on the MDIO signal.

I currently have the MDIO pins set to (PAD_CTL_DSE7 | PAD_CTL_FSEL2 | PAD_CTL_ODE) in imx8mm_som.c (IMX8MM_PAD_ENET_MDIO_ENET1_MDIO, IMX8MM_PAD_ENET_MDC_ENET1_MDC). I also have the MDIO pins set to 0x37 in emcraft-imx8mm-som.dts (MX8MM_IOMUXC_ENET_MDC_ENET1_MDC, MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO). I’m not sure of the order if the dtb loads before the board_init() function, or the other way around.


Dan K.

0 Kudos
1 Reply

NXP TechSupport
NXP TechSupport

Hello Dan,

See below, please!

1. For 1.8V VDDIO

you will have to pull MDIO pin up to 1.8V via 1K/1.5K registor.

2. For 3.3V VDDIO

see warnings on i.MX8MM EVK schematic, please!


you should disable internal pull-up/down in software , and use external pull-up/down on hardware. MDIO pin should be pulled up to 3.3V via 1.5K resistor.

So please check your schematic according to above 2 items!

Have a nice day!



0 Kudos