SLAZ741D March 2023 – August 2025 MSPM0L1105 , MSPM0L1106 , MSPM0L1303 , MSPM0L1304 , MSPM0L1305 , MSPM0L1306 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346
I2C Module
Functional
I2C SDA may get stuck to zero if we toggle ACTIVE bit during ongoing transaction
If ACTIVE bit is toggled during an ongoing transfer, its state machine will be reset. However, the SDA and SCL output which is driven by the controller will not get reset. There is a situation where SDA is 0 and controller has gone into IDLE state, here the controller won't be able to move forward from the IDLE state or update the SDA value. Target's USBUSY is set (toggling of the ACTIVE bit is leading to a start being detected on the line) and the BUSBUSY won't be cleared as the controller will not be able to drive a STOP to clear it.
Do not toggle the ACTIVE bit during an ongoing transaction.