9.7.5.3.3 Device Address Table (DAT)

The Device Address Table (DAT) stores the information of the device addresses and attributes (I2C or I3C, IBI Capable, etc.) of the devices (targets) present in the I3C bus. Each entity is composed of two 32-bit words. These entries are referred to in the DEV_INDEX field of the command. DAT offset, in Capabilities registers, indicates the offset to the DAT and number of entries. There are two entries for each device. These are described in the following table. The DAT is part of the register set.

The following table is populated by the application and the I3CC uses it in the following cases:

  • Dynamic Address Assignment process: Application control over the dynamic address allows for device prioritization in terms of address arbitration for IBIs from targets.
  • Regular Data transfers: I3CC retrieves the dynamic address, I2C or I3C device or device NACK retry count fields which are required to initiate the transfer on the line.
  • IBI transfers: I3CC retrieves the dynamic address or IBI-related fields like Auto-command Mask, which are required for the I3CC to determine the next steps to perform based on the incoming IBI and MDB.
    Table 9-64. Device Address Table Structure
    BitsField NameMemory AccessReset ValueDescription
    63:59Reserved
    58:51AUTOCMD_HDR_CODER/W0x0Device Auto-Command HDR Command Code

    Specifies Auto-Command Read Command Code. Valid only if a Read is executed in HDR mode.

    If the value is below 0x80, then the I3CC uses 0x80 for HDR Command Code.

    50:48AUTOCMD_MODER/W0x0Device Auto-Command Mode

    Speed and mode of the IBI Auto command transfer. This field is used to program the speed/mode in which IBI Auto command transfer must be initiated by the I3CC.

    Values:

    • 0x0: I3C SDR0:

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

    • 0x1: I3C SDR1

      I3C SDR1 represents sustainable data rate of 8 MHz

    • 0x2: I3C SDR2

      I3C SDR2 represents sustainable data rate of 6 MHz.

    • 0x3: I3C SDR3

      I3C SDR3 represents sustainable data rate of 4 MHz.

    • 0x4: I3C SDR4

      I3C SDR4 represents sustainable data rate of 2 MHz.

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

      IBI Auto command Transfer are supported in only SDR mode and not in HDR mode.

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

      IBI Auto command Transfer are supported in only SDR mode and not in HDR mode.

    • 0x7: Reserved
    47:40AUTOCMD_VALUER/W0x0Device Auto-Command IBI Mandatory Byte

    Value of IBI mandatory byte that triggers automatic

    Read transaction on the bus (Auto Command feature)

    39:32AUTOCMD_MASKR/W0x0Device Auto-Command Mask

    Mask of IBI mandatory byte that triggers an automatic

    Read transaction on the bus (Auto Command feature)

    31DEVICER/W0x0Device Type

    Type of Device

    Values:

    • 0x0: I3C: I3C Device
    • 0x1: I2C: I2C Device
    30:29DEV_NACK_RETRY_CNTR/W0x0Device NACK Retry Count

    Device specific retry count

    28:26RING_IDR/W0x0Device Ring Group ID

    Ring group identification. This field is used to put IBI from specific device to appropriate ring bundle.

    This field is reserved for the I3CC.

    25:24ReservedR/W0x0
    23:16DYNAMIC_ADDRESSR/W0x0Device I3C Dynamic Address

    I3C Dynamic Address (with parity bit) Parity bit is encoded in bit 23.

    15TSR/W0x0Device IBI Timestamp

    Marker for Timestamping IBI for specific device.

    Whether IBI was timestamped or not is provided in IBI Status Descriptor Values:

    • 0x0: NO_TS: Do not timestamp IBI with I3CC Timestamps
    • 0x1: TS: Timestamp IBI with I3CC Timestamps

    This field is reserved for the I3CC.

    14CRR_REJECTR/W0x0Device In-Band Controller-role Request Reject

    In-Band Controller-role Request Reject field is used to control, per Device, whether to accept Controller-role Request from devices.

    This bit must always be set to 0x1.

    Values:

    • 0x0: ACCEPT: ACK the Controller-role Request
    • 0x1: REJECT: NACK the Controller-role Request and send auto disable CCC
    13IBI_REJECTR/W0x0Device In-Band Interrupt Request Reject

    In-Band Interrupt Request reject field is used to control, per device, whether to accept In-Band Interrupt Request from devices.

    Values:

    • 0x0: ACCEPT: ACK the IBI
    • 0x1: REJECT: NACK the IBI and send auto disable CCC
    12IBI_PAYLOADR/W0x0Device IBI Payload

    Data payload. This field reflects the IBI payload bit in the device’s Bus Characteristics Register (BCR).

    During IBI handling for this device, the I3CC uses this field to determine whether or not to drive reception of the IBI data payload. Data continuation is indicated by the bit T.

    Values:

    • 0x0: NO_PAYLOAD: IBI does not carry data payload
    • 0x1: PAYLOAD: IBI carries data payload
    11:7ReservedR/W0x0
    6:0STATIC_ADDRESSR/W0x0I3C/I2C Static Address
Note: The application writes DAT registers. Reading DAT registers before writing to them results in undefined values, as these data structures are stored in a RAM-based memory.