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.

SRIO is not working after loading GEL file

Hi

I am using SRIO on 6678EVM. Previously, I did not load GEL file. My program is working. Since I want to read and write DDR3, I load evm6678l.gel from PDK in to DSP. After that, the SRIO link is not working. When I remove the GEL file, the link works again. 

So can anyone tell me which part of code in the GEL may interference my SRIO link? The GEL file I use is in the attachment.

Thank You.

evmc6678l.gel

  • Hi,
    Have you modified any code on evm6678.gel? Better to use TI provided gel file.
    Have you using TI provide SRIO example for your testing? If yes, share MCSDK project path.
    Thanks,
  • Hi Ganapathi

    I did not modify any code on evm6678.gel.
    I use loopbackDioIsr example from PDK_6678 as a base to suit for our project, but not from MCSDK.
    It is imported from : C:\ti\pdk_C6678_1_1_2_6\packages\ti\drv\exampleProjects\SRIO_LoopbackDioIsrexampleproject
    With/without the evmc6678.gel, the original loopbackDioIsr example project works fine. But with gel file, the customized loopbackdioisr example project does not work. In our project, we need to talk with switch, and transfer data to the other DSP. So, in the SRIO configuration function (SrioDevice_init),I disabled the loopback, set it to normal mode, and make some small changes in the Base Routing Register to suit our need, but leave other configuration untouched.

    I notice that GEL file program the PLL. I am wondering whether those configuration massed up the SRIO clock, or not? Because without GEL file, this modified project worked.

    Thank You.
    Xining Yu

  • Hi,

    For my understanding, Gel file initialize the PLL and DDR memory. It does not effect your test application.

    In failure case, which function is failled on your SRIO test code.

    Thanks,

  • HI, Ganapathi
    After sending SRIO packet by using Srio_sockSend_DIO function, we use "while(! srioLsuIsrServiced)" to indicate packets had been send out.

    However, srioLsuIsrServiced remains at 0.

    srioLsuIsrServiced is defined and used the same way as lookbackDioIsr example project.

    Xining Yu

  • Hi,
    I am not able to find out your issue. Privide step by step procedure for run your test code, with gel and with out gel mode.(Ex: connect power, load gel, load binary and run).
    Thanks,
  • Hi Ganapathi
    After loading GEL file, 6678 cannot successfully write data through SWITCH to the other side DSP. From reading the Port error detect CSR on Tsi 578 switch, it shows an implementation specific error is detected. That means:

    Detected Logical/Transport error per port. This bit indicates one or more of the following illegal field errors:
    • Reserved transport type (TT) detected (TT field = 10 or 11 for all but maintenance packets with hop count = 0)
    • Maximum retry threshold exceeded
    • Unmapped destination ID error
    • Parity Error in Lookup Table
    • ISF TEA error
    • Multicast TEA error
    • Port error

    However, the completion code is OK on DSP SRIO register.

    So, from the above, can you tell me what cause the problem? BTW, without GEL file, no error is detected.

    Thank You.
    Xining

  • Hi,

    You told "the completion code is OK on DSP SRIO register", that means every thing OK on DSP side. The gel file is not required, If you implemented all the initialization steps on your customized code.

    I think gel file is not required for your testing.

    Thanks,
  • Hi

    But I need to use DDR3 on the 6678EVM board. To use DDR3, I need gel file.

    So, how can I solve this problem?

    Thank You.
    Xining
  • The platform_init function initialize the DDR3 registers, you can use this function to initialize the DDR. For more information refer below MCSDK code.
    platform_init() - "\ti\pdk_C6678_1_1_2_6\packages\ti\platform\evmc6678l\platform_lib\src\platform.c"
    DDR3Init() - "\ti\pdk_C6678_1_1_2_6\packages\ti\platform\evmc6678l\platform_lib\src\evmc6678.c"

    Thanks,