Post Go back to editing
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to run ADIN1200 cable diagnostics with mii tool from u-boot?

Could not put ADIN1200 into cable diagnostics mode with useful results.

Disable link (LINK_EN) - works an no link will be established when plugging in a cable

mii read 0x01 0x0017
mii write 0x01 0x0017 0x1048

Enable diagnostic clock (DIAG_CLK_EN)

mii read 0x01 0x0012
mii write 0x01 0x0012 0x0406

Run diagnostic (CDIAG_RUN)

mii read 0x01 0xBA1B
0001 <-- already at 0001, never resetted to 0000
mii write 0x01 0xBA1B 0x0001
mii read 0x01 0xBA1B
0001 <-- still at 0001, no reset

Read diagnostics results (CDIAG_DTLD_RSLTS_0, CDIAG_DTLD_RSLTS_1) - no changes no matter what cable

mii read 0x01 0xBA1D
mii read 0x01 0xBA1E

Could not create a PoC for the reset via the loopback/short-circuit detection.

The linux adin kernel driver 5.11 in contrast to the manual, clears the bit for diagnostic clock enable (DIAG_CLK_EN). What is right here?

Please give me a little help on how to test the cable diagnostic feature with u-boot's mii. A kernel update to 5.11 is not possible at short notice.

[locked by: CatherineR at 11:11 AM (GMT -4) on 28 Mar 2023]
  •   can you please help answer this question?

  • Hi,


    The steps being used in question look to be correct and line up with the Datasheet description. One thing of note is that the registers that are needed to complete the cable diagnostics are in the ‘EMI registers’ , see the cable diagnostics section of the datasheet. These must be accessed using Clause 45.


    Can you try accessing these registers using a clause 45 read and write? This should fix the issue you are seeing.


    Best Regards,