Files
openwrt-master/target/linux/bcm27xx/patches-6.6/950-0963-dtoverlays-Add-a-disconnect_on_idle-override-to-i2c-.patch
domenico c06fb25d1f
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
Initial commit
2025-06-24 14:35:53 +02:00

52 lines
1.7 KiB
Diff

From 9c9330a7ad5dab82517a3f712099f54a4a1a6f3e Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Thu, 14 Mar 2024 15:25:19 +0000
Subject: [PATCH 0963/1085] dtoverlays: Add a disconnect_on_idle override to
i2c-mux
When running multiple muxes, in order to be able to reuse the
same address on child buses of different muxes you have to
disconnect the mux after every transaction.
Add an override to select that option.
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
arch/arm/boot/dts/overlays/README | 3 +++
arch/arm/boot/dts/overlays/i2c-mux-overlay.dts | 6 ++++++
2 files changed, 9 insertions(+)
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -2042,6 +2042,9 @@ Params: pca9542 Select t
i2c6 Choose the I2C6 bus (configure with the i2c6
overlay - BCM2711 only)
+ disconnect_on_idle Force the mux to disconnect all child buses
+ after every transaction.
+
[ The i2c-mux-pca9548a overlay has been deleted. See i2c-mux. ]
--- a/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts
+++ b/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts
@@ -3,6 +3,8 @@
/dts-v1/;
/plugin/;
+#include <dt-bindings/mux/mux.h>
+
/{
compatible = "brcm,bcm2835";
@@ -169,5 +171,9 @@
<&frag100>, "target-path=i2c5";
i2c6 = <&frag100>, "target?=0",
<&frag100>, "target-path=i2c6";
+ disconnect_on_idle =
+ <&pca9542>,"idle-state:0=", <MUX_IDLE_DISCONNECT>,
+ <&pca9545>,"idle-state:0=", <MUX_IDLE_DISCONNECT>,
+ <&pca9548>,"idle-state:0=", <MUX_IDLE_DISCONNECT>;
};
};