SPRUIM2H May 2020 – October 2023 AM2431 , AM2432 , AM2434 , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
The I2C controller must allocate a minimum of five registers for interrupts.
End of Interrupt (I2C_EOI) is used by software to trigger an interrupt service completion.
Table 12-249 lists the event flags, and their mask, that can cause module interrupts.
Event Flag | Event Unmask | Event Mask | Description |
---|---|---|---|
I2C_IRQSTATUS[0] AL | I2C_IRQENABLE_SET[0] AL_IE | I2C_IRQENABLE_CLR[0] AL_IE | Arbitration lost. This bit is automatically set by the hardware when it loses the arbitration in controller transmit mode, an interrupt is signaled to the host. |
I2C_IRQSTATUS[1] NACK | I2C_IRQENABLE_SET[1] NACK_IE | I2C_IRQENABLE_CLR[1] NACK_IE | No acknowledgement. Bit is set when No Acknowledge is received, an interrupt is signaled to the host. |
I2C_IRQSTATUS[2] ARDY | I2C_IRQENABLE_SET[2] ARDY_IE | I2C_IRQENABLE_CLR[2] ARDY_IE | Register access ready. When set to 1 it indicates that previous access has been performed and registers are ready to be accessed again. An interrupt is signaled to the host. |
I2C_IRQSTATUS[3] RRDY | I2C_IRQENABLE_SET[3] RRDY_IE | I2C_IRQENABLE_CLR[3] RRDY_IE | Receive data ready. Set to 1 by core when in receiver mode, a new data can be read. An interrupt is signaled to the host. |
I2C_IRQSTATUS[4] XRDY | I2C_IRQENABLE_SET[4] XRDY_IE | I2C_IRQENABLE_CLR[4] XRDY_IE | Transmit data ready. Set to 1 by core when transmitter is ready for new data. An interrupt is signaled to the host. |
I2C_IRQSTATUS[5] GC | I2C_IRQENABLE_SET[5] GC_IE | I2C_IRQENABLE_CLR[5] GC_IE | General call. Set to 1 by core when General Call address was detected. An interrupt is signaled to the host. |
I2C_IRQSTATUS[6] STC | I2C_IRQENABLE_SET[6] STC_IE | I2C_IRQENABLE_CLR[6] STC_IE | Start condition detected. An interrupt is signaled to the host. |
I2C_IRQSTATUS[7] AERR | I2C_IRQENABLE_SET[7] AERR_IE | I2C_IRQENABLE_CLR[7] AERR_IE | Bus Access Error. An interrupt is signaled to the host. |
I2C_IRQSTATUS[8] BF | I2C_IRQENABLE_SET[8] BF_IE | I2C_IRQENABLE_CLR[8] BF_IE | Bus free. An interrupt is signaled to the host. |
I2C_IRQSTATUS[9] AAS | I2C_IRQENABLE_SET[9] AAS_IE | I2C_IRQENABLE_CLR[9] AAS_IE | Address recognized as target. An interrupt is signaled to the host. |
I2C_IRQSTATUS[10] XUDF | I2C_IRQENABLE_SET [10] XUDF_IE | I2C_IRQENABLE_CLR[10] XUDF_IE | Transmit underflow. An interrupt is signaled to the host. |
I2C_IRQSTATUS[11] ROVR | I2C_IRQENABLE_SET [11] ROVR_IE | I2C_IRQENABLE_CLR[11] ROVR_IE | Receive overrun. An interrupt is signaled to the host. |
I2C_IRQSTATUS[12] BB | N/A | N/A | Bus busy indicator |
I2C_IRQSTATUS[13] RDR | I2C_IRQENABLE_SET [13] RDR_IE | I2C_IRQENABLE_CLR[13] RDR_IE | Receive draining. An interrupt is signaled to the host. |
I2C_IRQSTATUS[14] XDR | I2C_IRQENABLE_SET [14] XDR_IE | I2C_IRQENABLE_CLR[14] XDR_IE | Transmit draining. An interrupt is signaled to the host. |