I’m currently trying to get my KSZ9031 to show up on MDIO bus. In hardware, I have it set to address 1, and the same is set in the device tree. I’m using Jetson Orin AGX Industrial for my module. On our board, we are using both the KSZ9031 for RGMII and the Marvell Phy for MGBE, as seen in the dev kit. The Marvell Phy sits on MDIO address 0. I have attached dmesg output. The main file I have been editing for the device tree changes has been “tegra234-base-overlay.dtsi”.
Files included below:
tegra234-base-overlay.dtsi
pinmux
gpio default config
dmesg output
Things I have tried:
Verified all hardware populations, voltage rails present, 25mhz clock present for the KSZ9031.
Multiple device trees from other people on the forum, while trying to keep the MDIO bus address the same
Tried pull-up and no pull-up on the RX lines for RGMII
Followed the developer guide for setting up RGMII
Tried dramatically increasing reset and post delay timing inside of the device tree for the KSZ9031.
Tried changing the MDIO address in hardware and software to address of 2, but that didn’t work either
Tried removing our pull up off the reset pin on the KSZ9031 and add pull up on module
Tried removing our pull up off the reset pin on the KSZ9031 and no pull up on the module to allow the software to drive the reset pin.
I have dumped the device tree in linux to verify my changes were running in the active device tree.
I’m getting some MDIO transactions which are seen below:
Before Linux Boots:
After Linux Boots when driver is trying to read the MDIO address
dmesg1.txt (1.8 KB)
tegra234-base-overlay.txt (20.6 KB)
pinmux.txt (65.7 KB)
gpio.txt (3.5 KB)




