24.4.5.3 Hot-Join Request

I3C’s Hot-Join mechanism allows an I3C device to inform the Active Controller that a newly joined Target is present on the I3C bus and is ready to receive a dynamic address in order to become fully functional on the bus.

The Hot-Join mechanism requires the joining Target to send a special In-Band-Interrupt (IBI) Request to trigger the Hot-Join procedure. The Target must wait for a Bus Idle condition before sending the Hot-Join Request.

Note: To initiate a Hot-join request after power-on, the I3CxADD[DYNADDRVALID] bit of the I3C Target should be set to 0.

Once a joining Target has determined that the bus is in the Bus Idle condition, it may initiate a Hot-Join Request by performing the following sequence:

  1. The joining Target pulls SDA low, then waits for the Active Controller to act.
  2. The Active Controller, detecting the condition, pulls SCL low, thus generating a START.
  3. The Active Controller then clocks the SCL line to get the Reserved Target Address (i.e., 7ꞌh02).
  4. The joining Target issues the Reserved Target Address 7ꞌb000 0010 with the 8th bit set to 0 (write) to notify the Active Controller that a Target device on the bus needs a dynamic address to become fully operational.
    • Typically, the joining Target is the only device on the bus with no Dynamic Address assigned, so if the Active Controller initiates the Dynamic Address procedure, then the joining Target will be the only device to participate in the Dynamic Address Arbitration (DAA) and receive a Dynamic Address.
    • However, it is also possible for multiple devices to send their Hot-Join Requests simultaneously. In this case, the DAA procedure will iterate and assign Dynamic Addresses to all Targets requesting an address.
  5. Once the joining Target has been assigned its new Dynamic Address, it is fully operational on the I3C bus.

If a NACK response is received or when an arbitration loss is encountered after the first attempt, the Target attempts to resend the Hot-join request at the next START condition seen on the bus, or upon meeting the bus idle condition (whichever happens first).

The Target Controller does not generate the Hot-Join request until a valid I3C CCC/private transfer with the Broadcast address (7'h7E) is seen on the I3C bus, if the I3CxCNTRL[ADPTV] is set. It is recommended to set I3CxCNTRL[ADPTV] to 1 if the Target application does not have prior knowledge of the bus (I2C/I3C) to which the Target is connected.

The application can program I3CxCLTESTA [HJINTEN] to 0 to disable the HJ capability of the Target. When this bit is set to 0, the Target does not generate an HJ request and behaves as if it’s a non-HJ device. Note that programming of I3CxCLTESTA [HJINTEN] is a one-time task, which is done only during the initial configuration and when the Target is disabled.