Re: i2c bit banging timeout for SCL

From: Andriy Gapon <avg_at_FreeBSD.org>
Date: Mon, 1 Jul 2019 19:18:59 +0300
On 01/07/2019 19:16, Poul-Henning Kamp wrote:
> --------
> 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 ?

An ioctl that could set the value per slave sounds like a very good idea.
But it's a little bit more work than I planned for now, so it's a sysctl to set
the default global value.

-- 
Andriy Gapon
Received on Mon Jul 01 2019 - 14:19:09 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:21 UTC