Date: Mon, 1 Jul 2019 19:18:59 +0300 From: Andriy Gapon <avg@FreeBSD.org> To: Poul-Henning Kamp <phk@phk.freebsd.dk> Cc: FreeBSD Current <freebsd-current@FreeBSD.org> Subject: Re: i2c bit banging timeout for SCL Message-ID: <219f9907-5e66-018e-4fd5-550e522b1ecf@FreeBSD.org> In-Reply-To: <92906.1561997793@critter.freebsd.dk> References: <a3538c10-2438-a287-77db-ad390078b274@FreeBSD.org> <92906.1561997793@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
On 01/07/2019 19:16, Poul-Henning Kamp wrote: > -------- > In message <a3538c10-2438-a287-77db-ad390078b274@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?219f9907-5e66-018e-4fd5-550e522b1ecf>