lkml.org 
[lkml]   [2022]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v2 0/2] iio: humidity: si7020: Check device property for skipping reset in probe
From

On 5/12/22 11:48, Jonathan Cameron wrote:
> On Thu, 12 May 2022 11:20:18 -0500
> Eddie James <eajames@linux.ibm.com> wrote:
>
>> I2C commands issued after the SI7020 is starting up or after reset
>> can potentially upset the startup sequence. Therefore, the host
>> needs to wait for the startup sequence to finish before issuing
>> further i2c commands. This is impractical in cases where the SI7020
>> is on a shared bus or behind a mux, which may switch channels at
>> any time (generating I2C traffic). Therefore, check for a device
>> property that indicates that the driver should skip resetting the
>> device when probing.
> Why not lock the bus? It's not ideal, but then not resetting and hence
> potentially ending up in an unknown state isn't great either.


Agreed, but locking the bus doesn't work in the case where the chip is
behind a mux. The mux core driver deselects the mux immediately after
the transfer to reset the si7020, causing some i2c traffic, breaking the
si7020. So it would also be a requirement to configure the mux to idle
as-is... That's why I went with the optional skipping of the reset.
Maybe I should add the bus lock too?


Thanks,

Eddie


>
> Jonathan
>
>> Changes since v1:
>> - Fix dt binding document
>>
>> Eddie James (2):
>> dt-bindings: iio: humidity: Add si7020 bindings
>> iio: humidity: si7020: Check device property for skipping reset in probe
>>
>> .../bindings/iio/humidity/silabs,si7020.yaml | 47 +++++++++++++++++++
>> .../devicetree/bindings/trivial-devices.yaml | 2 -
>> drivers/iio/humidity/si7020.c | 14 +++---
>> 3 files changed, 55 insertions(+), 8 deletions(-)
>> create mode 100644 Documentation/devicetree/bindings/iio/humidity/silabs,si7020.yaml
>>

\
 
 \ /
  Last update: 2022-05-12 19:22    [W:0.217 / U:0.328 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site