Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public
Document Table of Contents

5.8.6.5.8. Response Data Structure

The I3C controller returns the status of the transfer command into the response queue with the data structure shown in the following figure. See RESPONSE_QUEUE_PORT register in HPS Register Map.

Table 250.  Response Data Structure
BIT-FIELD FIELD NAME WIDTH DESCRIPTION
31:28 ERR_STS 4

Error Type

Defines the error type of the processed command or received vendor extension CCC packet (slave mode).

  • 1: CRC error
  • 2: Parity error
  • 3: Frame error
  • 4: I3C broadcast address NACK error
  • 5: Address NACKed. This bit is set in case the slave NACK’s for dynamic address assignment during ENTDAA process.
  • 6: Receive buffer overflow/transmit buffer underflow (only for HDR transfers)
  • 7: Reserved
  • 8: Transfer aborted
  • 9: I2C slave write data NACK error
  • 10-11: Reserved
  • 12: PEC error. This bit is set if PEC byte validation error occurs in read transfers when TRANSFER_COMMAND[PEC] bit is set to 1.
  • 13-15: Reserved
27:24 TID 4

Transaction ID

This field is used as the identification tag for the commands. The I3C controller returns the ID received through commands.

  • 4'b0000 - 4'b0111 - User-Defined TID (specified in the Transfer/Address Assignment Command)
  • 4'b1000 - Master Write Data Status (as Slave only)
  • 4'b1111 - DEFSLVS Status (as Slave only)
  • 4'b1001 - 4'b1110 - Reserved for I3C controller.
23:16 CCCT 8

CCC/HDR Header Type

This field represents the CCC type of the received vendor extension CCC packet or the HDR header of the received HDR transaction.

This field indicates the CCC type when the TID is set to 4'b1111 (reserved for all other transactions). During the master transactions and slave non-HDR transactions, this field returns 8'b0000_0000 and can be considered as don't care.

15:0 DL 16

Data Length

For write transfers, this field represents the remaining data length of the transfer if the transfer is terminated early (remaining data length = requested data length - transferred data length)

For read transfers, this field represents the actual amount of data received in bytes.

For address assignment command, this field represents the remaining device count.