www.ti.com
SRIO Functional Description
The type of received packet determines how the packet routing is handled. Reserved or undefined packet types are destroyed before being processed by the logical layer functional blocks. This prevents erroneous allocation of resources to them. Unsupported packet types are responded to with an error response packet. Section 2.1.2.4 details the handling of such packets.
2.1.2.4SRIO Packet Ftype/Ttype
The type of SRIO packet is determined by the combination of Ftype and Ttype fields in the packet. Table 2 lists all supported combinations of Ftype/Ttype and the corresponding decoded actions on the packets.
Table 2. Packet Type
Ftype | Ttype | Packet Type |
Ftype=0, | Ttype=don'tcare |
|
Ftype=2, | Ttype=0100b, | NREAD |
| Ttype=1100b, | Atomic inc |
| Ttype=1101b, | Atomic dec |
| Ttype=1110b, | Atomic set |
| Ttype=1111b, | Atomic clr |
| Ttype=others, |
|
Ftype=5, | Ttype=0100b, | NWRITE |
| Ttype=0101b, | NWRITE_R |
| Ttype=1110b, | Atomic t&s |
| Ttype=others, |
|
Ftype=6, | Ttype=don'tcare, | SWRITE |
Ftype=7, | Ttype=don'tcare, | Congestion |
Ftype=8, | Ttype=0000b, | Mtn Rd |
| Ttype=0001b, | Mtn Wr |
| Ttype=0010b, | Mtn Rd Resp |
| Ttype=0011b, | Mtn Wr Resp |
| Ttype=0100b, | Mtn |
| Ttype=others, |
|
Ftype=10, | Ttype=don'tcare, | Doorbell |
Ftype=11, | Ttype=don'tcare, | Message |
Ftype=13, | Ttype=0000b, | Resp(+Dbll Resp) |
| Ttype=0001b, | Message Resp |
| Ttype=1000b, | Resp w/payload |
| Ttype=other, |
|
Undefined Ftype (1,3,4,9,12,14,15):
Packet type definition:
#define REQ_MAINT_RD | 0x80 //0b10000000 | // ftype=8 | |
#define REQ_MAINT_WR | 0x81 | //0b10000001 | // ftype=8 |
#define REQ_MAINT_PW | 0x84 | //0b10000100 | // ftype=8 |
#define REQ_ATOMIC_INC 0x2C //0b00101100 | // ftype=2 | ||
#define REQ_ATOMIC_DEC 0x2D //0b00101101 | // ftype=2 | ||
#define REQ_ATOMIC_SET 0x2E //0b00101110 | // ftype=2 | ||
#define REQ_ATOMIC_CLR 0x2F //0b00101111 | // ftype=2 | ||
#define REQ_ATOMIC_TNS 0x5E //0b01011110 | // ftype=5 | ||
#define REQ_NREAD | 0x24 | //0b00100100 | // ftype=2 |
#define REQ_NWRITE | 0x54 | //0b01010100 | // ftype=5 |
#define REQ_NWRITE_R | 0x55 | //0b01010101 | // ftype=5 |
#define REQ_SWRITE | 0x60 | //0b01100000 | // ftype=6 |
#define REQ_DOORBELL | 0xA0 //0b10100000 | // ftype=10 |
SPRU976 | Serial RapidIO (SRIO) | 23 |