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.

RTOS/AM5726: Endless loop in CSL_MDIO_phyRegRead

Part Number: AM5726

Tool/software: TI-RTOS

Hi,

I need help/advice with bring up of board.

background:

We make adaptation tom idk572x BSP and to our project.

We use different PHY (Microchip) .

Got endless loop in CSL_MDIO_phyRegRead.- "wait till transaction complete"

Stack

 

  • Hi,

    It looked you were porting the PRU-ICSS with a different PHY. We have a note you can take a look: www.ti.com/.../spracc8.pdf

    When the MDIO fails to access PHY_ID1_REG (register 0x02) with host API, for example, Board_getPhyIdentifyStat(), it usually implies that the PHY is not reset correctly or the PHY address is not configured correctly. The reset method may vary between TI and customer boards as a result of using
    different GPIOs.

    Regards, Eric
  • Hi Rasty,

    I saw e2e.ti.com/.../747118 was resolved. Is this issue still pending or we can close it? Thanks!

    Regards, Eric
  • Hi

    I'm back to EtherCAT integration.

    I managed to narrow down the problem.

    access to address 0x4B2A6000, (PRU revision?) sometimes crashes, sometimes returns 0.

    If it does not crash and return zero, program get stuck in PHY identification.

    PRUICSS_Handle  _PRUICSS_create(PRUICSS_Config *config ,int32_t instance)

    {

       PRUICSS_Handle handle;

       PRUICSS_V1_Object *object;

       PRUICSS_HwAttrs      const    *hwAttrs;

       uint32_t temp_addr = 0U;

       handle = (PRUICSS_Config *)&config[instance-1];

       hwAttrs = (PRUICSS_HwAttrs const *)handle->hwAttrs;

       object = (PRUICSS_V1_Object*)handle->object;

       object->instance = instance;

       temp_addr = (hwAttrs->prussCfgRegBase + CSL_ICSSCFG_REVID);

       object->pruicss_version = HWREG(temp_addr) & 0x7ffU;

       return(&config[instance-1]);

    }

    If I read the same address on idkAM7528 I get 0x47000201

    Line marked in bold above.

    What can It be?

    Thanks

    Rasty

  • Rasty,

    What the software release for this code? Let me check my colleague support PRU-ICSS.

    Regards, Eric
  • Hi
    We use exactly the same software.
    Looks like PRU is not there or memory map changed.

    Best regards
    Rasty
  • C:\ti\PRU-ICSS-EtherCAT_Slave_01.00.06.00

  • This problem with missing PRU is solved. Clock was missing. Many thanks to Carlo for hint.

    Next problem in CSL_MDIO_phyRegRead

    Endless loop in:

    /* wait for command completion */
    while(CSL_MDIO_USER_ACCESS_REG_GO_EN_0x1 ==
    HW_RD_FIELD32(baseAddr + CSL_MDIO_USER_ACCESS_REG(0U),
    CSL_MDIO_USER_ACCESS_REG_GO))
    {}

    Question: pin map is different from Evaluation board: We generated a new boardPadDelayInit.c with TI Pinmux tool.

    What is about: PRUICSS_pinMuxConfig(pruIcss1Handle, 0x0); // PRUSS pinmuxing ?

     

    Thanks

  • Please check may last post