[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <oupp5mr6llnt43e6bbw2hbzlbru54wyqjxvfrwidfg6rojzdaj@v5ldbpldldpw>
Date: Tue, 9 Jul 2024 23:45:21 +0200
From: Andi Shyti <andi.shyti@...nel.org>
To: Bastien Curutchet <bastien.curutchet@...tlin.com>
Cc: Peter Rosin <peda@...ntia.se>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Peter Korsgaard <peter.korsgaard@...co.com>, Wolfram Sang <wsa@...nel.org>, linux-i2c@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>, Herve Codina <herve.codina@...tlin.com>,
Christopher Cordahi <christophercordahi@...ometrics.ca>
Subject: Re: [PATCH v3 0/3] i2c: mux: gpio: Add 'settle-time-us' property
Hi Peter,
any thoughts on this. Do you want me to go ahead and pick this
series up?
Andi
On Mon, Jun 17, 2024 at 02:08:15PM GMT, Bastien Curutchet wrote:
> Hi all,
>
> The i2c-gpio-mux can be used to describe a multiplexer built upon
> several i2c isolators having an enable pin (such as LTC4310):
>
> +---------------+ +------+ +------+
> | +-----------+ | | dev | | dev |
> | | GPIO_EN_A |-|-----------| +------+ +------+
> | +-----------+ | +-----+---+ | |
> | | |--| isol. A |---------+---------+
> | +-----+ | | +---------+
> | SOC | I2C |---|--|
> | +-----+ | | +---------+
> | | |--| isol. B |------+---------+---------+
> | +-----------+ | +-----+---+ | | |
> | | GPIO_EN_B |-|-----------| +------+ +------+ +------+
> | +-----------+ | | dev | | dev | | dev |
> +---------------+ +------+ +------+ +------+
>
> These isolators often need some time between their enable pin's
> assertion and the first i2c transfer. If the first i2c transfer
> happens before this enabling time is reached, transfer fails.
>
> There is no available option to configure such a time in the
> i2c-gpio-mux driver.
>
> Add a optional property in the bindings called 'transition-delay-us'.
> If present, driver waits for this delay every time a new bus is
> selected, i.e. before returning from the bus_select() callback.
>
> Changes in v2:
> * Rewrite bindings' commit log
> * Express the 'transition delay' in us instead of ms
>
> Changes in v3:
> * Rename DT property to 'settle-time-us'
> * Use fsleep instead of udelay
>
> [v1] : https://lore.kernel.org/all/20240527113908.127893-1-bastien.curutchet@bootlin.com/
> [v2] : https://lore.kernel.org/all/20240529091739.10808-1-bastien.curutchet@bootlin.com/
>
> Bastien Curutchet (3):
> dt-bindings: i2c: gpio: Add 'settle-time-us' property
> i2c: mux: gpio: Re-order #include to match alphabetic order
> i2c: mux: gpio: Add support for the 'settle-time-us' property
>
> .../devicetree/bindings/i2c/i2c-mux-gpio.yaml | 3 +++
> drivers/i2c/muxes/i2c-mux-gpio.c | 14 ++++++++++----
> include/linux/platform_data/i2c-mux-gpio.h | 2 ++
> 3 files changed, 15 insertions(+), 4 deletions(-)
>
> --
> 2.45.0
>
Powered by blists - more mailing lists