[PATCH 02/10] arm64: dts: ti: k3-am64: Enable I2C nodes at the board level

From: Andrew Davis
Date: Mon Oct 17 2022 - 15:27:15 EST


I2C nodes defined in the top-level AM64x SoC dtsi files are incomplete
and will not be functional unless they are extended with pinmux
information.

As the pinmux is only known at the board integration level, these
nodes should only be enabled when provided with this information.

Disable the I2C nodes in the dtsi files and only enable the ones that
are actually pinned out on a given board.

Signed-off-by: Andrew Davis <afd@xxxxxx>
---
arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 4 ++++
arch/arm64/boot/dts/ti/k3-am64-mcu.dtsi | 2 ++
arch/arm64/boot/dts/ti/k3-am642-evm.dts | 9 +--------
arch/arm64/boot/dts/ti/k3-am642-sk.dts | 13 +------------
4 files changed, 8 insertions(+), 20 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
index a115c668d001..fdcacf78f4a6 100644
--- a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
@@ -321,6 +321,7 @@ main_i2c0: i2c@20000000 {
power-domains = <&k3_pds 102 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 102 2>;
clock-names = "fck";
+ status = "disabled";
};

main_i2c1: i2c@20010000 {
@@ -332,6 +333,7 @@ main_i2c1: i2c@20010000 {
power-domains = <&k3_pds 103 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 103 2>;
clock-names = "fck";
+ status = "disabled";
};

main_i2c2: i2c@20020000 {
@@ -343,6 +345,7 @@ main_i2c2: i2c@20020000 {
power-domains = <&k3_pds 104 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 104 2>;
clock-names = "fck";
+ status = "disabled";
};

main_i2c3: i2c@20030000 {
@@ -354,6 +357,7 @@ main_i2c3: i2c@20030000 {
power-domains = <&k3_pds 105 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 105 2>;
clock-names = "fck";
+ status = "disabled";
};

main_spi0: spi@20100000 {
diff --git a/arch/arm64/boot/dts/ti/k3-am64-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am64-mcu.dtsi
index 1181ad017626..5ce8ceb3779d 100644
--- a/arch/arm64/boot/dts/ti/k3-am64-mcu.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am64-mcu.dtsi
@@ -37,6 +37,7 @@ mcu_i2c0: i2c@4900000 {
power-domains = <&k3_pds 106 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 106 2>;
clock-names = "fck";
+ status = "disabled";
};

mcu_i2c1: i2c@4910000 {
@@ -48,6 +49,7 @@ mcu_i2c1: i2c@4910000 {
power-domains = <&k3_pds 107 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 107 2>;
clock-names = "fck";
+ status = "disabled";
};

mcu_spi0: spi@4b00000 {
diff --git a/arch/arm64/boot/dts/ti/k3-am642-evm.dts b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
index 78f246077ca9..3903e907244e 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
@@ -336,6 +336,7 @@ &main_uart1 {
};

&main_i2c1 {
+ status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
clock-frequency = <400000>;
@@ -378,14 +379,6 @@ &mcu_gpio0 {
status = "reserved";
};

-&mcu_i2c0 {
- status = "disabled";
-};
-
-&mcu_i2c1 {
- status = "disabled";
-};
-
&mcu_spi0 {
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/ti/k3-am642-sk.dts b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
index 8423295150fc..56763d839e05 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
@@ -349,15 +349,8 @@ &main_uart1 {
status = "reserved";
};

-&mcu_i2c0 {
- status = "disabled";
-};
-
-&mcu_i2c1 {
- status = "disabled";
-};
-
&main_i2c1 {
+ status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
clock-frequency = <400000>;
@@ -382,10 +375,6 @@ exp2: gpio@60 {
};
};

-&main_i2c3 {
- status = "disabled";
-};
-
&mcu_spi0 {
status = "disabled";
};
--
2.37.3