I need to change the I2C frequency to a lower value respect standard 400KHz.
I need to use 10KHz (or 20KHz).
I tried to modify
mdm9607.dtsi file in
I edit line
qcom,clk-freq-out = <10000>;
then I recompile the SDK via command
but once I download the new firmware it is not working. Function
How can I modifiy the I2C frequency?
Thanks in advance for assistance.
I tried to use 100.000KHz (respect standard 400KHz) and it works.
How can I lower the frequency of the I2C clock below 100KHz?
Hi davdav.I probably understand your problem. But I don’t quite understand your statement. I2C protocol stipulates 100kbps, 400kbps and 3.4mbps. If it is a hardware I2C protocol, the rate can only be one of the three rates. Among them, the high rate depends on whether the module’s datasheet supports it.
Thanks for reply.
I2C is an asyncronous protocol and it can work at lower frequency.
In my case I have an external MCU which works as I2C slave device. I need lower frequency becasue I want MCU (STM8L151G2 device) to consume very few current and I need to lower its clock.
Is there any way to reduce the I2C clock frequency less than 100KHz?
I’m very sorry to reply to you now. I checked the datasheet of stm8l151g2, as shown in the following figure: I2C protocol supports 100kHz in standard mode and 400kHz in high-speed mode. Lower clock frequencies are not supported temporarily. I guess the low clock frequency may not meet the transmission rate required by the I2C protocol. I hope my answer can explain your question. Best wishes to you.
Datasheet says “Standard mode UP TO 100KHz” which means that in standard mode you can use a lower frequency. In fact, STM8L151G2 device can work with lower frequency (I tested by itself). For example reference manual of STM8L family (RM0031) at table 91 (page 518/597) shows how to setup registers in order to get lower frequency than 100KHz (for example 50KHz, 30KHz, 20KHz).
Thus, I’m looking a way to reduce I2C frequency of EC21-E (QuecOpen version).