On Fri, Feb 16, 2018 at 4:21 PM, Vipul Rahane <[email protected]> wrote:
> Hello, > > This has come up more than once and just wanted to hash out a design for > the I2C manager driver. Having more than one slave is quite common and the > slowest slave pulls the clock low prohibiting the master from starting > another transaction on the bus. > > What we would like to have is : > > 1. Using the bus while we are waiting for responses from a slave (I assume > this would be a case of clock stretching by the slave) > If a slave is clock-stretching, there is nothing you can do. The bus can't just magically be used with other nodes. In fact, if a slave is holding SCL LOW to stretch, then the whole bus is screwed IF/until that slave releases SCL. If it *never* does ... heh. Whoops. ... I ran into this once. There is just no way to say "dude. let up on the SCL." ... I had to reset my entire I2C network. So... not sure what you're thinking here. Cheers, -g
