A.3. COMMAND AND STATUS REGISTERS (CSRs)

All RapidIO end points or switches contain a set of command and status registers (CSRs) that allow an external device to control and determine the status of a target device's internal hardware. All registers are 32 bits wide and are organized and accessed in the same way as the CARs.

A.3.1. Mailbox CSR (Offset 0×40 Word 0)

The mailbox command and status register is accessed if an external processing element wishes to determine the status of this processing elements's mailbox hardware, if any is present; see Table A.12. It is not necessary to examine this register before sending a message since the RapidIO protocol shall accept, retry, or send an error response message, depending upon the status of the addressed mailbox. This register is read-only.

A.3.2. Write-port or Doorbell CSR (Offset 0×40 Word 1)

The write-port CSR is accessed if an external processing element wishes to determine the status of this processing element's write-port hardware; see Table A.13. It is not necessary to examine this register before sending a port-write transaction since the protocol will behave appropriately, depending upon the status of the hardware. This register is read-only.

Table A.12. Bit settings for mailbox CSR
BitField nameDescription
0Mailbox 0 availableMailbox 0 is initialized and ready to accept messages. If not available, all incoming message transactions return error responses
1Mailbox 0 fullMailbox 0 is full. All incoming message transactions return retry responses
2Mailbox 0 emptyMailbox 0 has no outstanding messages
3Mailbox 0 busyMailbox 0 is busy receiving a message operation. New message operations return retry responses
4Mailbox 0 failedMailbox 0 had an internal fault or error condition and is waiting for assistance. All incoming message transactions return error responses
5Mailbox 0 errorMailbox 0 encountered a message operation or transaction of an unacceptable size. All incoming message transactions return error responses
6–7 Reserved
8Mailbox 1 availableMailbox 1 is initialized and ready to accept messages. If not available, all incoming message transactions return error responses
9Mailbox 1 fullMailbox 1 is full. All incoming message transactions return retry responses
10Mailbox 1 emptyMailbox 1 has no outstanding messages
11Mailbox 1 busyMailbox 1 is busy receiving a message operation. New message operations return retry responses
12Mailbox 1 failedMailbox 1 had an internal fault or error condition and is waiting for assistance. All incoming message transactions return error responses
13Mailbox 1 errorMailbox 1 encountered a message operation or transaction of an unacceptable size. All incoming message transactions return error responses
14–15 Reserved
16Mailbox 2 availableMailbox 2 is initialized and ready to accept messages. If not available, all incoming message transactions return error responses
17Mailbox 2 fullMailbox 2 is full. All incoming message transactions return retry responses
18Mailbox 2 emptyMailbox 2 has no outstanding messages
19Mailbox 2 busyMailbox 2 is busy receiving a message operation. New message operations return retry responses
20Mailbox 2 failedMailbox 2 had an internal fault or error condition and is waiting for assistance. All incoming message transactions return error responses
21Mailbox 2 errorMailbox 2 encountered a message operation or transaction of an unacceptable size. All incoming message transactions return error responses
22–23 Reserved
24Mailbox 3 availableMailbox 3 is initialized and ready to accept messages. If not available, all incoming message transactions return error responses
25Mailbox 3 fullMailbox 3 is full. All incoming message transactions return retry responses
26Mailbox 3 emptyMailbox 3 has no outstanding messages
27Mailbox 3 busyMailbox 3 is busy receiving a message operation. New message operations return retry responses
28Mailbox 3 failedMailbox 3 had an internal fault or error condition and is waiting for assistance. All incoming message transactions return error responses
29Mailbox 3 errorMailbox 3 encountered a message operation or transaction of an unacceptable size. All incoming message transactions return error responses
30–31 Reserved

Table A.13. Bit settings for write-port or doorbell CSR
BitField nameDescription
0Doorbell availableDoorbell hardware is initialized and ready to accept doorbell messages. If not available, all incoming doorbell transactions return error responses
1Doorbell fullDoorbell hardware is full. All incoming doorbell transactions return retry responses
2Doorbell emptyDoorbell hardware has no outstanding doorbell messages
3Doorbell busyDoorbell hardware is busy queueing a doorbell message. Incoming doorbell transactions may or may not return a retry response depending upon the implementation of the doorbell hardware in the PE
4Doorbell failedDoorbell hardware has had an internal fault or error condition and is waiting for assistance. All incoming doorbell transactions return error responses
5Doorbell errorDoorbell hardware has encountered an Doorbell transaction that is found to be illegal for some reason. All incoming doorbell transactions return error responses
6–23 Reserved
24Write port availableWrite port hardware is initialized and ready to accept a port-write transaction. If not available, all incoming port-write transactions will be discarded
25Write port fullWrite port hardware is full. All incoming port-write transactions will be discarded
26Write port emptyWrite port hardware has no outstanding port-write transactions
27Write port busyWrite port hardware is busy queueing a port-write transaction. Incoming port-write transactions may or may not be discarded, depending upon the implementation of the write port hardware in the PE
28Write port failedWrite port hardware has had an internal fault or error condition and is waiting for assistance. All incoming port-write transactions will be discarded
29Write port errorWrite port hardware has encountered a port-write transaction that is found to be illegal for some reason. All incoming port-write transactions will be discarded
30–31 Reserved

The doorbell CSR is accessed if an external processing element wishes to determine the status of this processing element's doorbell hardware if the target processing element supports these operations. It is not necessary to examine this register before sending a doorbell message since the protocol shall behave appropriately, depending upon the status of the hardware.

A.3.3. Data Streaming Logical Layer Control CSR (Offset 0×48 Word 0)

The data streaming logical layer control CSR is used for general command and status information for the logical interface; see Table A.14.

Table A.14. Bit settings for data streaming logical layer control CSR
BitField nameDescription
0–25 Reserved
26–31MTUMaximum transmission unit. Controls the data payload size for segments of an encapsulated PDU. Only single-segment PDUs and end segments are permitted to have a data payload that is less this value. The MTU can be specified in increments of 4 bytes. Support for the entire range is required

0b000000 32 byte block size

0b000001 36 byte block size

0b000010 40 byte block size

...

0b111000 256 byte block size

0b111001 Reserved

...

0b111111 Reserved

All other encodings reserved

Table A.15. Bit settings for processing element logical layer control CSR
BitField nameDescription
0–28 Reserved
29–31Extended addressing controlControls the number of address bits generated by the PE as a source and processed by the PE as the target of an operation

0b100 PE supports 66-bit addresses

0b010 PE supports 50-bit addresses

0b001 PE supports 34-bit addresses (default)

All other encodings reserved

A.3.4. Processing Element Logical Layer Control CSR (Offset 0×48 Word 1)

The processing element logical layer control CSR is used for general command and status information for the logical interface; see Table A.15.

A.3.5. Local Configuration Space Base Address 0 CSR (Offset 0×58 Word 0)

The local configuration space base address 0 register specifies the most significant bits of the local physical address double-word offset for the processing element's configuration register space; see Table A.16.

A.3.6. Local Configuration Space Base Address 1 CSR (Offset 0×58 Word 1)

The local configuration space base address 1 register specifies the least significant bits of the local physical address double-word offset for the processing element's configuration register space, allowing the configuration register space to be physically mapped in the processing element; see Table A.17. This register allows configuration and maintenance of a processing element through regular read and write operations rather than maintenance operations. The double-word offset is right-justified in the register.

Table A.16. Bit settings for local configuration space base address 0 CSR
BitField nameDescription
0 Reserved
1–16LCSBAReserved for a 34-bit local physical address

Reserved for a 50-bit local physical address

Bits 0–15 of a 66-bit local physical address
17–31LCSBAReserved for a 34-bit local physical address

Bits 0–14 of a 50-bit local physical address

Bits 16–30 of a 66-bit local physical address

Table A.17. Bit settings for local configuration space base address 1 CSR
BitField nameDescription
0LCSBAReserved for a 34-bit local physical address

Bit 15 of a 50-bit local physical address

Bit 31 of a 66-bit local physical address
1–31LCSBABits 0–30 of a 34-bit local physical address

Bits 16–46 of a 50-bit local physical address

Bits 32–62 of a 66-bit local physical address

A.3.7. Base Device ID CSR (Offset 0×60 Word 0)

The base device ID CSR contains the base device ID values for the processing element; see Table A.18. A device may have multiple device ID values, but these are not defined in a standard CSR.

Table A.18. Bit settings for base device ID CSR
BitsNameReset valueDescription
0–7  Reserved
8–15Base_deviceIDSee footnote[]This is the base ID of the device in a small common transport system (end point devices only)
16–31Large_base_deviceIDSee footnote[]This is the base ID of the device in a large common transport system (only valid for end point device and if bit 27 of the processing element features CAR is set)
[]
[]

[] The Base_deviceID reset value is implementation dependent

[] The Large_base_deviceID reset value is implementation dependent

A.3.8. Host Base Device ID Lock CSR (Offset 0×68 Word 0)

The host base device ID lock CSR contains the base device ID value for the processing element in the system that is responsible for initializing this processing element; see Table A.19. The Host_base_deviceID field is a write-once/resetable field which provides a lock function. Once the Host_base_deviceID field is written, all subsequent writes to the field are ignored, except in the case that the value written matches the value contained in the field. In this case, the register is re-initialized to 0xFFFF. After writing the Host_base_deviceID field a processing element must then read the host base device ID lock CSR to verify that it owns the lock before attempting to initialize this processing element.

Table A.19. Bit settings for host base device ID lock CSR
BitsNameReset valueDescription
0–15  Reserved
16–31Host_base_deviceID0xFFFFThis is the base device ID for the PE that is initializing this PE

A.3.9. Component Tag CSR (Offset 0×68 Word 1)

The component tag CSR contains a component tag value for the processing element and can be assigned by software when the device is initialized; see Table A.20. It is especially useful for labeling and identifying devices that are not end points and do not have device ID registers.

Table A.20. Bit settings for component ID CSR
BitsNameReset valueDescription
0–31component_tagAll 0sThis is a component tag for the PE

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.79.45