37.2.4.2.2 I3C Dynamic Address

In addition to the Static Address described above, every I3C device on the bus also has a 7-bit Dynamic Address, which is assigned by the Controller through the Dynamic Address Assignment process or the Hot-Join Mechanism. This Target module stores the Dynamic Address in the I3CxDADR register. Once the Target receives its Dynamic Address from the Controller, it starts to operate in I3C SDR mode (OPMD = 0b01) and will no longer respond to the Static Address. The Controller communicates with the Target at I3C speeds once it is assigned a Dynamic Address.
Important: This Target device supports a special Static Address SDR Mode where the module can operate in I3C SDR mode (OPMD = 0b01) using its Static Address without requiring a Dynamic Address. The module can still participate in Dynamic Address Assignment procedure in this mode, in which case the module will respond to both Static and Dynamic Addresses. Refer to Static Address SDR Mode for more information.

While the Target is operating in I3C SDR mode, the Controller can engage with the Target in the following ways:

  • Private Read/Write Transaction
  • Broadcast Common Command Code (CCC) Write Transaction
  • Direct CCC Read/Write Transaction
  • In-Band Interrupt (IBI) Transaction
The Target sets the DADRIF interrupt flag when it detects the Controller has transmitted the Target’s Dynamic Address on the bus during a Direct CCC or a Private Transaction.

The Target’s Dynamic Address transmitted on the bus immediately following a Start (but not a Restart condition) is subject to arbitration, meaning both the Controller and the Target can drive the Target’s Dynamic Address after a Start condition.

  • The Controller can transmit the Target’s Dynamic Address following a Start condition to initiate a Private Transaction. The Controller also transmits a R/W bit along with the Dynamic Address. When R/W= 1 (read), the Controller initiates a Private Read Transaction, whereas R/W = 0 (write) signifies a Private Write Transaction. The Target responds to this request by acknowledging (or not acknowledging) through the ACK/NACK bit that follows the R/W bit.
  • The Target can transmit its own Dynamic Address following a Start condition to initiate an IBI request.(1) An IBI request is always made in Read mode (the Target releases SDA high for R/W bit). The Controller responds to this request by acknowledging (or not acknowledging) through the ACK/NACK bit that follows the R/W bit. Refer to the In-Band Interrupt (IBI) section for details on Controller actions during an IBI transaction.

Since the address header following a Start condition is arbitrable, both cases mentioned above can happen concurrently. Refer to I3C Address Arbitration for more information.

Important:
  1. When this Target device is operating in Static Address SDR Mode and does not have a Dynamic Address assigned, the module will transmit its Static Address to request for an In-Band Interrupt.