openwrt/target/linux/bcm27xx/patches-6.6/950-0963-dtoverlays-Add-a-disconnect_on_idle-override-to-i2c-.patch
Álvaro Fernández Rojas 8c405cdccc bcm27xx: add 6.6 kernel patches
The patches were generated from the RPi repo with the following command:
git format-patch v6.6.34..rpi-6.1.y

Some patches needed rebasing and, as usual, the applied and reverted, wireless
drivers, Github workflows, READMEs and defconfigs patches were removed.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-06-18 18:52:49 +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>;
};
};