2023-08-02 22:22:59

by Andrew Davis

[permalink] [raw]
Subject: [PATCH 00/13] Another round of K3 DTSI disables

Hello all,

Similar to a couple previous series on this, we disable by default
nodes that cannot function standalone.

This helps prevent folks from forgetting to disable unused nodes
in their boards. One benefit of that is you can start out with
an almost empty DTS file for a new board and have it still
function without warnings or misbehaving hardware. Adding as you
go, this helps ease bringup and upstreaming of new boards.

Thanks,
Andrew

Andrew Davis (13):
arm64: dts: ti: k3-j721e: Enable SDHCI nodes at the board level
arm64: dts: ti: k3-j7200: Enable SDHCI nodes at the board level
arm64: dts: ti: k3-j721s2: Enable SDHCI nodes at the board level
arm64: dts: ti: k3-am65: Enable OSPI nodes at the board level
arm64: dts: ti: k3-j721e: Enable OSPI nodes at the board level
arm64: dts: ti: k3-j7200: Enable OSPI nodes at the board level
arm64: dts: ti: k3-am64: Enable OSPI nodes at the board level
arm64: dts: ti: k3-j721e: Enable GPIO nodes at the board level
arm64: dts: ti: k3-j721s2: Enable GPIO nodes at the board level
arm64: dts: ti: k3-j7200: Enable GPIO nodes at the board level
arm64: dts: ti: k3-j721e: Enable TSCADC nodes at the board level
arm64: dts: ti: k3-am65: Enable TSCADC nodes at the board level
arm64: dts: ti: k3-am64: Enable TSCADC nodes at the board level

arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 2 +
.../boot/dts/ti/k3-am64-phycore-som.dtsi | 1 +
arch/arm64/boot/dts/ti/k3-am642-evm.dts | 1 +
arch/arm64/boot/dts/ti/k3-am642-sk.dts | 5 +-
.../boot/dts/ti/k3-am65-iot2050-common.dtsi | 6 +-
arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi | 4 ++
.../arm64/boot/dts/ti/k3-am654-base-board.dts | 3 +
.../boot/dts/ti/k3-am68-sk-base-board.dts | 24 +-------
.../dts/ti/k3-j7200-common-proc-board.dts | 20 ++----
arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 6 ++
.../boot/dts/ti/k3-j7200-mcu-wakeup.dtsi | 3 +
arch/arm64/boot/dts/ti/k3-j7200-som-p0.dtsi | 1 +
.../boot/dts/ti/k3-j721e-beagleboneai64.dts | 61 ++++---------------
.../dts/ti/k3-j721e-common-proc-board.dts | 44 ++++---------
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 11 ++++
.../boot/dts/ti/k3-j721e-mcu-wakeup.dtsi | 6 ++
arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 58 +++---------------
arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi | 1 +
.../dts/ti/k3-j721s2-common-proc-board.dts | 20 +++---
arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi | 6 ++
.../boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi | 2 +
21 files changed, 98 insertions(+), 187 deletions(-)

--
2.39.2



2023-08-02 22:25:45

by Andrew Davis

[permalink] [raw]
Subject: [PATCH 05/13] arm64: dts: ti: k3-j721e: Enable OSPI nodes at the board level

OSPI nodes defined in the top-level J721e SoC dtsi files are incomplete
and may not be functional unless they are extended with pinmux and
device information.

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

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

Signed-off-by: Andrew Davis <[email protected]>
---
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts | 10 ----------
arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi | 2 ++
arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 6 +-----
arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi | 1 +
4 files changed, 4 insertions(+), 15 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
index 64eed76bbb7a3..0b89977351c98 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
@@ -580,16 +580,6 @@ &main_sdhci1 {
disable-wp;
};

-&ospi0 {
- /* Unused */
- status = "disabled";
-};
-
-&ospi1 {
- /* Unused */
- status = "disabled";
-};
-
&main_i2c0 {
status = "okay";
pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
index c1b6f8d7d1898..0c01bdd9656f1 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
@@ -378,6 +378,7 @@ ospi0: spi@47040000 {
power-domains = <&k3_pds 103 TI_SCI_PD_EXCLUSIVE>;
#address-cells = <1>;
#size-cells = <0>;
+ status = "disabled";
};

ospi1: spi@47050000 {
@@ -392,6 +393,7 @@ ospi1: spi@47050000 {
power-domains = <&k3_pds 104 TI_SCI_PD_EXCLUSIVE>;
#address-cells = <1>;
#size-cells = <0>;
+ status = "disabled";
};
};

diff --git a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
index bd1bd1b746056..4cd5346f2dd59 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
@@ -594,6 +594,7 @@ &main_sdhci1 {
};

&ospi0 {
+ status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcu_fss0_ospi0_pins_default>;

@@ -657,11 +658,6 @@ partition@3fc0000 {
};
};

-&ospi1 {
- /* Unused */
- status = "disabled";
-};
-
&main_i2c0 {
status = "okay";
pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
index e90e43202546e..928d3a8ad2d09 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
@@ -202,6 +202,7 @@ eeprom@50 {
};

&ospi0 {
+ status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcu_fss0_ospi0_pins_default>;

--
2.39.2


2023-08-02 22:27:07

by Andrew Davis

[permalink] [raw]
Subject: [PATCH 11/13] arm64: dts: ti: k3-j721e: Enable TSCADC nodes at the board level

TSCADC nodes defined in the top-level J721e SoC dtsi files are incomplete
and may not be functional unless they are extended with pinmux and/or
device information.

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

Signed-off-by: Andrew Davis <[email protected]>
---
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts | 2 ++
arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts | 2 ++
arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi | 2 ++
arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 10 ----------
4 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
index 99536765939d9..79245a85d7c69 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
@@ -748,6 +748,7 @@ &usb1 {
};

&tscadc0 {
+ status = "okay";
/* BBB Header: P9.39, P9.40, P9.37, P9.38, P9.33, P9.36, P9.35 */
adc {
ti,adc-channels = <0 1 2 3 4 5 6>;
@@ -755,6 +756,7 @@ adc {
};

&tscadc1 {
+ status = "okay";
/* MCU mikroBUS Header J10.1 - MCU_ADC1_AIN0 */
adc {
ti,adc-channels = <0>;
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts b/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts
index 2fd940893eb5f..6cea309fc247a 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts
@@ -621,12 +621,14 @@ partition@3fe0000 {
};

&tscadc0 {
+ status = "okay";
adc {
ti,adc-channels = <0 1 2 3 4 5 6 7>;
};
};

&tscadc1 {
+ status = "okay";
adc {
ti,adc-channels = <0 1 2 3 4 5 6 7>;
};
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
index 4d107eee9b341..37a8c80de3bc5 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
@@ -411,6 +411,7 @@ tscadc0: tscadc@40200000 {
dmas = <&main_udmap 0x7400>,
<&main_udmap 0x7401>;
dma-names = "fifo0", "fifo1";
+ status = "disabled";

adc {
#io-channel-cells = <1>;
@@ -430,6 +431,7 @@ tscadc1: tscadc@40210000 {
dmas = <&main_udmap 0x7402>,
<&main_udmap 0x7403>;
dma-names = "fifo0", "fifo1";
+ status = "disabled";

adc {
#io-channel-cells = <1>;
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
index dfb6af60482e7..ca5be7797a02b 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
@@ -829,16 +829,6 @@ &usb1 {
phy-names = "cdns3,usb3-phy";
};

-&tscadc0 {
- /* Unused */
- status = "disabled";
-};
-
-&tscadc1 {
- /* Unused */
- status = "disabled";
-};
-
&mcu_cpsw {
pinctrl-names = "default";
pinctrl-0 = <&mcu_cpsw_pins_default>, <&mcu_mdio_pins_default>;
--
2.39.2


2023-08-02 22:27:30

by Andrew Davis

[permalink] [raw]
Subject: [PATCH 03/13] arm64: dts: ti: k3-j721s2: Enable SDHCI nodes at the board level

SDHCI nodes defined in the top-level J721s2 SoC dtsi files are incomplete
and will not be functional unless they are extended.

As the attached SD/eMMC is only known about at the board integration level,
these nodes should only be enabled when provided with this information.

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

Signed-off-by: Andrew Davis <[email protected]>
---
arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts | 6 +-----
arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts | 2 ++
arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi | 2 ++
3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
index 21ad49cfa7eed..ffca12df0a6da 100644
--- a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
@@ -373,13 +373,9 @@ &mcu_i2c0 {
clock-frequency = <400000>;
};

-&main_sdhci0 {
- /* Unused */
- status = "disabled";
-};
-
&main_sdhci1 {
/* SD card */
+ status = "okay";
pinctrl-0 = <&main_mmc1_pins_default>;
pinctrl-names = "default";
disable-wp;
diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts b/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts
index 02b7a559bdf21..3a8e6eb402448 100644
--- a/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts
@@ -333,6 +333,7 @@ exp2: gpio@22 {

&main_sdhci0 {
/* eMMC */
+ status = "okay";
non-removable;
ti,driver-strength-ohm = <50>;
disable-wp;
@@ -340,6 +341,7 @@ &main_sdhci0 {

&main_sdhci1 {
/* SD card */
+ status = "okay";
pinctrl-0 = <&main_mmc1_pins_default>;
pinctrl-names = "default";
disable-wp;
diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
index ed79ab3a32718..c46079fe4ed6e 100644
--- a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
@@ -665,6 +665,7 @@ main_sdhci0: mmc@4f80000 {
mmc-hs200-1_8v;
mmc-hs400-1_8v;
dma-coherent;
+ status = "disabled";
};

main_sdhci1: mmc@4fb0000 {
@@ -694,6 +695,7 @@ main_sdhci1: mmc@4fb0000 {
dma-coherent;
/* Masking support for SDR104 capability */
sdhci-caps-mask = <0x00000003 0x00000000>;
+ status = "disabled";
};

main_navss: bus@30000000 {
--
2.39.2


2023-08-02 22:43:21

by Andrew Davis

[permalink] [raw]
Subject: [PATCH 13/13] arm64: dts: ti: k3-am64: Enable TSCADC nodes at the board level

TSCADC nodes defined in the top-level AM64 SoC dtsi files are incomplete
and may not be functional unless they are extended with pinmux and/or
device information.

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

Signed-off-by: Andrew Davis <[email protected]>
---
arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 1 +
arch/arm64/boot/dts/ti/k3-am642-sk.dts | 4 ----
2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
index 49f910e4b03fc..a9db9b6d03aca 100644
--- a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
@@ -773,6 +773,7 @@ tscadc0: tscadc@28001000 {
assigned-clock-parents = <&k3_clks 0 3>;
assigned-clock-rates = <60000000>;
clock-names = "fck";
+ status = "disabled";

adc {
#io-channel-cells = <1>;
diff --git a/arch/arm64/boot/dts/ti/k3-am642-sk.dts b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
index af06ccd466802..722fd285a34ec 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
@@ -513,10 +513,6 @@ cpsw3g_phy1: ethernet-phy@1 {
};
};

-&tscadc0 {
- status = "disabled";
-};
-
&ospi0 {
status = "okay";
pinctrl-names = "default";
--
2.39.2


2023-08-07 07:18:33

by Dhruva Gole

[permalink] [raw]
Subject: Re: [PATCH 13/13] arm64: dts: ti: k3-am64: Enable TSCADC nodes at the board level



On 03/08/23 02:23, Andrew Davis wrote:
> TSCADC nodes defined in the top-level AM64 SoC dtsi files are incomplete
> and may not be functional unless they are extended with pinmux and/or
> device information.
>
> Disable the TSCADC nodes in the dtsi files and only enable the ones that
> are actually pinned out on a given board.
>
> Signed-off-by: Andrew Davis <[email protected]>
> ---
> arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 1 +
> arch/arm64/boot/dts/ti/k3-am642-sk.dts | 4 ----
> 2 files changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
> index 49f910e4b03fc..a9db9b6d03aca 100644
> --- a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
> @@ -773,6 +773,7 @@ tscadc0: tscadc@28001000 {
> assigned-clock-parents = <&k3_clks 0 3>;
> assigned-clock-rates = <60000000>;
> clock-names = "fck";
> + status = "disabled";
>
> adc {
> #io-channel-cells = <1>;
> diff --git a/arch/arm64/boot/dts/ti/k3-am642-sk.dts b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
> index af06ccd466802..722fd285a34ec 100644
> --- a/arch/arm64/boot/dts/ti/k3-am642-sk.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
> @@ -513,10 +513,6 @@ cpsw3g_phy1: ethernet-phy@1 {
> };
> };
>
> -&tscadc0 {
> - status = "disabled";
> -};
> -

Reviewed-by: Dhruva Gole <[email protected]>

> &ospi0 {
> status = "okay";
> pinctrl-names = "default";

--
Thanks and Regards,
Dhruva Gole