]> git.ipfire.org Git - thirdparty/openwrt.git/blob
dd59a0d15db97904083ae32583f9980dcad1e878
[thirdparty/openwrt.git] /
1 From 9c9330a7ad5dab82517a3f712099f54a4a1a6f3e Mon Sep 17 00:00:00 2001
2 From: Dave Stevenson <dave.stevenson@raspberrypi.com>
3 Date: Thu, 14 Mar 2024 15:25:19 +0000
4 Subject: [PATCH 0963/1085] dtoverlays: Add a disconnect_on_idle override to
5 i2c-mux
6
7 When running multiple muxes, in order to be able to reuse the
8 same address on child buses of different muxes you have to
9 disconnect the mux after every transaction.
10
11 Add an override to select that option.
12
13 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
14 ---
15 arch/arm/boot/dts/overlays/README | 3 +++
16 arch/arm/boot/dts/overlays/i2c-mux-overlay.dts | 6 ++++++
17 2 files changed, 9 insertions(+)
18
19 --- a/arch/arm/boot/dts/overlays/README
20 +++ b/arch/arm/boot/dts/overlays/README
21 @@ -2042,6 +2042,9 @@ Params: pca9542 Select t
22 i2c6 Choose the I2C6 bus (configure with the i2c6
23 overlay - BCM2711 only)
24
25 + disconnect_on_idle Force the mux to disconnect all child buses
26 + after every transaction.
27 +
28
29 [ The i2c-mux-pca9548a overlay has been deleted. See i2c-mux. ]
30
31 --- a/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts
32 +++ b/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts
33 @@ -3,6 +3,8 @@
34 /dts-v1/;
35 /plugin/;
36
37 +#include <dt-bindings/mux/mux.h>
38 +
39 /{
40 compatible = "brcm,bcm2835";
41
42 @@ -169,5 +171,9 @@
43 <&frag100>, "target-path=i2c5";
44 i2c6 = <&frag100>, "target?=0",
45 <&frag100>, "target-path=i2c6";
46 + disconnect_on_idle =
47 + <&pca9542>,"idle-state:0=", <MUX_IDLE_DISCONNECT>,
48 + <&pca9545>,"idle-state:0=", <MUX_IDLE_DISCONNECT>,
49 + <&pca9548>,"idle-state:0=", <MUX_IDLE_DISCONNECT>;
50 };
51 };