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/TMS320C6678: SGMII clock setup and EMAC example questions

Part Number: TMS320C6678

Tool/software: TI-RTOS

Hi.

I keep asking questions.

We use the SerdesSGMII clock at 156.25MHz.


So when I used MCSDK, I changed gel and platformLib from CFGPLL value from 0x41 to 0x81.

We have run HelloWorld and Client examples without any problems.

However, there was a problem from changing to PROCESSOR SDK TI-RTOS.

NIMU_EmacClientExample and NIMU_EmacExample do not work normally.

In this example, we could not find a function to set the SGMII CFGPLL.

It is remembered that MCSDK called platform_init.

..................
void configSerdes ()
{
    CSL_SGMII_STATUS sgmii_status;
    
    / * Unlock the chip configuration registers to allow SGMII SERDES registers to
    * be written * /
    CSL_BootCfgUnlockKicker ();
    
    / * Configure the SERDES * /
    / * Multiply to be 8 with Quarter Rate in the Rx registers * /
    CSL_BootCfgSetSGMIIConfigPLL (0x00000081);
..................

How should this be applied in PROCESSOR SDK TI-RTOS?

How can I make Ethernet communication using 156.25MHz?

  • Hi,

    Modify the gel file located in ~/ti/pdk_c667x_2_0_7/packages/ti/platform/evmc6678l/gel:
    /* Multiply to be 8 with Quarter Rate in the Rx registers */
    - SGMII_SERDES_CFGPLL = 0x00000041;
    + SGMII_SERDES_CFGPLL = 0x00000081;

    Rebuild the platform lib and try again.

    Best Regards,
    Yordan
  • Thank you for answer.

    I was mistaken for a moment.

    I thought the board to test was a board using TI PHY, but it was not.

    It was a board using Vitesse PHY.

    The Vitesse PHY was a problem that had to be set using the MDIO for the SGMII interface.


    [Question]
    If the PROCESSOR SDK RTOS NIMU_EmacClientExample and
      Does NIMU_EmacExample not cause problems when programmed into Nor / Nand?

    I did not find a point to call the configSerdes function.

    When CCS is in Debug mode, it is initialized by a call to CSL_BootCfgSetSGMIIConfigPLL.

    Do I have to test the configSerdes code myself?

    Thank you!!
  • Does NIMU_EmacExample not cause problems when programmed into Nor / Nand?

    I've not come across reports that they cause problems when programmed into memory. However you will need to have the bootloader installed first. It should initilize the SoC and then load the corresponding example.

    Do I have to test the configSerdes code myself?

    Yes, you should test it yourself.

    Best Regards,
    Yordan