Regular Data Transfer Command

This command is used for CCC transfers, private I3C/I2C SDR data transfers, and private I3C HDR transfers. The application must transfer the Write-data payload or retrieve the Read-data payload from DATA_PORT based on the type of the command (Read/Write). Single Regular Data Transfer command can be used for the payload, which can range from 0 to 65535 bytes. If the payload is more than 65535 bytes, the application must initiate Multiple Regular Data Transfer commands based on the required data length of the transfer.

The command structure of the Regular Data Transfer command is described in the following table.

Table 9-60. Regular Transfer Command Structure
BitsField NameMemory AccessReset ValueDescription
63:48DATA_LENGTHW0x0Data Transfer Data Length

Data Length field is used to indicate the length of the transfer in bytes.

Note: This field must be set to a non-zero value, except for CCCs that do not have a defined payload.
47:32Reserved
31TOCW0x0Data Transfer Terminate on Completion

Controls which bus condition is issued after completion of the transfer.

Values:

  • 0x0: RESTART: Repeated Start (Sr) is issued at the end of transfer
  • 0x1: STOP: Stop (P) is issued at end of the transfer
30ROCW0x0Data Transfer Response on Completion

Controls whether Response Status is required after successful completion of the Transfer command. The successful completion is read from RESPONSE_QUEUE_PORT register. The Response Status is always sent after an unsuccessful transfer.

Values:

  • 0x0: NOT_REQUIRED: Response Status is not required
  • 0x1: REQUIRED: Response Status is required
29RNWW0x0Data Transfer R/ W

Identifies the direction of this transfer.

Values:

  • 0x0: WRITE: Write transfer
  • 0x1: READ: Read transfer
28:26MODEW0x0Data Transfer Speed and Mode

Speed and mode of the transfer. This field is used to program the speed/mode in which I3C or I2C must be initiated by the I3CC.

The value of this field is decoded based on whether the transfer is targeted to I3C device or I2C device as determined by the 'DEVICE' field in the Device address table pointed by the 'DEV_INDEX' field of the command.

Values:

  • 0x0: I3C SDR0/ I2C FM

    I3C SDR0 represents standard SDR Speed (0 to fSCL Max)

  • 0x1: I3C SDR1 / I2C FM+

    I3C SDR1 represents sustainable data rate of 8 MHz

  • 0x2: I3C SDR2 / I2C UD (I2C SS)

    I3C SDR2 represents sustainable data rate of 6 MHz. I2C UD represents the user-defined standard speed I2C Speed.

  • 0x3: I3C SDR3/ I2C Reserved

    I3C SDR3 represents sustainable data rate of 4 MHz. I2C UD represents the user-defined I2C Speed (currently it is Reserved).

  • 0x4: I3C SDR4/ I2C Reserved

    I3C SDR4 represents sustainable data date of 2 MHz. I2C UD represents the user-defined I2C Speed (Currently it is Reserved).

  • 0x5: Reserved (I3C HDR-TS: HDR-Ternary mode) / I2C Reserved

  • 0x6: I3C HDR-DDR (HDR-Double Data Rate mode) / I2C Reserved

  • 0x7: Reserved
25:20Reserved
19:16DEV_INDEXW0x0Data Transfer Device Index

Device Index indicates DAT table index, where information related to static and device addressing is stored. Field indicates target device addressed with the transfer.

15CPW0x0Data Transfer Command Present

Command present. Indicates whether CMD field is valid for CCC or HDR transfer.

Values:

  • 0x0: TRANSFER: Describes SDR transfer. CMD field is not valid.
  • 0x1: CCC_HDR: Describes CCC or HDR transfer. CMD field is valid.
14:7CMDW0x0Data Transfer CCC / HDR Command Code Value

Transfer Command field specifies command code for CCC (8-bit) or HDR (7-bit).

6:3TIDW0x0Data Transfer Transaction ID

Transaction ID field is used as identification tag for the command.

2:0CMD_ATTRW0x0Data Transfer Command Attribute

Command Attribute field defines Command type and bitfield format.

Values:

  • 0x0: XFER: Regular Transfer
  • 0x1: IMMED_DATA_XFER: Immediate Data Transfer
  • 0x2: ADDR_ASSGN_CMD: Address Assignment Command
  • 0x3: WWR_COMBO_XFER: Write + Write/Read Combo transfer
  • 0x7: INTERNAL_CONTROL: Internal Control command
  • Values 0x4–0x6 are reserved.