Hi @shuo41
Section 72.3.1.2 (Controller operations) of the S32K3xx Reference Manual, Rev. 7 states that "Whenever LPI2C is enabled, it monitors the I2C bus to detect when the I2C is idle (MSR[BBF]). If either SCL or SDA are low, the I2C bus is no longer considered idle. The bus becomes idle if a STOP condition is detected or if a bus idle timeout is detected (as configured by MCFGR2[BUSIDLE])..."
Double-check whether the I2C signals are correctly muxed in the SIUL2_MSCR/IMCR.
Also, measure the bus with a voltmeter or scope it with an oscilloscope. Are the SDA, SCL signals pulled up at the time you read the MSR[BBF] flag?
Do you have pull-up resistors on the bus?
B.R.
VaneB