0
0
mirror of https://git.openwrt.org/openwrt/openwrt.git synced 2024-11-22 04:56:15 +00:00
openwrt/target/linux/bcm27xx/patches-6.6/950-1350-arm64-dts-Sort-out-CM5-and-I-O-board-I2C-ports.patch
Álvaro Fernández Rojas 538a1d740c bcm27xx: update to latest RPi patches
The patches were generated from the RPi repo with the following command:
git format-patch v6.6.58..rpi-6.6.y

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-10-31 13:44:23 +01:00

186 lines
4.8 KiB
Diff

From 4622323f5c9e540f3356f2229c4d551b31cc234d Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Thu, 24 Oct 2024 15:38:36 +0100
Subject: [PATCH 1350/1350] arm64: dts: Sort out CM5 and I/O board I2C ports
There is a difference in I2C usage between CM4IO and CM5IO. Present a
simple, consistent view of the world by moving the assignment of the
bus IDs into carrier-specific files.
CM5 has reduced connectivity on CM4IO - the DPHYs are connected to
CAM1 and DISP1. Keep i2c-10 for use with that pair, as is the case for
CM4 on CM4IO.
Fixes: 36faab69e8ee ("dts: bcm2712-rpi: Add aliases for the CSI/DSI I2Cs")
See: https://github.com/raspberrypi/linux/pull/6421
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
.../boot/dts/broadcom/bcm2712-rpi-cm4io.dtsi | 28 +++++++++++++++++++
.../dts/broadcom/bcm2712-rpi-cm5-cm4io.dts | 17 +----------
.../dts/broadcom/bcm2712-rpi-cm5-cm5io.dts | 7 +----
.../boot/dts/broadcom/bcm2712-rpi-cm5.dtsi | 13 ---------
.../boot/dts/broadcom/bcm2712-rpi-cm5io.dtsi | 14 ++++++++++
.../dts/broadcom/bcm2712-rpi-cm5l-cm4io.dts | 17 +----------
.../dts/broadcom/bcm2712-rpi-cm5l-cm5io.dts | 7 +----
.../boot/dts/broadcom/bcm2712-rpi-cm5l.dtsi | 4 ---
8 files changed, 46 insertions(+), 61 deletions(-)
create mode 100644 arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm4io.dtsi
create mode 100644 arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5io.dtsi
--- /dev/null
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm4io.dtsi
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0
+
+i2c_csi_dsi0: &i2c0 { // Note: For CAM0 and DISP0 connectors
+};
+
+i2c_csi_dsi1: &i2c6 { // Note: For CAM1, DISP1, on-board RTC, and fan controller
+ pinctrl-0 = <&rp1_i2c6_38_39>;
+ pinctrl-names = "default";
+ clock-frequency = <100000>;
+ symlink = "i2c-6";
+};
+
+i2c_csi_dsi: &i2c_csi_dsi1 { }; // The connector that needs no jumper to enable
+
+&aliases {
+ /delete-property/ i2c11;
+ i2c10 = &i2c_csi_dsi;
+};
+
+// The RP1 USB3 interfaces are not usable on CM4IO
+
+&rp1_usb0 {
+ status = "disabled";
+};
+
+&rp1_usb1 {
+ status = "disabled";
+};
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5-cm4io.dts
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5-cm4io.dts
@@ -2,19 +2,4 @@
/dts-v1/;
#include "bcm2712-rpi-cm5.dtsi"
-
-// The RP1 USB3 interfaces are not usable on CM4IO
-
-&rp1_usb0 {
- status = "disabled";
-};
-
-&rp1_usb1 {
- status = "disabled";
-};
-
-/ {
- __overrides__ {
- i2c_csi_dsi = <&i2c_csi_dsi>, "status";
- };
-};
+#include "bcm2712-rpi-cm4io.dtsi"
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5-cm5io.dts
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5-cm5io.dts
@@ -2,9 +2,4 @@
/dts-v1/;
#include "bcm2712-rpi-cm5.dtsi"
-
-/ {
- __overrides__ {
- i2c_csi_dsi = <&i2c_csi_dsi>, "status";
- };
-};
+#include "bcm2712-rpi-cm5io.dtsi"
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi
@@ -234,19 +234,6 @@ aux: &dummy {};
#include "bcm2712-rpi.dtsi"
-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_dsi1 { }; // An alias for compatibility
-
cam1_reg: &cam0_reg { // Shares CAM_GPIO with cam0_reg
};
--- /dev/null
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5io.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0
+
+i2c_csi_dsi1: &i2c0 { // Note: This is for CAM/DISP 1 connector
+ symlink = "i2c-11";
+};
+
+i2c_csi_dsi0: &i2c6 { // Note: This is for CAM/DISP 0 connector
+ pinctrl-0 = <&rp1_i2c6_38_39>;
+ pinctrl-names = "default";
+ clock-frequency = <100000>;
+ symlink = "i2c-6";
+};
+
+i2c_csi_dsi: &i2c_csi_dsi0 { }; // The connector that needs no jumper to enable
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5l-cm4io.dts
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5l-cm4io.dts
@@ -2,19 +2,4 @@
/dts-v1/;
#include "bcm2712-rpi-cm5l.dtsi"
-
-// The RP1 USB3 interfaces are not usable on CM4IO
-
-&rp1_usb0 {
- status = "disabled";
-};
-
-&rp1_usb1 {
- status = "disabled";
-};
-
-/ {
- __overrides__ {
- i2c_csi_dsi = <&i2c_csi_dsi>, "status";
- };
-};
+#include "bcm2712-rpi-cm4io.dtsi"
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5l-cm5io.dts
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5l-cm5io.dts
@@ -2,9 +2,4 @@
/dts-v1/;
#include "bcm2712-rpi-cm5l.dtsi"
-
-/ {
- __overrides__ {
- i2c_csi_dsi = <&i2c_csi_dsi>, "status";
- };
-};
+#include "bcm2712-rpi-cm5io.dtsi"
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5l.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5l.dtsi
@@ -5,10 +5,6 @@
/ {
model = "Raspberry Pi Compute Module 5 Lite";
-
- __overrides__ {
- i2c_csi_dsi = <&i2c_csi_dsi>, "status";
- };
};
&sd_io_1v8_reg {