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.

chip to chip SRIO communication

Hi,

I am working on EVM6670. I want to make SRIO communication between the DSP on each EVM. Tried using the chip to chip SRIO IPC example, but it is not working for me.

My setup: EVM mounted on the TestJig and the two SRIO lines out of the testjig is connected via Infiniband cable.

1. Requirement in the readme  says "Two EVMs, connected to one another via breakout boards is required" . I am not clear with the word "breakout board". What is expected on the breakout board? is it a SRIO switch?

2. The init script mentioned in the readme is not available in the CPSW Functions. it is available in different options.

I am getting the following message in the console.

[C66xx_0] Local Core ("CORE0") starting

[C66xx_0] Local Core ID: 0

[C66xx_0] Global Core ID: 0

[C66xx_0] 

[C66xx_0] -----------------------Initializing---------------------------

[C66xx_0] Core 0 : L1D cache size 4. L2 cache size 0.

[C66xx_0] Core 0 : Memory region 0 inserted

[C66xx_0] Port 0 did not initialize

[C66xx_0] Port 1 did not initialize

[C66xx_0] Port 2 did not initialize

[C66xx_0] Port 3 did not initialize

[C66xx_0] Core 0: SRIO Driver has been initialized

[C66xx_1] Local Core ("CORE1") starting

[C66xx_1] Local Core ID: 1

[C66xx_1] Global Core ID: 1

[C66xx_1] Core 1: Waiting for SRIO to be initialized.

[C66xx_1] Core 1: SRIO can now be used.

[C66xx_1] localQueueName=CORE1

[C66xx_1] remoteQueueName=CORE3

[C66xx_1] Core 1: tsk0 starting

[C66xx_0] localQueueName=CORE0

[C66xx_0] remoteQueueName=CORE2

[C66xx_0] Core 0: tsk0 starting

[C66xx_0] Global Core 0: Sending packets to an off-chip core.

[C66xx_0] Global Core 0 attempting to open remote board Queue CORE2

[C66xx_1] Global Core 1: Sending packets to an off-chip core.

[C66xx_1] Global Core 1 attempting to open remote board Queue CORE3

[C66xx_0] ti.sdo.ipc.heaps.HeapBufMP: line 619: E_noBlocksLeft: No more blocks left in buffer (handle = 0x845618, requested size = 112)

[C66xx_0] ti.sdo.ipc.nsremote.NameServerMessageQ: line 227: E_outOfMemory: MessageQ_alloc faild from heap: 0

[C66xx_0] ti.sdo.ipc.MessageQ: line 383: assertion failure: A_invalidMsg: Invalid message

[C66xx_0] xdc.runtime.Error.raise: terminating execution

[C66xx_1] ti.sdo.ipc.heaps.HeapBufMP: line 619: E_noBlocksLeft: No more blocks left in buffer (handle = 0x845618, requested size = 112)

[C66xx_1] ti.sdo.ipc.nsremote.NameServerMessageQ: line 227: E_outOfMemory: MessageQ_alloc faild from heap: 0

[C66xx_1] ti.sdo.ipc.MessageQ: line 383: assertion failure: A_invalidMsg: Invalid message

[C66xx_1] xdc.runtime.Error.raise: terminating execution

Why none of the ports are initialized?

3. We need a SRIO DirectIO communication between the EVMs. Do you have any similar example using DirectIO.

4. One general question, We are currently using Advantech EVM, which has srio lines routed to  amc ports 8-11. It will be advantage for us if an  EVM whose SRIO lines routed to  amc ports 4-7 is available.  Is any such EVMs available.

  • Dhanasekaran SS said:
    1. Requirement in the readme  says "Two EVMs, connected to one another via breakout boards is required" . I am not clear with the word "breakout board". What is expected on the breakout board? is it a SRIO switch?

    https://estore.ti.com/CI2EVMBOC--P2685.aspx

    Dhanasekaran SS said:
    Why none of the ports are initialized?

    Not enough info to help diagnose, it could be a physical connection issue, or a setup issue. 

    I would not start with the IPC example.  It is much more complex than you probably need.  Try using the PDK examples from the MCSDK:

    http://software-dl.ti.com/sdoemb/sdoemb_public_sw/bios_mcsdk/latest/index_FDS.html

    C:\ti\pdk_C6678_1_1_2_6\packages\ti\drv\srio\example - Just take it out of loopback.  There are other posts on how to do this.

    Dhanasekaran SS said:
    3. We need a SRIO DirectIO communication between the EVMs. Do you have any similar example using DirectIO.

    See above examples.  There are other examples posted to e2e to show this too.

    Dhanasekaran SS said:
    4. One general question, We are currently using Advantech EVM, which has srio lines routed to  amc ports 8-11. It will be advantage for us if an  EVM whose SRIO lines routed to  amc ports 4-7 is available.  Is any such EVMs available.

    No, there is only one EVM and it uses ports 8-11.

    Regards,

    Travis

  • Hi Travis,

    Thanks for the answer. 

    Now I am able to communicate between two EVMs.   I have changed PLL and operating rate of Tx and Rx  to run SRIO @ 5Mbps data rate.