[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4fd44316-689e-1b72-d483-2c617d2a455d@linux.ibm.com>
Date: Thu, 12 May 2022 12:08:07 -0500
From: Eddie James <eajames@...ux.ibm.com>
To: Jonathan Cameron <Jonathan.Cameron@...wei.com>
Cc: linux-iio@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, krzysztof.kozlowski+dt@...aro.org,
robh+dt@...nel.org, lars@...afoo.de, jic23@...nel.org,
miltonm@...ibm.com
Subject: Re: [PATCH v2 0/2] iio: humidity: si7020: Check device property for
skipping reset in probe
On 5/12/22 11:48, Jonathan Cameron wrote:
> On Thu, 12 May 2022 11:20:18 -0500
> Eddie James <eajames@...ux.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
>>
Powered by blists - more mailing lists