[PATCH 1/1] arm: dts: add/fix I2C controllers for sc5xx

Jie Zhang jzhang918 at gmail.com
Thu Apr 2 19:13:16 CEST 2026


From: Jie Zhang <jie.zhang at analog.com>

sc59x processors have 6 I2C controllers, but their devicetrees
currently have only 3. The length of its register block should
be 0x100 instead of 0x1000. All I2C nodes should be disabled in
sc5xx.dtsi. They can be enabled in board devicetree files if
they are used on the boards. Add missing I2C controllers and
fix the above issues.

Signed-off-by: Jie Zhang <jie.zhang at analog.com>
---
 arch/arm/dts/sc573-ezlite.dts    |  2 ++
 arch/arm/dts/sc584-ezkit.dts     |  2 ++
 arch/arm/dts/sc589-ezkit.dts     |  2 ++
 arch/arm/dts/sc594-som.dtsi      | 13 +++++++++++++
 arch/arm/dts/sc598-som-revD.dtsi |  2 ++
 arch/arm/dts/sc598-som-revE.dtsi |  2 ++
 arch/arm/dts/sc598-som.dtsi      | 12 ++++++++++++
 arch/arm/dts/sc59x.dtsi          | 30 ++++++++++++++++++++++++++++++
 arch/arm/dts/sc5xx.dtsi          | 12 ++++++------
 9 files changed, 71 insertions(+), 6 deletions(-)

diff --git a/arch/arm/dts/sc573-ezlite.dts b/arch/arm/dts/sc573-ezlite.dts
index 57604d707f7..f128c4f9697 100644
--- a/arch/arm/dts/sc573-ezlite.dts
+++ b/arch/arm/dts/sc573-ezlite.dts
@@ -14,6 +14,8 @@
 };
 
 &i2c0 {
+	status = "okay";
+
 	gpio_expander0: mcp23017 at 21 {
 		compatible = "microchip,mcp23017";
 		reg = <0x21>;
diff --git a/arch/arm/dts/sc584-ezkit.dts b/arch/arm/dts/sc584-ezkit.dts
index 176faa50672..3a6d60b3f29 100644
--- a/arch/arm/dts/sc584-ezkit.dts
+++ b/arch/arm/dts/sc584-ezkit.dts
@@ -13,6 +13,8 @@
 };
 
 &i2c2 {
+	status = "okay";
+
 	gpio_expander0: mcp23017 at 21 {
 		compatible = "microchip,mcp23017";
 		reg = <0x21>;
diff --git a/arch/arm/dts/sc589-ezkit.dts b/arch/arm/dts/sc589-ezkit.dts
index d8eb5b6f8fe..04ad8e44cbb 100644
--- a/arch/arm/dts/sc589-ezkit.dts
+++ b/arch/arm/dts/sc589-ezkit.dts
@@ -17,6 +17,8 @@
 &i2c0 {
 	#address-cells = <1>;
 	#size-cells = <0>;
+	status = "okay";
+
 	gpio_expander0: mcp23017 at 21 {
 		compatible = "microchip,mcp23017";
 		reg = <0x21>;
diff --git a/arch/arm/dts/sc594-som.dtsi b/arch/arm/dts/sc594-som.dtsi
index 1c2adc601dd..c4373aea60f 100644
--- a/arch/arm/dts/sc594-som.dtsi
+++ b/arch/arm/dts/sc594-som.dtsi
@@ -79,6 +79,7 @@
 
 &i2c2 {
 	clocks = <&clk ADSP_SC594_CLK_CGU0_SCLK0>;
+	status = "okay";
 
 	som_gpio_expander: mcp23017 at 21 {
 		compatible = "microchip,mcp23017";
@@ -153,6 +154,18 @@
 	};
 };
 
+&i2c3 {
+	clocks = <&clk ADSP_SC594_CLK_CGU0_SCLK0>;
+};
+
+&i2c4 {
+	clocks = <&clk ADSP_SC594_CLK_CGU0_SCLK0>;
+};
+
+&i2c5 {
+	clocks = <&clk ADSP_SC594_CLK_CGU0_SCLK0>;
+};
+
 &ospi {
 	status = "okay";
 
diff --git a/arch/arm/dts/sc598-som-revD.dtsi b/arch/arm/dts/sc598-som-revD.dtsi
index 26e272966ff..06d550b8532 100644
--- a/arch/arm/dts/sc598-som-revD.dtsi
+++ b/arch/arm/dts/sc598-som-revD.dtsi
@@ -8,6 +8,8 @@
 #include "sc598-som.dtsi"
 
 &i2c2 {
+	status = "okay";
+
 	som_gpio_expander: mcp23018 at 20 {
 		compatible = "microchip,mcp23018";
 		reg = <0x20>;
diff --git a/arch/arm/dts/sc598-som-revE.dtsi b/arch/arm/dts/sc598-som-revE.dtsi
index bec504102e7..1f48d52109b 100644
--- a/arch/arm/dts/sc598-som-revE.dtsi
+++ b/arch/arm/dts/sc598-som-revE.dtsi
@@ -8,6 +8,8 @@
 #include "sc598-som.dtsi"
 
 &i2c2 {
+	status = "okay";
+
 	som_gpio_expander: adp5587 at 34 {
 		compatible = "adi,adp5587";
 		reg = <0x34>;
diff --git a/arch/arm/dts/sc598-som.dtsi b/arch/arm/dts/sc598-som.dtsi
index bc212ef25cb..ac1f24c86c3 100644
--- a/arch/arm/dts/sc598-som.dtsi
+++ b/arch/arm/dts/sc598-som.dtsi
@@ -138,6 +138,18 @@
 	clocks = <&clk ADSP_SC598_CLK_CGU0_SCLK0>;
 };
 
+&i2c3 {
+	clocks = <&clk ADSP_SC598_CLK_CGU0_SCLK0>;
+};
+
+&i2c4 {
+	clocks = <&clk ADSP_SC598_CLK_CGU0_SCLK0>;
+};
+
+&i2c5 {
+	clocks = <&clk ADSP_SC598_CLK_CGU0_SCLK0>;
+};
+
 &spi2 {
 	clocks = <&clk ADSP_SC598_CLK_SPI>;
 };
diff --git a/arch/arm/dts/sc59x.dtsi b/arch/arm/dts/sc59x.dtsi
index ff279cca2d1..64e5a1afc53 100644
--- a/arch/arm/dts/sc59x.dtsi
+++ b/arch/arm/dts/sc59x.dtsi
@@ -86,6 +86,36 @@
 			pinctrl-0 = <&usb0_default>;
 			status = "disabled";
 		};
+
+		i2c3: i2c3 at 31001000 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "adi-i2c";
+			reg = <0x31001000 0x100>;
+			clock-names = "i2c";
+			status = "disabled";
+			bootph-pre-ram;
+		};
+
+		i2c4: i2c4 at 31001100 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "adi-i2c";
+			reg = <0x31001100 0x100>;
+			clock-names = "i2c";
+			status = "disabled";
+			bootph-pre-ram;
+		};
+
+		i2c5: i2c5 at 31001200 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			compatible = "adi-i2c";
+			reg = <0x31001200 0x100>;
+			clock-names = "i2c";
+			status = "disabled";
+			bootph-pre-ram;
+		};
 	};
 };
 
diff --git a/arch/arm/dts/sc5xx.dtsi b/arch/arm/dts/sc5xx.dtsi
index 072631e34f7..b821deddda7 100644
--- a/arch/arm/dts/sc5xx.dtsi
+++ b/arch/arm/dts/sc5xx.dtsi
@@ -140,9 +140,9 @@
 			#address-cells = <1>;
 			#size-cells = <0>;
 			compatible = "adi-i2c";
-			reg = <0x31001400 0x1000>;
+			reg = <0x31001400 0x100>;
 			clock-names = "i2c";
-			status = "okay";
+			status = "disabled";
 			bootph-pre-ram;
 		};
 
@@ -150,9 +150,9 @@
 			#address-cells = <1>;
 			#size-cells = <0>;
 			compatible = "adi-i2c";
-			reg = <0x31001500 0x1000>;
+			reg = <0x31001500 0x100>;
 			clock-names = "i2c";
-			status = "okay";
+			status = "disabled";
 			bootph-pre-ram;
 		};
 
@@ -160,9 +160,9 @@
 			#address-cells = <1>;
 			#size-cells = <0>;
 			compatible = "adi-i2c";
-			reg = <0x31001600 0x1000>;
+			reg = <0x31001600 0x100>;
 			clock-names = "i2c";
-			status = "okay";
+			status = "disabled";
 			bootph-pre-ram;
 		};
 	};
-- 
2.53.0



More information about the U-Boot mailing list