Skip to content

Commit

Permalink
arm64: dts: Sort out CM5 and I/O board I2C ports
Browse files Browse the repository at this point in the history
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: 36faab6 ("dts: bcm2712-rpi: Add aliases for the CSI/DSI I2Cs")
See: #6421

Signed-off-by: Phil Elwell <[email protected]>
  • Loading branch information
pelwell committed Oct 24, 2024
1 parent 1af976d commit bd69720
Show file tree
Hide file tree
Showing 8 changed files with 46 additions and 61 deletions.
28 changes: 28 additions & 0 deletions arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm4io.dtsi
Original file line number Diff line number Diff line change
@@ -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;

Check failure on line 16 in arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm4io.dtsi

View workflow job for this annotation

GitHub Actions / checkpatch review

WARNING: please, no spaces at the start of a line
i2c10 = &i2c_csi_dsi;

Check failure on line 17 in arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm4io.dtsi

View workflow job for this annotation

GitHub Actions / checkpatch review

WARNING: please, no spaces at the start of a line
};

// The RP1 USB3 interfaces are not usable on CM4IO

&rp1_usb0 {
status = "disabled";
};

&rp1_usb1 {
status = "disabled";
};
17 changes: 1 addition & 16 deletions arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5-cm4io.dts
Original file line number Diff line number Diff line change
Expand Up @@ -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"
7 changes: 1 addition & 6 deletions arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5-cm5io.dts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,4 @@
/dts-v1/;

#include "bcm2712-rpi-cm5.dtsi"

/ {
__overrides__ {
i2c_csi_dsi = <&i2c_csi_dsi>, "status";
};
};
#include "bcm2712-rpi-cm5io.dtsi"
13 changes: 0 additions & 13 deletions arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -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
};

Expand Down
14 changes: 14 additions & 0 deletions arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5io.dtsi
Original file line number Diff line number Diff line change
@@ -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
17 changes: 1 addition & 16 deletions arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5l-cm4io.dts
Original file line number Diff line number Diff line change
Expand Up @@ -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"
7 changes: 1 addition & 6 deletions arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5l-cm5io.dts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,4 @@
/dts-v1/;

#include "bcm2712-rpi-cm5l.dtsi"

/ {
__overrides__ {
i2c_csi_dsi = <&i2c_csi_dsi>, "status";
};
};
#include "bcm2712-rpi-cm5io.dtsi"
4 changes: 0 additions & 4 deletions arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5l.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@

/ {
model = "Raspberry Pi Compute Module 5 Lite";

__overrides__ {
i2c_csi_dsi = <&i2c_csi_dsi>, "status";
};
};

&sd_io_1v8_reg {
Expand Down

0 comments on commit bd69720

Please sign in to comment.