DP83TC812S-Q1: MDIO communication failed

Part Number: DP83TC812S-Q1
Other Parts Discussed in Thread: AM62A7, DP83TC812EVM-MC

Tool/software:

HI,

We tried to adapt the DP83TC812S chip on the new hardware,The main control chip used is AM62A7.

When the system started, the Kernel reported an error, indicating that the PHY chip could not be found.

mdio_bus 8000f00.mdio: MDIO device at address 0 is missing.

I confirmed the PHY address anyway and the PHY address is correct.

And I found that if I re-boot the Uboot boot with the following command in the Uboot boot, the PHY chip can be found

load mmc 0:1 0x82000000 efi/boot/bootaa64.efi;bootefi 0x82000000 fde918b0

After the Uboot is restarted, run the following command to log in to the system and check that the PHY works properly.

load mmc 0:2 0x82000000 /boot/Image;load mmc 0:2 0x88000000 /boot/dtb/ti/k3-am62a7-sk.dtb;booti 0x82000000 - 0x88000000

davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83TC812CS2.0

I have examined the hardware carefully and I think they are fine.

If you reboot into the system after booting using the efi I mentioned above, the PHY chip behaves normally.

I have the following questions:
1. Does UEFI boot perform additional operations on PHY chip-related pins?
2. In addition to the following inspection documents, are there any other references?(www.ti.com/.../snla431.pdf
3. I think the reason for this problem is that MDIO cannot contact PHY chip. What is the possible software reason?

Thanks

Yuwei

  • Hi Yuwei,

    When the system started, the Kernel reported an error, indicating that the PHY chip could not be found.

    Fullscreen
    1
    mdio_bus 8000f00.mdio: MDIO device at address 0 is missing.
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    I confirmed the PHY address anyway and the PHY address is correct.

    The error message "MDIO device at address 0 is missing." usually means that the device tree is not configured properly or there is something wrong with the HW connection.

    You can refer to this app note, section 3, on how to configure the device tree properly.

    https://www.ti.com/lit/an/snla450/snla450.pdf?ts=1722275327237&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FDP83867E

    Best regards.

    Melissa

  • Hi Melissa

    We replaced the Ethernet counterpart.
    Originally, the connection was from TI DP83TC812S to TI DP83TC812EVM-MC.

    We've changed the connection and now use TI DP83TC812S and NXP TJA1100 connections.

    Everything is working fine at the moment.

    Has TI verified the connectivity of the TI DP83TC812S and the TI DP83TC812EVM-MC?

    Thanks

    Yuwei

  • Hi Yuwei,

    Just to clarify, is your issue still with the AM62A7 recognizing the PHY through MDIO/MDC?

    Originally, the connection was from TI DP83TC812S to TI DP83TC812EVM-MC.

    We've changed the connection and now use TI DP83TC812S and NXP TJA1100 connections.

    Are you saying you linked the TJA1100 with the DP83TC812S and now the PHY is being recognized? If yes, are you sure the DP83TC812S and DP83TC812EVM were configured as Master and Slave correctly? Could you provide a block diagram of your setup with the DP83TC812MCEVM and the TJA1100?

    Yes, our DP83TC812 will link up with the DP83TC812 EVM as long as one is configured for master and one is configured in slave mode. You can refer to the user's guide on how to do this on the EVM. https://www.ti.com/lit/ug/snlu292a/snlu292a.pdf?ts=1722360270404&ref_url=https%253A%252F%252Fwww.google.com%252F

    Best regards,

    Melissa

  • Hi Melissa

    Just to clarify, is your issue still with the AM62A7 recognizing the PHY through MDIO/MDC?

    Yes, this issue still exists with the TI DP83TC812S and TI DP83TC812EVM-MC connections.

    After troubleshooting the driver problem, it shows that the PHY chip cannot be read from address 0, which I think is the main problem.

    I checked the necessary conditions for the hardware, including power supply and crystal oscillator.

    I also confirmed that there is no problem with the address of the PHY.

    Are there any special startup requirements for TI's PHY chip when it is used?

    Are you saying you linked the TJA1100 with the DP83TC812S and now the PHY is being recognized? If yes, are you sure the DP83TC812S and DP83TC812EVM were configured as Master and Slave correctly? Could you provide a block diagram of your setup with the DP83TC812MCEVM and the TJA1100?

    I don't think it has anything to do with the master-slave mode whether the PHY chip can be identified by MDIO.

    The communication method of MDIO I use is C22.

    Do you have any other troubleshooting suggestions?

    Thanks

    Yuwei

  • Hi Yuwei,

    Have you been able to check the device tree (.dts) file configurations following the guide I linked above?

    As I mentioned before, the error message "MDIO device at address 0 is missing." usually means that the device tree is not configured properly.

    Best regards.

    Melissa

  • Hi Melissa

    After inspection DP83TC812S it was found that another PHY chip had to be connected.

    MDIO communication can only take place after the connection.

    Is this necessary to use this PHY chip?

    I now want to connect with two DP83TC812S and the mode is configured as slave and master, respectively.

    I can't do MDIO communication to any of the DP83TC812S.

    How should I fix this?

    Thanks.

    Yuwei

  • HI Yuwei,

    It's possible the PHY was in sleep mode until you connected it with another PHY which sent a WAKE pulse over the line.

    You can confirm this by probing the INH pin before and after connecting it with another PHY. If INH is HIGH, that means it is awake. Otherwise, it is in sleep mode.

    If it is in sleep mode, please make sure that the PHY is the correct power supplies on the VDD rails, VSLEEP, and WAKE pins. 

    Best regards,

    Melissa

  • Hi Melissa

    The problem has been solved, thanks for the support

    Thanks.

    Yuwei

  • Hi Yuwei,

    Glad it was solved. I am going to close this thread now. 

    Best regards,

    Melissa