arm64: dts: ti: k3-am65: Enable I2C nodes at the board level
authorAndrew Davis <afd@ti.com>
Fri, 28 Oct 2022 14:24:08 +0000 (09:24 -0500)
committerNishanth Menon <nm@ti.com>
Fri, 4 Nov 2022 02:46:00 +0000 (21:46 -0500)
I2C nodes defined in the top-level AM65x 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@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Jan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Link: https://lore.kernel.org/r/20221028142417.10642-3-afd@ti.com
arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
arch/arm64/boot/dts/ti/k3-am65-main.dtsi
arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi
arch/arm64/boot/dts/ti/k3-am654-base-board.dts

index 7b3087c..945a8a7 100644 (file)
 };
 
 &wkup_i2c0 {
+       status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&wkup_i2c0_pins_default>;
        clock-frequency = <400000>;
 };
 
 &mcu_i2c0 {
+       status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&mcu_i2c0_pins_default>;
        clock-frequency = <400000>;
 };
 
 &main_i2c0 {
+       status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&main_i2c0_pins_default>;
        clock-frequency = <400000>;
 };
 
 &main_i2c1 {
+       status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&main_i2c1_pins_default>;
        clock-frequency = <400000>;
 };
 
 &main_i2c2 {
+       status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&main_i2c2_pins_default>;
        clock-frequency = <400000>;
 };
 
 &main_i2c3 {
+       status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&main_i2c3_pins_default>;
        clock-frequency = <400000>;
index ae414f5..feef5fd 100644 (file)
                clock-names = "fck";
                clocks = <&k3_clks 110 1>;
                power-domains = <&k3_pds 110 TI_SCI_PD_EXCLUSIVE>;
+               status = "disabled";
        };
 
        main_i2c1: i2c@2010000 {
                clock-names = "fck";
                clocks = <&k3_clks 111 1>;
                power-domains = <&k3_pds 111 TI_SCI_PD_EXCLUSIVE>;
+               status = "disabled";
        };
 
        main_i2c2: i2c@2020000 {
                clock-names = "fck";
                clocks = <&k3_clks 112 1>;
                power-domains = <&k3_pds 112 TI_SCI_PD_EXCLUSIVE>;
+               status = "disabled";
        };
 
        main_i2c3: i2c@2030000 {
                clock-names = "fck";
                clocks = <&k3_clks 113 1>;
                power-domains = <&k3_pds 113 TI_SCI_PD_EXCLUSIVE>;
+               status = "disabled";
        };
 
        ecap0: pwm@3100000 {
index d509945..56cb193 100644 (file)
@@ -47,6 +47,7 @@
                clock-names = "fck";
                clocks = <&k3_clks 114 1>;
                power-domains = <&k3_pds 114 TI_SCI_PD_EXCLUSIVE>;
+               status = "disabled";
        };
 
        mcu_spi0: spi@40300000 {
index bbe3153..fd2b998 100644 (file)
@@ -66,6 +66,7 @@
                clock-names = "fck";
                clocks = <&k3_clks 115 1>;
                power-domains = <&k3_pds 115 TI_SCI_PD_EXCLUSIVE>;
+               status = "disabled";
        };
 
        intr_wkup_gpio: interrupt-controller@42200000 {
index 956e9bc..991a855 100644 (file)
 };
 
 &wkup_i2c0 {
+       status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&wkup_i2c0_pins_default>;
        clock-frequency = <400000>;
        };
 };
 
+&mcu_i2c0 {
+       status = "okay";
+       /* Default pinmux */
+};
+
 &main_i2c0 {
+       status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&main_i2c0_pins_default>;
        clock-frequency = <400000>;
 };
 
 &main_i2c1 {
+       status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&main_i2c1_pins_default>;
        clock-frequency = <400000>;
 };
 
 &main_i2c2 {
+       status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&main_i2c2_pins_default>;
        clock-frequency = <400000>;