DP83TC811R-Q1: TDR_AUTO register set unexpection value after power on.

Part Number: DP83TC811R-Q1

Tool/software:

PHY DP83TC811R-Q1 

from the Datasheet, TDR_AUTO register  the auto diagnostic is disable as default,

from our test, we notice that PHY ship will enable TDR cable diagnostic after power on, it is too strange, make PHY spend too long time can not be link up until auto diagnostic disable?

our ethernet cable always is connected during testing.

  • Hi Yetao,

    Please share with me how you are determining that TDR has been enabled after power on. How long is the link up time you are noticing? Please share with me your initialization sequence. Is register 0x9 modified anywhere in your initialization? 

    Thanks,

    David

  • hello David,

    Thank you for your reply!

    currently I notice we access the register (0x00 - 0x1F) with indirect access method, it may be the concurrent access issue impact the register value update, I am investiagting on it, will feedback to you once finish my analysis.

  • hello David, do we have a detail datasheet to introduce the MMD mapping for the Clause 45 registers,

    for example, I read manual "SNR Register 0x0197 " register, but I dont know what is the MMD field, is it in 0x1 or 0x1F, in your docuemnt, it dont mention.

    please give a advise.

  • Hi Yetao,

    Registers 0x0 - 0x1F are available through direct access.

    Registers in MMD1F are shown in section 8.6.21 - 8.6.102.

    Registers in MMD1 are shown in section 8.6.103 - 8.6.107.

    Thanks,

    David

  • hello David,

    I am a bit confused , which datasheet version you refer to,

    I read the docuement, it show Section 8.6.101 register in MMD1 

    the document is 

  • Hi Yetao,

    Apologies. I was referring to DP83TC811S-Q1 datasheet.

    In DP83TC811R-Q1 datasheet, the below is true:

    Registers 0x0 - 0x1F are available through direct access.

    Registers in MMD1F are shown in section 8.6.21 - 8.6.99.

    Registers in MMD1 are shown in section 8.6.100 - 8.6.104.

    Thanks,

    David

  • hi David,

    after we keep our board reboot testing, we noticed there are about 0.6% (about 4 failure case of 540 reboot ) cases will be fail due to PHY ID is not consistent.

    PHY ID read from  0x02 and 0x03 register

    the success case log to show as below:

    [2025-08-04 19:16:39.653] [VH2AVB] phySearchFrom: return:0 with phyAddress: 0x00000000
    [2025-08-04 19:16:39.653] [VH2AVB] PHY ID Detection [0]: driverData->phyId: 2000A250
    [2025-08-04 19:16:39.653] [VH2AVB] PHY ID Detection [1]: driverData->phyId: 2000A250
    [2025-08-04 19:16:39.653] [VH2AVB] PHY ID Detection [2]: driverData->phyId: 2000A250
    [2025-08-04 19:16:39.669] [VH2AVB] PHY ID Detection [3]: driverData->phyId: 2000A250
    [2025-08-04 19:16:39.669] [VH2AVB] PHY ID Detection [4]: driverData->phyId: 2000A250
    [2025-08-04 19:16:39.669] [VH2AVB] PHY ID Detection [5]: driverData->phyId: 2000A250
    [2025-08-04 19:16:39.679] [VH2AVB] PHY ID Detection: return value: 0 with PHY with ID 2000A250
    [2025-08-04 19:16:39.685] [VH2AVB] using extended PHY driver "TI DP83TC811R" for PHY with ID 0x2000A250

    but  the fail case log to show as following:

    [2025-08-05 10:45:15.235] [VH2AVB] phySearchFrom: return:0 with phyAddress: 0x00000000
    [2025-08-05 10:45:15.245] [VH2AVB] PHY ID Detection [0]: driverData->phyId: 2000A250
    [2025-08-05 10:45:15.245] [VH2AVB] PHY ID Detection [1]: driverData->phyId: 2000A250
    [2025-08-05 10:45:15.245] [VH2AVB] PHY ID Detection [2]: driverData->phyId: 20002000
    [2025-08-05 10:45:15.261] [VH2AVB] PHY ID Detection: return value: 1 with PHY with ID 00000000

    or 

    [2025-08-04 19:13:19.738] [VH2AVB] PHY ID Detection [0]: driverData->phyId: 2000A250
    [2025-08-04 19:13:19.754] [VH2AVB] PHY ID Detection [1]: driverData->phyId: 2000A250
    [2025-08-04 19:13:19.754] [VH2AVB] PHY ID Detection [2]: driverData->phyId: 2000A250
    [2025-08-04 19:13:19.754] [VH2AVB] PHY ID Detection [3]: driverData->phyId: 2000A250
    [2025-08-04 19:13:19.754] [VH2AVB] PHY ID Detection [4]: driverData->phyId: 2000A250
    [2025-08-04 19:13:19.754] [VH2AVB] PHY ID Detection [5]: driverData->phyId: 20002000
    [2025-08-04 19:13:19.754] [VH2AVB] PHY ID Detection: return value: 1 with PHY with ID 00000000

    We can see the PHY ID is 20002000 (hex) , which is wrong.

    any idea why the PHY ID is not consistent?

  • Hi Yetao,

    Can you share the MDC and MDIO waveforms in good and fail case? This will help to identify the difference.

    Thanks,

    David

  • it will be a challenge to capture the waveforms, our test case is automatically running, mostly time the reboot is fine, also that is product, is not a develop sample, no probe layout. I will contact with our EE engineer to see how to do. 

  • Hi Yetao,

    Will you be able to capture the MDC/MDIO waveforms? This will be vital to understand what is going on. 

    Can you let me know why the PHY_ID is being read 5 times? I see the correct value is shown for the first several times. 

    In the fail cases, are you able to see link up? Can you read/write other registers?

    Please share your schematic with me for review.

    Thanks,

    David