Visible to Intel only — GUID: slt1490746701327
Ixiasoft
Visible to Intel only — GUID: slt1490746701327
Ixiasoft
6. Software Interface
- Standard RapidIO capability registers—CARs
- Standard RapidIO command and status registers—CSRs
- Extended features registers
- Implementation defined registers
- Doorbell specific registers
Some of these register sets are supported by specific RapidIO IP core layers only. This chapter organizes the registers by the layers they support. The Physical layer registers are described first, followed by the Transport and Logical layers registers.
All of the registers are 32 bits wide and are shown as hexadecimal values. The registers can be accessed only on a 32-bit (4-byte) basis. The addressing for the registers therefore increments by units of 4.
The following sets of registers are accessible through the System Maintenance Avalon® -MM slave interface.
- CARs—Capability registers
- CSRs—Command and status registers
- Extended features registers
- Implementation defined registers
A remote device can access these registers only by issuing read/write MAINTENANCE operations destined for the local device. The local device must route these transactions, if they are addressing these registers, from the Maintenance master interface to the System Maintenance slave interface. Routing can be done by a Platform Designer (Standard) system or by a user-provided design.
The doorbell registers can be accessed through the Doorbell Avalon® -MM slave interface. These registers are implemented only if you turn on Doorbell Tx enable or Doorbell Rx enable in the RapidIO parameter editor. If you turn on only Doorbell Rx enable, only the Rx-related doorbell registers are implemented. If you turn on only Doorbell Tx enable, only the Tx-related doorbell registers are implemented.
Code | Description |
---|---|
RW | Read/write |
RO | Read-only |
RW1C | Read/write 1 to clear |
RW0S | Read/write 0 to set |
RTC | Read to clear |
RTS | Read to set |
RTCW | Read to clear/write |
RTSW | Read to set/write |
RWTC | Read/write any value to clear |
RWTS | Read/write any value to set |
RWSC | Read/write self-clearing |
RWSS | Read/write self-setting |
UR0 | Unused bits/read as 0 |
UR1 | Unused bits/read as 1 |
Address | Name | Used by |
---|---|---|
Capability Registers (CARs) | ||
0x0 | Device Identity | These CARs are not used by any of the internal modules. They do not affect the functionality of the RapidIO IP core. These registers are all Read-Only. Their values are set using the RapidIO parameter editor when generating the IP core. These registers inform either a local processor or a processor on a remote end about the IP core's capabilities. |
0x4 | Device Information | |
0x8 | Assembly Identity | |
0xC | Assembly Information | |
0x10 | Processing Element Features | |
0x14 | Switch Port Information | |
0x18 | Source Operations | |
0x1C | Destination Operations | |
Command and Status Registers (CSRs) | ||
0x4C | Processing Element Logical layer Control | Input/Output Slave Logical layer |
0x58 | Local Configuration Space Base Address 0 | Input/Output Master Logical layer |
0x5C | Local Configuration Space Base Address 1 | Input/Output Master Logical layer |
0x60 | Base Device ID | Transport layer for routing or filtering. Input/Output Slave Logical layer |
0x68 | Host Base Device ID Lock | Maintenance module |
0x6C | Component Tag | Accessed via the Maintenance module |
Extended Features Space | ||
0x100 | Register Block Header | Physical layer |
0x104–0x11C | Reserved | — |
0x120 | Port Link Time-out Control | Logical layer modules |
0x124 | Port Response Time-out Control | Logical layer modules |
0x13C | Port General Control | Physical layer |
0x148 | Port 0 Local AckID | Physical layer |
0x158 | Port 0 Error and Status | Physical layer |
0x15C | Port 0 Control | Physical layer |
Implementation-Defined Space | ||
0x10000 | Reserved | |
0x10004 | ||
0x10008 | ||
0x1000C–0x1001C | ||
0x10020 | ||
0x10024 | ||
0x10028 | ||
0x1002C-0x1007C | ||
0x10080 | Maintenance Interrupt | Maintenance module |
0x10084 | Maintenance Interrupt Enable | Maintenance module |
0x10088 | Rx Maintenance Mapping | Maintenance module |
0x1008C–0x100FC | Reserved | — |
0x10100 | Tx Maintenance Window 0 Base | Maintenance module |
0x10104 | Tx Maintenance Window 0 Mask | Maintenance module |
0x10108 | Tx Maintenance Window 0 Offset | Maintenance module |
0x1010C | Tx Maintenance Window 0 Control | Maintenance module |
0x10110–0x101FC | Tx Maintenance Windows 1-15 | Maintenance module |
0x10200 | Tx Port Write Control | Maintenance module |
0x10204 | Tx Port Write Status | Maintenance module |
0x10210–0x1024C | Tx Port Write Buffer | Maintenance module |
0x10250 | Rx Port Write Control | Maintenance module |
0x10254 | Rx Port Write Status | Maintenance module |
0x10260–0x1029C | Rx Port Write Buffer | Maintenance module |
0x102A0–0x102FC | Reserved | — |
0x10300 | I/O Master Window 0 Base | Input/Output Master Logical layer |
0x10304 | I/O Master Window 0 Mask | Input/Output Master Logical layer |
0x10308 | I/O Master Window 0 Offset | Input/Output Master Logical layer |
0x1030C | Reserved | — |
0x10310–0x103FC | I/O Master Windows 1–15 | Input/Output Master Logical layer |
0x10400 | I/O Slave Window 0 Base | Input/Output Slave Logical layer |
0x10404 | I/O Slave Window 0 Mask | Input/Output Slave Logical layer |
0x10408 | I/O Slave Window 0 Offset | Input/Output Slave Logical layer |
0x1040C | I/O Slave Window 0 Control | Input/Output Slave Logical layer |
0x10410-0x104FC | I/O Slave Windows 1–15 | Input/Output Slave Logical layer |
0x10500 | I/O Slave Interrupt | Input/Output Slave Logical layer |
0x10504 | I/O Slave Interrupt Enable | Input/Output Slave Logical layer |
0x10508 | I/O Slave Pending NWRITE_R Transactions | Input/Output Slave Logical Layer |
0x1050C | I/O Slave Avalon® -MM Write Transactions | Input/Output Slave Logical layer and Doorbell module |
0x10510 | I/O Slave RapidIO Write Requests | Input/Output Slave Logical layer and Doorbell module |
0x10514–0x105FC | Reserved | — |
0x10600 | Rx Transport Control | Transport layer |
0x10604–0x107FC | Reserved | — |
0x10800 | Logical/Transport Layer Error Detect | Logical/Transport layer |
0x10804 | Logical/Transport Layer Error Enable | Logical/Transport layer |
0x10808 | Logical/Transport Layer Address | Logical/Transport layer |
0x1080C | Logical/Transport Layer Device ID Capture | Logical/Transport layer |
0x10810 | Logical/Transport Layer Control Capture | Logical/Transport layer |