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 Bits Field Name Memory Access Reset Value Description 63:59 Reserved – – – 58:51 AUTOCMD_HDR_CODE R/W 0x0 Device 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:48 AUTOCMD_MODE R/W 0x0 Device 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:40 AUTOCMD_VALUE R/W 0x0 Device Auto-Command IBI Mandatory Byte Value of IBI mandatory byte that triggers automatic
Read transaction on the bus (Auto Command feature)
39:32 AUTOCMD_MASK R/W 0x0 Device Auto-Command Mask Mask of IBI mandatory byte that triggers an automatic
Read transaction on the bus (Auto Command feature)
31 DEVICE R/W 0x0 Device Type Type of Device
Values:
- 0x0: I3C: I3C Device
- 0x1: I2C: I2C Device
30:29 DEV_NACK_RETRY_CNT R/W 0x0 Device NACK Retry Count Device specific retry count
28:26 RING_ID R/W 0x0 Device 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:24 Reserved R/W 0x0 – 23:16 DYNAMIC_ADDRESS R/W 0x0 Device I3C Dynamic Address I3C Dynamic Address (with parity bit) Parity bit is encoded in bit 23.
15 TS R/W 0x0 Device 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.
14 CRR_REJECT R/W 0x0 Device 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
13 IBI_REJECT R/W 0x0 Device 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
12 IBI_PAYLOAD R/W 0x0 Device 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:7 Reserved R/W 0x0 – 6:0 STATIC_ADDRESS R/W 0x0 I3C/I2C Static Address - 0x0: I3C SDR0: