SLAU847F October 2022 – March 2026 MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2116 , MSPM0L2117 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
The I2C module provides 15 interrupt sources for I2C controllers and 17 interrupt sources for I2C targets which can be configured to source a CPU interrupt event. In order of decreasing interrupt priority, the CPU interrupt events from the I2C are:
| IIDX STAT | Name | Description |
|---|---|---|
| 0x01 | RXDONE | Controller receive transaction completed |
| 0x02 | TXDONE | Controller transmit transaction completed |
| 0x03 | RXTRG | Controller receive trigger, occurs when receive buffer has data |
| 0x04 | TXTRG | Controller transmit trigger, occurs when transmit buffer is empty |
| 0x05 | RXFULL | Controller RXFIFO full event. This interrupt is set if an RX FIFO is full. |
| 0x06 | TXEMPTY | Controller transmit FIFO empty interrupt. This interrupt is set if all data in the Transmit FIFO have been shifted out and the transmit goes into idle mode. |
| 0x08 | NACK | Controller Address/Data NACK interrupt |
| 0x09 | START | Controller START detection interrupt |
| 0x0A | STOP | Controller STOP detection interrupt |
| 0x0B | ARBLOST | Controller arbitration lost interrupt |
| 0x0C | PEC_RX_ERR | Controller PEC error occurred |
| 0x0D | TIMEOUTA | Controller Timeout A occurred (clock low timeout) |
| 0x0F | TIMEOUTB | Controller Timeout B occurred (clock high timeout) |
| 0x10 | DMA_DONE_RX | Controller DMA TX done |
| 0x11 | DMA_DONE_TX | Controller DMA RX done |
| IIDX STAT | Name | Description |
|---|---|---|
| 0x01 | RXDONE | Target Receive Data Interrupt |
| 0x02 | TXDONE | Target Transmit Transaction completed Interrupt |
| 0x03 | RXTRG | Target Receive Trigger |
| 0x04 | TXTRG | Target Transmit Trigger |
| 0x05 | RXFULL | Target RXFIFO full event. This interrupt is set if an Target RX FIFO is full. |
| 0x06 | TXEMPTY | Target Transmit FIFO Empty interrupt mask. This interrupt is set if all data in the Transmit FIFO have been shifted out and the transmit goes into idle mode. |
| 0x07 | TX_UNFL | Target TX FIFO underflow |
| 0x08 | RX_OVFL | Target RX FIFO overflow |
| 0x09 | GENCALL | Target General Call Interrupt |
| 0x0A | START | Target Start Condition Interrupt |
| 0x0B | STOP | Target Stop Condition Interrupt |
| 0x0C | PEC_RX_ERR | Target RX Pec Error Interrupt |
| 0x0D | TIMEOUTA | Target Timeout A Interrupt |
| 0x0E | TIMEOUTB | Target Timeout B Interrupt |
| 0x10 | DMA_DONE_RX | Target DMA Done on Event Channel RX |
| 0x11 | DMA_DONE_TX | Target DMA Done on Event Channel TX |
| 0x12 | ARBLOST | Target Arbitration Lost Interrupt |
The CPU interrupt event configuration is managed with the CPU_INT event management registers. See Event Registers for guidance on configuring the Event registers for CPU interrupts.