From 38c49e01a01d444c78ce3d94fbf0d1a6bf3779ff Mon Sep 17 00:00:00 2001 From: Jie Zhang Date: Thu, 2 Apr 2026 13:13:16 -0400 Subject: arm: dts: add/fix I2C controllers for sc5xx 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 --- 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@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@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@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@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@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@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@31001000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "adi-i2c"; + reg = <0x31001000 0x100>; + clock-names = "i2c"; + status = "disabled"; + bootph-pre-ram; + }; + + i2c4: i2c4@31001100 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "adi-i2c"; + reg = <0x31001100 0x100>; + clock-names = "i2c"; + status = "disabled"; + bootph-pre-ram; + }; + + i2c5: i2c5@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; }; }; -- cgit v1.3.1