Here ist a good information:
https://www.analog.com/en/technical-articles/i2c-timing-definition-and-specification-guide-part-2.ht...
maybe a slave Device holds the SDA Line low,
i have found this with some chips if i scan the I2C bus.
So i must generate 3 or 8 clock pulses and the Slave give the bus free.
Analog Devices recommends 9 clock cycles
i have problems found with these chips:
#define BMP180_ADDRESS 0x77 // Barometer problem bei Read dann 8 clocks
#define BMP280_ADDRESS 0x76 // Barometer problem bei raed dann 8 clocks
#define ADS1110_ADDRESS 0x48 // AD Converter problem bei read dann 8 clocks
#define PCA9685_LED_ALL 0x70 // problem bei Read dann 3 clocks
the problems only occured if scan the bus with a read operation but read no data.
if i read one ore more data there is no problem.
if you want to scan the bus it is better to do this with a write operation.
problems can also occure if you set breakpoints and restart the CPU.
Sometimes you must power off the Slaves to eleminate the error.
sorry, now, i look in your datasheet, this I2C controller is not the same as in my controller in the LPC-Serie.