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.

TMS570LC4357: Clarification Required on EMAC(0xFCF78000)->SOFTRESET(0x174) Behavior Affecting MDIO Module

Part Number: TMS570LC4357


Tool/software:

Hello,

I am currently working on the TMS570LC4357 hercules devkit and have encountered a behavior that I believe is not documented, or at least, I have not been able to find the relevant documentation. During my debugging process, I observed that triggering a soft reset through EMAC->SOFTRESET also resets the MDIO module, which appears to be an undocumented feature.

Could you please confirm this behavior for me? Specifically, after setting EMAC->SOFTRESET, I noticed that the MDIO module becomes disabled and its clock divider values are lost (NOT emac control softreset ) . Any assistance or clarification you could provide on this matter would be greatly appreciated.

The Reference manual mention in section 32.2.15.1 that  "Unlike the EMAC module, the MDIO and EMAC control modules cannot be placed in reset from a register inside their memory map."

Nevertheless the EMAC control module seems to be in reset via the RESET bit in the SOFTRESET register (section 32.3.2) whereas the EMAC module is in reset via the SOFTRESET bit in the SOFTRESET register (section 32.5.34).

  • Hi mc b,

    You are correct , i could see the behavior you mentioned.

    Here are MDIO registers before EMAC reset:

    Here are MDIO registers after reset:

    After comparing both i could see that MDIO state machine comes to idle and disabled the state machine:

    And also, PHY alive status became zero:

    And clock div value also became zero. Overall, the control register became its default value.

    And also, i agreed that this is not mentioned in TRM, i will note this behavior and we will include it in future version of TRM's.

    --
    Thanks & regards,
    Jagadish.