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.cAdding 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