24.4.4.5.5 High Data Rate-Double Data Rate (HDR-DDR) Transfers

The HDR-DDR write and read transfers are initiated on the bus based on the I3CxCMDQUE and settings shown in Table 24-13.

Table 24-13. High Data Rate-Double Data Rate (HDR-DDR) Transfers
Command AttributeBit FieldProgrammed ValueDescription

Transfer Command

CP

1

Indicates to the controller to consider the CMD field.

CMD[13:7]

0x00 – 0xFF

This field indicates either a Write or Read command used in the command code of HDR Transfer.
  • 0x00 – 0x1F: I3C Reserved Write commands
  • 0x20 – 0x7F: I3C Vendor Write commands
  • 0x80 – 0x9F: I3C Reserved Read Commands
  • 0xA0 – 0xFF: I3C Vendor Read Commands

DEV_INDX

DEV_INDX

Indicates the index of the device table, which consists of the target address to be targeted.

SPEED

6 (HDR-DDR)

Indicates to the Controller that the transfer should go in HDR-DDR mode.

SDAP

0

0 - Indicates to consider the transmit data from the Transmit FIFO if RnW is set to 0.

RnW (Read and Write)

0 or 1

  • 1 - Indicates the transfer is a read transfer. Note: This bit is used for the Write or Read command used in the HDR-CMD (CMD[14]) field.
  • 0 - Indicates the transfer is a write transfer.

Transfer Argument (SDAP=0)

DATA_LENGTH

0 - 65564

Indicates the transfer length of the transfer.

The HDR Transfers are supported only with the ‘Transfer Argument command’ and not with the ‘Short Data Argument command’ since, at most, two words can be transferred in the Short Data Argument command format, and it really does not justify the overhead in terms of ENTHDR* CCC, HDR Command, entry and exit patterns.

The controller generates the ‘ENTHDR0’ CCC to enter into the HDR-DDR mode and forms the Command code through the CMD field of the Transfer command and target address. The preamble and parity bits are generated by the controller as per the protocol and sent along with the write data word. The word from the Tx-FIFO is appended with the parity bits and preamble bits to form the Write Data word and transmits the data. The HDR-RESTART and HDR-EXIT patterns are generated in place of the RESTART and STOP conditions.

To avoid the initial latencies of the transfer, the controller uses TXSTART/RXSTART in the I3CxBUFTHLD register before initiating the transfer. TXSTART ensures the threshold level of data is present in the Transmit buffer for a write transfer, and RXSTART ensures the level of space is available in the Receive buffer for a read transfer before initiating the transfer. This threshold is only applicable for transfers initiated with the START condition and not applicable for transfers initiated with the RESTART condition. If the threshold amount of write data in the Tx-FIFO or empty space in the Rx-FIFO is not available, the controller waits until the threshold amount of data is available to initiate the transfer. If the threshold amount of data is not available for the HDR-DDR transfer initiated, which must be initiated with RESTART, then the controller generates an EXIT pattern followed by STOP for the current transfer and waits for the threshold amount of data to initiate the next transfer with a START condition.

The controller halts in the case of the following conditions:

  • Receiving NACK for the address header of the private transfers.
  • Receiving NACK for the target address (HDR-CMD) of the HDR-DDR private transfers.
  • If the controller experiences Transfer Underflow or Receive Overflow during the HDR-DDR transfers.
  • After executing a software-initiated terminate.
  • The controller decodes the parity bits, CRC byte, frame mismatch, and validates them for the read transfer and reports in the ‘ERR_STS’ field of the response status (I3CxRESPQUE) if there is any error.

The controller updates the ‘ERR_STS’ field with appropriate error information in the response status, halts the controller, and gives back control to the application to resume the operation of the controller by writing ‘1’ to the Resume bit of the I3CxCTRL register.

Note:
  1. In SDR mode, the Controller extends the clock by pulling the SCL low when the TX-FIFO is empty, or the RX-FIFO is full in the middle of the transaction.
  2. In HDR-DDR mode, the Controller terminates the transfer when the TX-FIFO is empty, or the RX-FIFO is full in the middle of the transaction.
  3. When TOC in Transfer Command is set to 0: In HDR-DDR mode, if the Start Threshold of the Next Transfer is not met, HDR-EXIT is generated.