Received: by 2002:a05:6500:1b8f:b0:1fa:5c73:8e2d with SMTP id df15csp507079lqb; Wed, 29 May 2024 02:17:58 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCX7pIgVbEoAjRoxmDcCuq7kke843W1cdHbiQPW30IInN9HD2nqrbSwa9HrEvyB1U0Rzl/ouNuC6e7Yimf/Lip+HC2yhodw40h2OjwZE6w== X-Google-Smtp-Source: AGHT+IH0olK11PPAZ5Q5bXI0RqntSqy5zVbjWPV96WQIK9UpOf86aMWDT38GUvyB3VUFAYYTma67 X-Received: by 2002:ac8:7c49:0:b0:43d:e4c8:8059 with SMTP id d75a77b69052e-43fb0ea5fe0mr186089991cf.38.1716974277975; Wed, 29 May 2024 02:17:57 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1716974277; cv=pass; d=google.com; s=arc-20160816; b=Smm1OzsSPklwWXNjP9Flblc3bc3mL1wpt3sBB2tUVrQDN/7zEqL68UJQmbcI9R9jo8 oiNn/s4X5ueg2eb133PSl4GO3F5qSwvfoWyo3ddjVz8bGxa/4VSzibrKqGhac9mSsfBQ UJKOsGjhGaRAmOH0RG6zBOaEKMFcPUNh2IjJ/nuzegw0U7gzsW1J61QeWCaZ9h26C/Hq zCk8UV97ZIcb89/ulf5bg+V6Kdbwo5fEPhhZSoIUl2XDRce/9tG0FhroLzKVNLBJHi41 bmCGuRXYN/1Ksj9qvrnPpHiwFdy30FIQyKsjn0Z1DslQTQ5xUVtEOZ5tkmjIHtgHlpZU 4FDw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=VGSu2junM166eo2ekTBWdX+3iGwIta7UqT2TDo+DFpA=; fh=lYEaXplno8E3B7pWxee8JdXQt2GYeyBpwWnoFjMkn3A=; b=pi5X2WzDFq4W3/VOntyLUER0lHU6uIfrVlOYc2yc6FsenbnGUC7dxuYGnCewCQmwqV q8no6BUZQMCIDfjSykTJfVA+l6p3LsoFrGAyq17DkIat0km9xMPp7K7eR/fOnqMeZNcB O1mZpWb7UmH9DgfcImjE/Plk3FLIiNh3qshM4qru3tEAEwAWQakW6t9x2YttE+irdgFK rBFZy4vU40TL8z3CZ8D0CgGb0v/+Ijqi31pwsVM9j3b12l/jJYg0fqHIDtU37RzXOw3y NeVQnWiy48SDq6RZRCjOp2WBE8J2hYAaezJ9ev/htXds4me+4x10CwQCOZ7CHvC24aZD BFmQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=cAG55kEX; arc=pass (i=1 spf=pass spfdomain=bootlin.com dkim=pass dkdomain=bootlin.com dmarc=pass fromdomain=bootlin.com); spf=pass (google.com: domain of linux-kernel+bounces-193825-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-193825-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id d75a77b69052e-43fe2847543si11278071cf.50.2024.05.29.02.17.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 May 2024 02:17:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-193825-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=cAG55kEX; arc=pass (i=1 spf=pass spfdomain=bootlin.com dkim=pass dkdomain=bootlin.com dmarc=pass fromdomain=bootlin.com); spf=pass (google.com: domain of linux-kernel+bounces-193825-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-193825-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id AF91D1C236DC for ; Wed, 29 May 2024 09:17:57 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id CC83E161914; Wed, 29 May 2024 09:17:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="cAG55kEX" Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D245A15CD41; Wed, 29 May 2024 09:17:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.194 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716974272; cv=none; b=ncCRvnEVItE8xSaRKs81jMgtQ+e9fPQ+Np/ubNi42Gh/qiz2Nu1kOuBIbV5YGr92mGZVehi2UHo9sV63o33Ua1Xu1Cem/KoqOgwt+hGQnMlkmJGwVOsVeNkKgI8VoBriNn9Q6U+S00WrxY5z1aFR8vaMG/QKLJ6mkJlQvWf7YjY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716974272; c=relaxed/simple; bh=pVcY8brKHTTyuvaNTRKSX1bJjN/WbvVqShR0h/341m4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Q2RVD5htkHflKESIaJ9i47X6zcNXtE6UdxwAppnFO3KWYCrwl1koyp3dcw0iLd5dSHgiiJ25gFmaNm1HPJ+Ocuv3sQpsxos4sDnPyA15wNxltwp5Tlv0g8W3kvJ5Swr2zoMf+p/L7NHydIA9mD/1s1tezSguLTq45VqFyvo5y3U= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=cAG55kEX; arc=none smtp.client-ip=217.70.183.194 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPA id 90F1E40005; Wed, 29 May 2024 09:17:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1716974262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=VGSu2junM166eo2ekTBWdX+3iGwIta7UqT2TDo+DFpA=; b=cAG55kEXfs3opX//eb+q+Gv8b9IHUT756AwPP+NJYsTAFV4jdEOe5Jb75+7KDFD8+Ae85h 6R14laBVFnhrJljzK17lzT5rKj9w3bz/7GtSRyvnrmcxLrHCricipGTSsKLuLfJHamAex2 D1/mtvF4op74J5dtJoEuVM7GYntfiwQTACzzg17Em09c3m7BejRp4frZe2rh99YujEp/Vo OE1h7VxxkhJumfKYKnjhBK0E9p2WY7sIRQrjp59+JD+xSZc0X+0zhzR9V0ZRYH+NjWzUBC TrsFqtU4kgAdAhrxK0KSHz6h14kn3LMjEYKMd8a2mxc9614cz5Xs2Pmth6uOxw== From: Bastien Curutchet To: Peter Rosin , Andi Shyti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Peter Korsgaard , Wolfram Sang Cc: linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Thomas Petazzoni , Herve Codina , Christopher Cordahi , Bastien Curutchet Subject: [PATCH v2 0/3] i2c: mux: gpio: Add 'transition-delay-us' property Date: Wed, 29 May 2024 11:17:36 +0200 Message-ID: <20240529091739.10808-1-bastien.curutchet@bootlin.com> X-Mailer: git-send-email 2.44.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-GND-Sasl: bastien.curutchet@bootlin.com 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 Bastien Curutchet (3): dt-bindings: i2c: gpio: Add 'transition-delay-us' property i2c: mux: gpio: Re-order #include to match alphabetic order i2c: mux: gpio: Add support for the 'transition-delay-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.44.0