Thread (9 messages) 9 messages, 4 authors, 2025-09-16

Re: [PATCH v1 0/2] i2c: muxes: Add GPIO-detected hotplug I2C

From: Herve Codina <herve.codina@bootlin.com>
Date: 2025-09-16 06:20:10
Also in: linux-i2c, lkml

Hi Wolfram,

On Mon, 15 Sep 2025 17:42:06 +0200
Wolfram Sang [off-list ref] wrote:
On Mon, Sep 15, 2025 at 02:53:23PM +0300, Svyatoslav Ryhel wrote:
quoted
пн, 15 вер. 2025 р. о 14:35 Wolfram Sang
[off-list ref] пише:  
quoted
On Mon, Sep 15, 2025 at 09:01:36AM +0300, Svyatoslav Ryhel wrote:  
quoted
Implement driver for hot-plugged I2C busses, where some devices on
a bus are hot-pluggable and their presence is indicated by GPIO line.
This feature is used by the ASUS Transformers family, by the  Microsoft
Surface RT/2 and maybe more.

ASUS Transformers expose i2c line via proprietary 40 pin plug and wire
that line through optional dock accessory. Devices in the dock are
connected to this i2c line and docks presence is detected by a dedicted
GPIO.

Michał Mirosław (1):
  i2c: muxes: Add GPIO-detected hotplug I2C

Svyatoslav Ryhel (1):
  dt-bindings: i2c: Document GPIO detected hot-plugged I2C bus

 .../bindings/i2c/i2c-hotplug-gpio.yaml        |  65 +++++
 drivers/i2c/muxes/Kconfig                     |  11 +
 drivers/i2c/muxes/Makefile                    |   1 +
 drivers/i2c/muxes/i2c-hotplug-gpio.c          | 263 ++++++++++++++++++
 4 files changed, 340 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/i2c/i2c-hotplug-gpio.yaml
 create mode 100644 drivers/i2c/muxes/i2c-hotplug-gpio.c  
Adding Herve and Luca to CC because they want to achieve the same with
their I2C bus extensions, no?  
Sorry, a misunderstanding: the question was for Herve and Luca. I wanted
to ask for a comment from them if this is the same problem (which I
think it is). The question was not meant for you.
Indeed, we try to handle the same use case.

The i2c-hotplug-gpio.c driver handles only an connector with an I2C bus.

On our side, we try to have something more generic that can handle more
than one I2C and some other busses and resources (gpio, pwm, ...) wired
to a connector.

To move this i2c-hotplug-gpio to our proposal direction, this should become
a connector driver with a i2c bus extension and an addon DT describing the
i2c devices available on the addon board.

The connector driver should monitor the gpio and apply the addon DT when it
detects the addon plugged.

Also, I am waiting for conclusions in the export symbols discussion [1] to
re-spin the i2c bus extension series.

Best regards,
Hervé

[1]: https://lore.kernel.org/all/20250902105710.00512c6d@booty/ (local)

-- 
Hervé Codina, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help