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/TMS320C6678: SRIO Doorbell communication throwing ERROR bit/DONE bit Randomly

Part Number: TMS320C6678

Tool/software: Code Composer Studio

Hi,

Scenario: 
I have one External Device which is communicating with my C6678 Chip through SRIO Interface.

Issue:
The External device trying to provide C6678 chip with DOORBELL interrupt,
Sometimes its triggering the Doorbell interrupt and sending the status as DONE Status.
Sometimes its not triggering the Doorbell and sending ERROR Status.

Question:
I want to know What are all the cases to throw ERROR status from C6678 SRIO to External Chip.
Is the status DONE/ERROR is controlled by Firmware Code or its Hardware dependant?

Regards,
Manohar

  • The team is notified. They will post their feedback directly here.

    BR
    Tsvetolin Shulev
  • Hi Manuhar,

    This is stated in Section 2.3.5 Doorbell Operation of the Serial RapidIO (SRIO) for Keystone Devices User Guide (www.ti.com/.../sprugw1b.pdf ):
    " Since it may be required to interrupt the CPU for both data and control packet processing separately, separate circular buffers are used, and DOORBELL packets need to distinguish between them for interrupt servicing. If any reserved bit in the DOORBELL info field is set, an error response is sent."

    Other than that the errors (recoverable) are described in: 2.4 Error Detection and Recovery of the RapidIO Interconnect Specification.
    RapidIO specification is divided in two parts:
    www.rapidio.org/.../RapidIO-3.1-Specification.pdf
    www.rapidio.org/.../msg_logical.pdf

    Is the status DONE/ERROR is controlled by Firmware Code or its Hardware dependant?

    Per my understanding (from Section 2.3.5 of the SRIO for Keystone User Guide) this is handled by firmware.

    Best Regards,
    Yordan