Immediate Data Transfer Command

This command is used for short data write transfers including CCC transfers and Private SDR transfers (I3C/I2C), where the payload ranges from 0 to 4 bytes. The data payload is embedded inside the command itself.

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

Table 9-59. Immediate Transfer Command Structure
BitsField NameMemory AccessReset ValueDescription
63:56DATA_BYTE_4W0x0Immediate Data Transfer Data Byte 4

Direct argument

55:48DATA_BYTE_3W0x0Immediate Data Transfer Data Byte 3

Direct argument

47:40DATA_BYTE_2W0x0Immediate Data Transfer Data Byte 2

Direct argument

39:32DATA_BYTE_1W0x0Immediate Data Transfer Data Byte 1

Direct argument

31TOCW0x0Terminate on Completion

Controls which bus condition is issued after completion of the data 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
30ROCW0x0Immediate Data Transfer Response on Completion

Controls whether a Response Status is required after successful completion of the Data Transfer command. The successful completion is read from RESPONSE_QUEUE_PORT register.

The response status is always sent upon unsuccessful transfer.

Values:

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

Identifies direction of the transfer. This field must always be set to ‘0’, because immediate transfers are valid for Write transactions only.

Values:

  • 0x0: WRITE transfer
  • 0x1: READ transfer
28:26MODEW0x0Immediate Data Transfer Mode and Speed

Mode and speed of the transfer. This field is used to program the mode and speed in which I3C or I2C are to be initiated.

The value of this field is decoded based on mode, which can be either I3C or I2C, as determined by the 'DEVICE' field in the DAT entry pointed by the 'DEV_INDEX' field of the command.

DEVICE value of 1 indicates I2C mode.

DEVICE value of 0 indicates I3C mode.

Values (I3C mode):

  • 0x0: I3C SDR0.I3C SDR0 represents standard SDR Speed (0 to fSCL Max).
  • 0x1: I3C SDR1. The I3C SDR1 represents sustainable data rate of 8 MHz.
  • 0x2: I3C SDR2. The I3C SDR2 represents sustainable data rate of 6 MHz
  • 0x3: I3C SDR3. The I3C SDR3 represents sustainable data rate of 4 MHz.
  • 0x4: I3C SDR4. TheI3C SDR4 represents sustainable data rate of 2 MHz.
  • 0x5: Reserved (I3C HDR-TS:HDR-Ternary mode)
  • 0x6: I3C HDR-DDR (HDR-Double Data Rate mode)
  • 0x7: RESERVED

    Values (I2C mode):

  • 0x0: I2C FM
  • 0x1: I2C FM+
  • 0x2: I2C UDR1 (I2C SS). The I2C UDR1 represents the user-defined data rate 1 (Used for standard speed mode).
  • 0x3: I2C UDR2. The I2C UDR2 represents the user-defined data rate 2. Currently, it is Reserved.
  • 0x4: I2C UDR3. The I2C UDR3 represents the user-defined data rate 3. Currently, it is Reserved.
  • 0x5–0x7: Reserved
25:23BYTE_CNTW0x0Immediate Data Transfer Byte Count

Number of valid data bytes to use in this Immediate Data Transfer Descriptor.

Values:

  • 0: No payload
  • 1–4: Bytes 1–4 valid
  • 5–7: Reserved
22:20Reserved
19:16DEV_INDEXW0x0Immediate Data Transfer Device Index

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

15CPW0x0Immediate Data 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:7CMDW0x0Immediate Data Transfer CCC / HDR Command Code Value

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

6:3TIDW0x0Immediate Data Transfer Transaction ID

Used as an identification tag for this command. This field is populated by the software driver, and the same value is reflected in the Response Descriptor.

2:0CMD_ATTRW0x0Immediate Data 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.