[SRU][N:raspi][PATCH 11/13] dts: bcm2712-rpi: Add aliases for the CSI/DSI I2Cs

Juerg Haefliger juerg.haefliger at canonical.com
Tue Jun 3 07:35:24 UTC 2025


From: Phil Elwell <phil at raspberrypi.com>

BugLink: https://bugs.launchpad.net/bugs/2111928

Older Pis arrange that the camera I2C ports appear as /dev/i2c-10. Add
aliases so that on the Pi 5 family, i2c_csi_dsi0 becomes i2c-10 and
i2c_csi_dsi1 becomes i2c-11. Only the I2C buses that appear on the
40-pin header, i.e. I2C0 to I2C3, get a low bus number.

Also add hints for our udev rules about which symlinks to create for
backwards-compatibility with the previous bus numbers. Note that
lower numbers have priority, so i2c-0 on CM5 masks i2c-11, forcing
i2c-11 to be a symlink to i2c-0, not vice versa.

Signed-off-by: Phil Elwell <phil at raspberrypi.com>
(cherry picked from commit 36faab69e8eebfb7f587bddef96040c59d3daa7c rpi-6.6.y)
Signed-off-by: Juerg Haefliger <juerg.haefliger at canonical.com>
---
 arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts  | 2 ++
 arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi | 2 ++
 arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi     | 7 +++----
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
index 29ec62bd9e91..2bc80428f9e6 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
@@ -251,12 +251,14 @@ i2c_csi_dsi0: &i2c6 { // Note: This is for MIPI0 connector only
 	pinctrl-0 = <&rp1_i2c6_38_39>;
 	pinctrl-names = "default";
 	clock-frequency = <100000>;
+	symlink = "i2c-6";
 };
 
 i2c_csi_dsi1: &i2c4 { // Note: This is for MIPI1 connector only
 	pinctrl-0 = <&rp1_i2c4_40_41>;
 	pinctrl-names = "default";
 	clock-frequency = <100000>;
+	symlink = "i2c-4";
 };
 
 i2c_csi_dsi: &i2c_csi_dsi1 { }; // An alias for compatibility
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi
index 8942b626c9a4..c55a1d8d7915 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi
@@ -238,9 +238,11 @@ i2c_csi_dsi0: &i2c6 { // Note: This is for MIPI0 connector only
 	pinctrl-0 = <&rp1_i2c6_38_39>;
 	pinctrl-names = "default";
 	clock-frequency = <100000>;
+	symlink = "i2c-6";
 };
 
 i2c_csi_dsi1: &i2c0 { // Note: This is for MIPI1 connector
+	symlink = "i2c-11";
 };
 
 i2c_csi_dsi: &i2c_csi_dsi0 { }; // An alias for compatibility
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi
index c723629a9add..f335f25b2ea5 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi
@@ -87,12 +87,11 @@ aliases: aliases {
 		i2c = &i2c_arm;
 		i2c0 = &i2c0;
 		i2c1 = &i2c1;
-		i2c10 = &i2c_rp1boot;
 		i2c2 = &i2c2;
 		i2c3 = &i2c3;
-		i2c4 = &i2c4;
-		i2c5 = &i2c5;
-		i2c6 = &i2c6;
+		i2c10 = &i2c_csi_dsi0;
+		i2c11 = &i2c_csi_dsi1;
+		i2c12 = &i2c_rp1boot;
 		mailbox = &mailbox;
 		mmc0 = &sdio1;
 		serial0 = &uart0;
-- 
2.48.1




More information about the kernel-team mailing list