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.

CCS/TMDSEVM6678: Please tell me how I can use sgmii0 and sgmii1 at the same time

Part Number: TMDSEVM6678

Tool/software: Code Composer Studio

hi~

I checked the nimu test through the mavel chip connected to sgmii1 on the evm board.


I have a custom board using C6678 DSP, each SGMII0 and SGMII1 have a mavel(88e1111) and are connected via RJ-45 port.


SGMII1 was set as below as the EVM board was configured, and a ping test was conducted with nimu helloworld example.
1. configSerdes(); <-- platform.c
2. Init_SGMII(1); <-- platform.c
3. nimu Helloworld example run
4. ping fail

For the SGMII0 test, the setting was changed as follows to confirm normal operation.
1. configSerdes(); <-- platform.c
2. Init_SGMII(0); <-- platform.c
3. emac_port_mode[PLATFORM_MAX_EMAC_PORT_NUM] ={
//PLATFORM_EMAC_PORT_MODE_AMC,
PLATFORM_EMAC_PORT_MODE_PHY,
PLATFORM_EMAC_PORT_MODE_PHY
}
4. nimu Helloworld example run
5. ping fail
6. In nimu_eth.c, gTxPort is changed to 1 (default) to 0.
7. ping ok

In nimu_eth.c, it seems that communication is possible only with one port by using the same mac as port 0 in nimu_get_emac_info() unconditionally.
Is there a way to connect SGMII0 and SGMII1 to each of Marvel(88e1111) and RJ-45 to use both?

Using one nimu Helloworld, I only launched one echo server Deamon and couldn't find a setup and method that can be used with both SGMII0 and SGMII1.

  • Hi,

    For TI 6678 EVM, the SGMII 1 is connected to RJ-45 and tested with NDK Helloworld example. SGMII 0 is accessible through the AMC backplane, we don't have test setup for this. It seems you can simply change the NIMU driver code to do the test on SGMII 0.

    For SGMII 1, 

    >>>>>>>>SGMII1 was set as below as the EVM board was configured, and a ping test was conducted with nimu helloworld example.
    1. configSerdes(); <-- platform.c
    2. Init_SGMII(1); <-- platform.c
    3. nimu Helloworld example run
    4. ping fail >>>>>>> I don't understand how it failed. If this is TI EVM, the code should work as it is.

    Now for how to make SGMII 0 and SGMII work simultaneously, you may refer to this e2e, there are reference code and document summarized changes:

    Regards, Eric