SPRUJ28E November 2021 – September 2024 AM68 , AM68A , TDA4AL-Q1 , TDA4VE-Q1 , TDA4VL-Q1
Enumeration of I3C devices involves Dynamic Address Assignment procedure. At power up of the I3C bus, the I3C Master should provide dynamic address for all I3C devices under the following conditions:
During I3C bus operation, current master can disable one or all I3C devices by sending Direct or Broadcast RSTDAA CCC command. In such case, corresponding *_CLR bits in I3C_DEVS_CTRL should be set by firmware to clean retaining registers. In order to re-enable these devices, DAA procedure must be performed (initiated by master or by Hot-Join requests sent by slave devices).
Depending on I3C slave implementation, the slave that received RSTDAA CCC command may restore its static address. In order to perform private transfers to such slave or assign dynamic address using SETDASA CCC command rather than DAA procedure, the corresponding I3C_DEV_IDn_RR0[7-0] DEV_ADDR bit field (n = 0 to 11) should be updated with static address. Clearing Retaining Registers by setting corresponding I3C_DEVS_CTRL register is not mandatory in this scenario.
Current master can also assign new Dynamic Address to device which already has one by sending SETNEWDA command. After sending this command with new Dynamic Address in the data field, the I3C_DEV_IDn_RR0[7-0] DEV_ADDR bit field (n = 0 to 11) must be also updated with this address in order to perform subsequent transaction to this device.