Combo Transfer Command

This command is used to issue the ‘Write followed by Write transfer’ or ‘Write followed by Read transfer’ as a single atomic transaction. This command is used when the application must indicate the sub-address of the device first and then either write or read data from the sub-address pointed by the first write transfer. The first write transfer payload is embedded inside the command itself and the subsequent transfer Write-data/Read-data is written or accessed through DATA_PORT. The Combo Transfer is applicable to both I3C and I2C transfers. The command structure of the Combo Transfer command is described in the following table.

Table 9-61. Combo Transfer Command Structure
BitsField NameMemory AccessReset ValueDescription
63:48DATA_LENGTHW0x0Combo Transfer Data Length

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

This field must be set to a non-zero value.

47:32OFFSET/SUBOFFSETCombo Transfer Offset / Sub-Offset

Offset/sub-offset to select offset of target operation

31TOCW0x0Combo 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
30ROCW0x0Combo Transfer Response on Completion

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. Response status is always sent upon unsuccessful transfer.

Values:

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

This field identifies direction of the transfer.

Values:

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

This field is used to program the speed/mode in which I3C or I2C are to be initiated by the I3CC.

The value of this field is decoded based on whether the transfer is targeted to a 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 I2C speed (Used for Standard Speed).

  • 0x3: I3C SDR3/I2C UD (Reserved)

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

  • 0x4: I3C SDR4/I2C UD (Reserved)

    I3C SDR4 represents sustainable data rate of 2 MHz. I2C UD represents the user-defined I2C speed (currently it is Reserved for I2C mode).

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

    Combo transfers are supported only in SDR mode and not in HDR mode.

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

    Combo transfers are supported only in SDR mode and not in HDR mode.

  • 0x7: Reserved
2516_BIT_SUBOFFSETW0x0Combo Transfer Sub-Offset Size

Indicates whether the Sub-Offset is 8 or 16 bits long.

Values:

  • 0: 8_BIT_SUBOFFSET: Sub-offset is 8 bits long. Value is encoded in lower byte of OFFSET/SUBOFFSET field.
  • 1: 16_BIT_SUBOFFSET: Sub-offset is 16 bits long
24FIRST_PHASE _MODEW0x0Combo Transfer First Phase Mode

Indicates whether the first phase of the combo transfer is executed in SDR mode, or the mode indicated by the MODE field.

Values:

  • 0: SDR: First phase is executed in SDR mode
  • 1: MODE: First phase is executed in the mode indicated by the MODE field
    Note: This field is not supported by I3CC and must be set to ‘0’.
23:22DATA_LENGTH _POSITIONW0x0Data Length Field Position

Indicates whether and where to put data length (DATA_LENGTH) in the first phase of the transfer. This field is only applicable if first phase of the transfer is executed in HDR mode.

Whether 8-bit or 16-bit of data length field is used is indicated with 16_BIT_SUBOFFSET field. For 8-bit value, it is encoded in lower byte of DATA_LENGTH field.

Values:

  • 2’b0: NO: Do not put Length field
  • 2’b1: FIRST: Put Length as first field
  • 2’b2: SECOND: Put Length as second field
  • 2’b3: RESERVED: Do not use
    Note: This field is not supported by I3CC and must be set to ‘0’.
21:20Reserved
19:16DEV_INDEXW0x0Combo 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.

15CPW0x0Combo Transfer Command Present

Indicates whether the CMD field is valid for an HDR Transfer.

Values:

  • 0: TRANFSER: This structure describes an SDR transfer, so the CMD field is not valid.
  • 1: CCC_HDR: This structure describes an HDR transfer, so the CMD field is valid.
    Note: This field is not supported by I3CC and must be set to ‘0’.
14:7CMDW0x0Combo Transfer HDR Command Code Value

Specifies the I3C command code (7 bits).

This field is not supported by I3CC and must be set to ‘0’.

6:3TIDW0x0Combo Transfer Transaction ID

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

2:0CMD_ATTRW0x0Combo 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
  • Values 0x4-0x6 are reserved.
  • 0x7: INTERNAL_CONTROL: Internal Control command