i2c bit banging timeout for SCL
Andriy Gapon
avg at FreeBSD.org
Mon Jul 1 16:11:41 UTC 2019
iicbb driver has a hardcoded timeout that defines how long the driver waits for
SCL line to go high after the driver releases it to float. Sometimes slaves
hold the line low until they are ready to continue with the communication.
As a side note, the timeout means that the driver just goes on as if the line
became high. Maybe it should produce an error instead.
Anyway, I would like to increase the current timeout of 100 x 10us to 1000 x
10us. The rationale is that there are many slave devices, like sensors, that
take about 10 ms to return a result. So, I think that it makes sense to play
nice with such devices by default.
Probably I'll add a sysctl for that parameter while I'll be there.
Any objections?
--
Andriy Gapon
More information about the freebsd-current
mailing list