i2c bus speed
Posted: Wed Oct 03, 2018 7:20 pm
What is the i2c bus speed? 100kHz? 400kHz? 1MHz? Is there a way to configure the bus speed?
Power & Source of Big Ideas
https://www.friendlyelec.com/Forum/
https://www.friendlyelec.com/Forum/viewtopic.php?f=61&t=1867
&i2c0 {
status = "okay";
i2c-scl-rising-time-ns = <160>;
i2c-scl-falling-time-ns = <30>;
clock-frequency = <400000>;
&i2c1 {
status = "okay";
i2c-scl-rising-time-ns = <150>;
i2c-scl-falling-time-ns = <30>;
clock-frequency = <200000>;
&i2c2 {
status = "okay";
};
&i2c4 {
status = "okay";
i2c-scl-rising-time-ns = <160>;
i2c-scl-falling-time-ns = <30>;
clock-frequency = <400000>;
Code: Select all
/proc/device-tree/i2c*/clock-frequency
Code: Select all
import pathlib
import struct
for p in pathlib.Path('/proc/device-tree').glob('i2c*'):
print(p.name, (p / 'status').open().read(), end=' ')
freq_p = p / 'clock-frequency'
if freq_p.exists():
print('freq =', struct.unpack(">I", freq_p.open('rb').read()), end='')
print()
Code: Select all
i2c@ff3c0000 okay freq = (400000,)
i2c@ff3d0000 okay freq = (400000,)
i2c@ff3e0000 disabled
i2c@ff110000 okay freq = (200000,)
i2c@ff120000 okay
i2c@ff130000 disabled
i2c@ff140000 disabled
i2c@ff150000 disabled
i2c@ff160000 okay