On 5/12/22 11:48, Jonathan Cameron wrote:
On Thu, 12 May 2022 11:20:18 -0500
Eddie James <eajames@xxxxxxxxxxxxx> 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.
Also, I should mention that in our case we can rely on the power on
reset, so the device should be in a known state.
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