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.

DRA821U: how to update register of LINK_REG?

Part Number: DRA821U

Hi ,

We  add new PHY(Marvell 88Q2112) driver to our board,  the code of the driver is added,  and the PHY driver run into state LINKED,  but the state transit  to FOUND quickly,  then cycle with state FOUND->RESET_WAIT->ENABLE->LINK_WAIT->LINKED->FOUND.

After debug, we found that at the state LINKED, the program shall check the LINK_REG for link state through the method CSL_MDIO_isPhyAlive(),   but the LINK_REG is 0. so it transit to state FOUND. 

We thought the TI core code may update LINK_REG some where,  could you please help us to fingure out how to upadte it? 

BTW,  we use clause45 MDIO methods,  and the PHY link state is indicate via PHY register MMD:3, REGISTER:0x0901,  but the TI orginal code check link state via PHY REGISTER: 0x0000. 

  • Hi,

    Have you looked at the function EnetPhy_isPhyLinked() in enetphy.c ? The link status is updated in BMSR register.

    BTW,  we use clause45 MDIO methods,  and the PHY link state is indicate via PHY register MMD:3, REGISTER:0x0901,  but the TI orginal code check link state via PHY REGISTER: 0x0000. 

    The driver does not support clause 45 yet. See this document so you may have to do some adaptations.

    Regards

    Vineet