Information about MDIO module in J721E/J7200/J721S2/J784S4?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
MDIO module in J7 devices supports three different operating modes like STATECHNAGE Mode, Manual Mode, and Normal Mode operation.
In MDIO STATECHANGE Mode, PHY read/write will be handled by MDIO H/W module as per MDIO user configuration register.
But, MDIO module has some H/W issue, which limits to use of STATECHANGE Mode. Please find the details from below Errata Link (i2329).
As per above Errata, we need to use MDIO in Manual Mode, which needs MDIO operations to be emulated on MDIO manual mode registers by making MDIO data & MDIO clock lines High & Low (which is as good as emulating MDIO operation on GPIOs but here we are emulating on MDIO pins itself).
MDO STATECHANGE Mode is enabled until RTOS SDK release 8.4, as these releases will not have support for Manual mode.
Above SDK 8.4 releases have support for MDIO manual mode, and by default configured in Manual mode.
Manual Mode MDIO operations depends upon below read/write APIs in RTOS SDK.
Mdio_manualModePhyRegRead22() for phy register read in C22 Mode.
Mdio_manualModePhyRegWrite22() for writing into phy registers in C22 Mode.
1. C45 access is not supported from RTOS SDK in Manual Mode. If required customer need to write C45 access by referring the C22 read/write APIs.
2. Also, if any change in PHY access format like different preamble size or No preamble it needs to corrected in above read/write APIs as per PHY spec.
3. TI SDK offering tested with TI PHYs, which can support suppression of preamble in MDIO access.
4. Above MDIO Errata not applicable for J784S4, So default J784S4 configured in STATECHANGE Mode.
Disabling MDIO Manual Mode in RTOS SDK:
If you want to proceed/check with MDIO STATECHNAGE Mode, please remove below from “RTOS-SDK/pdk/packages/ti/drv/enet/enet_component.mk” file.
# Enable MDIO manual mode in j721e SoC due to errata i2329. ifeq ($(SOC),$(filter $(SOC), j721e j7200 j721s2)) ENET_CFLAGS += -DENABLE_MDIO_MANUAL_MODE Endif
For integration of PHY into enet and configuration from EthFw, please refer to Porting Guide in EthFw User Guide and PHY Integration Guide from PDK.
For more details, please refer to TRM and SDK Documentation.