[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