[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241018100338.19420-2-wojciech.siudy@nokia.com>
Date: Fri, 18 Oct 2024 12:03:37 +0200
From: Wojciech Siudy <wojciech.siudy@...ia.com>
To: linux-kernel@...r.kernel.org,
linux-i2c@...r.kernel.org,
devicetree@...r.kernel.org
Cc: andi.shyti@...nel.org,
peda@...ntia.se,
Wojciech Siudy <wojciech.siudy@...ia.com>
Subject: [PATCH v5 1/2] dt-bindings: i2c: pca954x: Add timeout reset property
For cases when the mux shares reset line with other chips we cannot
use it always when channel selection or deselection times out, because
it could break them without proper init/probe. The property is
necessary, because reset lines are board-specific.
Signed-off-by: Wojciech Siudy <wojciech.siudy@...ia.com>
---
Changelog:
v5:
* Declare dependency of a new property
---
.../devicetree/bindings/i2c/i2c-mux-pca954x.yaml | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
index 9aa0585200c9..37882a5a8c87 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
+++ b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
@@ -63,6 +63,11 @@ properties:
necessary for example, if there are several multiplexers on the bus and
the devices behind them use same I2C addresses.
+ i2c-mux-timeout-reset:
+ type: boolean
+ description: Sends reset pulse if channel selection or deselection times
+ out. Do not use if other chips share the same reset line.
+
idle-state:
description: if present, overrides i2c-mux-idle-disconnect
$ref: /schemas/mux/mux-controller.yaml#/properties/idle-state
@@ -88,6 +93,9 @@ properties:
register activates a channel to detect a stuck high fault. On fault the
channel is isolated from the upstream bus.
+dependencies:
+ i2c-mux-timeout-reset: [ reset-gpios ]
+
required:
- compatible
- reg
@@ -146,6 +154,9 @@ examples:
interrupt-parent = <&ipic>;
interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller;
+ reset-gpios = <&gpio1 27 1>;
+ i2c-mux-idle-disconnect;
+ i2c-mux-timeout-reset;
#interrupt-cells = <2>;
i2c@2 {
--
2.34.1
Powered by blists - more mailing lists