Changing i2c frequency of i2c1 and i2c2 from 100 kHz to 400 kHz.


I would like to change the i2c frequency from 100 kHz to 400 kHz for the i2c busses which are not used for HDMI.

If I check the dmesg during boot I get:

(dmese | grep “i2c”)
0.134577] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 0.135557] input: tps65217_pwr_but as /devices/ocp.3/44e0b000.i2c/i2c-0/0-0024/input/input0
[ 0.144248] omap_i2c 44e0b000.i2c: unable to select pin group
[ 0.144783] omap_i2c 4819c000.i2c: bus 1 rev0.11 at 100 kHz
[ 0.146172] omap_i2c 4819c000.i2c: unable to select pin group
[ 0.742131] i2c /dev entries driver
[ 9.442219] omap_i2c 4802a000.i2c: bus 2 rev0.11 at 100 kHz
[ 9.442248] omap_i2c 4802a000.i2c: unable to select pin group

So I changed the all clock frequencies from 100 k to 400 k inside the dtb files which are loaded during boot:

But no reaction at all. I double checked with the osci but still only 10 us clock period (100 k).
Then I ve checked the the clock frequency register and there it is the same too:

od -bc /proc/device-tree/ocp/i2c@4802a000/clock-frequency

I could try to change the values there using mmap but I would prefer a solution using the overlays.
Or is it not possible to change it.

Kind regards,


Double check what *.dtb you are loading, because it sounds like your
not loading what you think your loading..

(making the change in the dtb is all that's required.)