i2c bit banging timeout for SCL

Poul-Henning Kamp phk at phk.freebsd.dk
Mon Jul 1 16:16:42 UTC 2019


--------
In message <a3538c10-2438-a287-77db-ad390078b274 at FreeBSD.org>, Andriy Gapon writes:

>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.

sysctl or ioctl ?

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the freebsd-current mailing list