Re: [PATCH v3 0/3] i2c: mux: gpio: Add 'settle-time-us' property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxx/
> [v2] : https://lore.kernel.org/all/20240529091739.10808-1-bastien.curutchet@xxxxxxxxxxx/
> 
> 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
> 




[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux