SPRUJ28E November 2021 – September 2024 AM68 , AM68A , TDA4AL-Q1 , TDA4VE-Q1 , TDA4VL-Q1
In order to handle an incoming In-Band Interrupt from particular slave device, the address and configuration of IBI handling for this device needs to be stored in the I3C_SIR_MAP0 through I3C_SIR_MAP5 registers. This register map holds information on device address, length of payload, device role and response. The map organization is presented in the Table 12-30 below.
Register | [31-16] bit fields | [15-0] bit fields |
---|---|---|
I3C_SIR_MAP0 | Device 1 | Device 0 |
I3C_SIR_MAP1 | Device 3 | Device 2 |
I3C_SIR_MAP2 | Device 5 | Device 4 |
I3C_SIR_MAP3 | Device 7 | Device 6 |
I3C_SIR_MAP4 | Device 9 | Device 8 |
I3C_SIR_MAP5 | Reserved | Device 10 |
All devices requesting IBI, but not added to the SIR Map, will receive the NACK response from I3C master device.
Example for IBI Map configuration looks as follows:
After receiving regular or mastership request IBI interrupt, firmware needs to read the I3C_IBIR register to determine which device requested IBI. The ordering of bits in the I3C_IBIR register corresponds to ordering of devices stored in I3C_SIR_MAP0 through I3C_SIR_MAP5 registers. Note that the IBI capable devices are enumerated and ordered independently from device ordering in the retaining registers used during DAA procedure.