37.2.6 Dynamic Address Assignment

The Active Controller performs the Dynamic Address Assignment procedure to provide a unique Dynamic Address to each device connected to the I3C bus.(1) The Active Controller provides a Dynamic Address to the Target upon initialization of the I3C bus or when a Target is newly connected to an already configured I3C bus and performs a Hot-Join request. Once the Dynamic Address has been assigned, it is stored in the I3CxDADR Dynamic Address register, and the Target starts to operate in I3C SDR mode (OPMD = 0b01).(2)

Until a Dynamic Address is assigned, the Target operates in I2C mode (OPMD = 0b00) and uses a 7-bit I2C static address, which is stored in the I3CxSADR Static Address register, to represent itself on the bus. The Target is backward-compatible to I2C in this mode and can respond to both I2C and SMBus traffic on the bus.(3)

Important:
  1. The MIPI I3C® Specification details multiple methods by which an I3C device can be assigned a Dynamic Address. Out of all the methods, this Target module supports the traditional Dynamic Address Assignment procedure using the ENTDAA CCC as explained in this section.
  2. This Target module supports a special Static Address SDR mode in which the module can operate in I3C SDR mode (OPMD = 0b01) using the Target's Static Address without requiring a Dynamic Address. Refer to the Static Address SDR Mode section for more information.
  3. To be fully compatible with I2C/SMBus traffic on the bus, it is recommended to use the I2C/SMBus-specific input buffers instead of the I3C-specific input buffers on the SDA and SCL pads. Refer to the SDA and SCL Pins section for more information.
  4. Dynamic Address Assignment only switches the Target’s mode of operation from I2C mode to I3C SDR mode, but it does not change the input buffers on SDA and SCL pads. The user must manually change the input buffers if desired.