Speed reduction issue of hardware I2C in sf32l52 series

Because the temperature module is used, the manufacturer’s IIC interface requires the IIC rate to be reduced to below 30k. However, when using rt_i2c_configure to configure, it was found that when below 100k, the HAL_I2C_Init in bf0_hal_i2c.c under the SDK reports an error. Is there any other method to reduce the speed?

On the 52 chip, due to the I2C divider limitation, it is not possible to generate a clock with too low a rate. Configuring the I2C LCR.FLV/SLV register to 0x1ff and the WCR.CNT register to 0xff can reduce the speed to about 48k at most, but cannot go below 30k.

If a 30k I2C is indeed required, it is recommended to use the software GPIO emulation I2C method.