www.ti.com
SRIO Functional Description
Essentially, instead of the
The CPU initiates a TX queue teardown by writing to the TX Queue Teardown command register. Teardown of a TX queue will cause the following actions:
∙No new messages will be sent
∙All messages (single and
–Failing to complete the message TX would leave an active receiver blocked waiting for the final segments until the transaction eventually
–Note that normal Tx SM operation is to not send any more segments once an error response has been received on any segment. So if the receiver has been
∙When all
–If the queue is active, the teardown bit will be set in the next buffer descriptor in the queue. The peripheral completes the teardown procedure by clearing the HDP register, setting the CP register to 0xfffffffC, and issuing an interrupt for the given queue. The teardown command register bit is automatically cleared by the peripheral.
–If the queue is
–Because of topology differences between flow'sresponse, packets may arrive in a different order to the order of requests.
After the teardown process is complete and the interrupt is serviced by the CPU, software must
2.3.4.3Detailed Data Path Description
The CPPI module is the message passing protocol engine of the RapidIO peripheral. Messages contain application specific data that is pushed to the receiving device comparable to a streaming write. Messages do not contain read operations, but do have response packets.
The data path for this module uses the DMA bus as the DMA interface. The ftype header field of the received RapidIO message packets are decoded by the logical layer of the peripheral. Only Type 11 and Type 13 (transaction type1) packets are routed to this module. Data is routed from the priority based RX FIFOs to the CPPI module’s data buffer within the shared buffer pool. The mbox header fields are examined by the MailBox Mapper block of the CPPI module. Based on the mailbox, and message length, the data is assigned memory addresses within memory. Data is transferred via DMA bus commands to memory from the buffer space of the peripheral. The maximum buffer space should accommodate 256B of data, as that is the maximum payload size of a RapidIO packet. Each message in memory will be represented by a buffer descriptor in the queue.
2.3.4.4Reset and Power Down State
Upon reset, the CPPI module must be configured by the CPU. The CPU sets up the receive and transmit queues in memory. Then the CPU updates the CPPI module with the appropriate Rx/TX DMA state head descriptor pointer, so the peripheral knows with which buffer descriptor address to start. Additionally, the CPU must provide the CPPI module with initial buffer descriptor values for each data buffer. This step is described more extensively in Section 2.3.6 of the CPPI specification.
54 | Serial RapidIO (SRIO) | SPRU976 |