I tried to set the three i2c bus frequencies of imx8m to 400kHz. The input clock of I2C is 25M_REF_CLK.
However, the actual test found that i2c0 clk is only 342kHz, i2c1 clk is 373kHz, and i2c2 clk is 373kHz. According to the frequency division formula, i2c clk should be 384kHz.
Why does i2c clk output different frequencies when the same 400K is set?
Why is the clock frequency of i2c very inaccurate?