1.4 Dynamic Address Assignment

The Target device participates in Dynamic Address Assignment procedure depending on whether or not the device has been configured as Hot-Join capable while using the HJCAP bit.

When the Target is configured as Hot-Join capable (HJCAP = 1), the I3C module responds to an Enter Dynamic Address Assignment (ENTDAA) CCC only after a Hot-Join is requested first. Refer to Hot-Join Transaction for more information.

When the Target is configured as not Hot-Join capable (HJCAP = 0), the I3C module responds to an ENTDAA CCC and participates in the Dynamic Address Assignment process if it does not have a Dynamic Address assigned. The entire Dynamic Address Assignment process happens automatically without any software intervention. Once the controller assigns the Target a Dynamic Address, it is stored in the I3CxDADR register, and the Dynamic Address Changed DACHIF flag is set as a notification.

Before a Dynamic Address is assigned, the module typically operates in I2C mode (OPMD = 0b00). In this mode, the module can perform Legacy I2C Transactions and respond to certain Broadcast CCCs only. Once the Target device is assigned a Dynamic Address, the module begins operating in I3C SDR mode (OPMD = 0b01). In this mode, the module can participate in all types of SDR transactions (except Legacy I2C Transactions).

Important: If the Static Address SDR mode is enabled, the module can operate in I3C SDR mode (OPMD = 0b01) even before a Dynamic Address is assigned.

The controller can clear the Dynamic Address stored in the Target device by sending the Reset Dynamic Address Assignment (RSTDAA) CCC. The controller can also assign a new Dynamic Address to the Target using the Set New Dynamic Address (SETNEWDA) CCC.

Figure 1-3. Dynamic Address Assignment Frame Format