2023-11-17 16:54:05

by Andrew Davis

[permalink] [raw]
Subject: [PATCH] arm64: dts: ti: k3-am65: Add AM652 DTSI file

The AM652 is basically a AM654 but with 2 cores instead of 4. Add
a DTSI file for AM652 matching AM654 except this core difference.

This removes the need to remove the extra cores from AM654 manually
in DT files for boards that use the AM652 variant. Do that for
the IOT2050 boards here.

Signed-off-by: Andrew Davis <[email protected]>
---
.../boot/dts/ti/k3-am65-iot2050-common.dtsi | 1 -
arch/arm64/boot/dts/ti/k3-am652.dtsi | 74 +++++++++++++++++++
.../ti/k3-am6528-iot2050-basic-common.dtsi | 11 +--
.../ti/k3-am6548-iot2050-advanced-common.dtsi | 1 +
4 files changed, 76 insertions(+), 11 deletions(-)
create mode 100644 arch/arm64/boot/dts/ti/k3-am652.dtsi

diff --git a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
index ba1c14a54acf4..bd5273a37b095 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
@@ -9,7 +9,6 @@
* Common bits of the IOT2050 Basic and Advanced variants, PG1 and PG2
*/

-#include "k3-am654.dtsi"
#include <dt-bindings/phy/phy.h>

/ {
diff --git a/arch/arm64/boot/dts/ti/k3-am652.dtsi b/arch/arm64/boot/dts/ti/k3-am652.dtsi
new file mode 100644
index 0000000000000..0f22e00faa903
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am652.dtsi
@@ -0,0 +1,74 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree Source for AM65 SoC family in Dual core configuration
+ *
+ * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+#include "k3-am65.dtsi"
+
+/ {
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ cpu-map {
+ cluster0: cluster0 {
+ core0 {
+ cpu = <&cpu0>;
+ };
+
+ core1 {
+ cpu = <&cpu1>;
+ };
+ };
+ };
+
+ cpu0: cpu@0 {
+ compatible = "arm,cortex-a53";
+ reg = <0x000>;
+ device_type = "cpu";
+ enable-method = "psci";
+ i-cache-size = <0x8000>;
+ i-cache-line-size = <64>;
+ i-cache-sets = <256>;
+ d-cache-size = <0x8000>;
+ d-cache-line-size = <64>;
+ d-cache-sets = <128>;
+ next-level-cache = <&L2_0>;
+ };
+
+ cpu1: cpu@1 {
+ compatible = "arm,cortex-a53";
+ reg = <0x001>;
+ device_type = "cpu";
+ enable-method = "psci";
+ i-cache-size = <0x8000>;
+ i-cache-line-size = <64>;
+ i-cache-sets = <256>;
+ d-cache-size = <0x8000>;
+ d-cache-line-size = <64>;
+ d-cache-sets = <128>;
+ next-level-cache = <&L2_0>;
+ };
+ };
+
+ L2_0: l2-cache0 {
+ compatible = "cache";
+ cache-level = <2>;
+ cache-unified;
+ cache-size = <0x80000>;
+ cache-line-size = <64>;
+ cache-sets = <512>;
+ next-level-cache = <&msmc_l3>;
+ };
+
+ msmc_l3: l3-cache0 {
+ compatible = "cache";
+ cache-level = <3>;
+ cache-unified;
+ };
+
+ thermal_zones: thermal-zones {
+ #include "k3-am654-industrial-thermal.dtsi"
+ };
+};
diff --git a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic-common.dtsi b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic-common.dtsi
index 5ab434c02ab6b..feb0eae4e6df4 100644
--- a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic-common.dtsi
@@ -9,6 +9,7 @@
* Common bits of the IOT2050 Basic variant, PG1 and PG2
*/

+#include "k3-am652.dtsi"
#include "k3-am65-iot2050-common.dtsi"

/ {
@@ -17,16 +18,6 @@ memory@80000000 {
/* 1G RAM */
reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
};
-
- cpus {
- cpu-map {
- /delete-node/ cluster1;
- };
- /delete-node/ cpu@100;
- /delete-node/ cpu@101;
- };
-
- /delete-node/ l2-cache1;
};

/* eMMC */
diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-common.dtsi b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-common.dtsi
index be55494b1f3fc..ff2fdc2e12e3c 100644
--- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-common.dtsi
@@ -11,6 +11,7 @@

/dts-v1/;

+#include "k3-am654.dtsi"
#include "k3-am65-iot2050-common.dtsi"

/ {
--
2.39.2


2023-12-04 16:31:51

by Bryan Brattlof

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: ti: k3-am65: Add AM652 DTSI file

Hi Andrew!

On November 17, 2023 thus sayeth Andrew Davis:
> The AM652 is basically a AM654 but with 2 cores instead of 4. Add
> a DTSI file for AM652 matching AM654 except this core difference.
>
> This removes the need to remove the extra cores from AM654 manually
> in DT files for boards that use the AM652 variant. Do that for
> the IOT2050 boards here.
>
> Signed-off-by: Andrew Davis <[email protected]>

Reviewed-by: Bryan Brattlof <[email protected]>

> ---
> .../boot/dts/ti/k3-am65-iot2050-common.dtsi | 1 -
> arch/arm64/boot/dts/ti/k3-am652.dtsi | 74 +++++++++++++++++++
> .../ti/k3-am6528-iot2050-basic-common.dtsi | 11 +--
> .../ti/k3-am6548-iot2050-advanced-common.dtsi | 1 +
> 4 files changed, 76 insertions(+), 11 deletions(-)
> create mode 100644 arch/arm64/boot/dts/ti/k3-am652.dtsi

Yeah this is a much cleaner approach than adding or deleting cores in
the board files

~Bryan

2023-12-05 15:42:14

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: ti: k3-am65: Add AM652 DTSI file

On 10:53-20231117, Andrew Davis wrote:
> The AM652 is basically a AM654 but with 2 cores instead of 4. Add
> a DTSI file for AM652 matching AM654 except this core difference.
>
> This removes the need to remove the extra cores from AM654 manually
> in DT files for boards that use the AM652 variant. Do that for
> the IOT2050 boards here.
>
> Signed-off-by: Andrew Davis <[email protected]>
> ---
> .../boot/dts/ti/k3-am65-iot2050-common.dtsi | 1 -
> arch/arm64/boot/dts/ti/k3-am652.dtsi | 74 +++++++++++++++++++
> .../ti/k3-am6528-iot2050-basic-common.dtsi | 11 +--
> .../ti/k3-am6548-iot2050-advanced-common.dtsi | 1 +
> 4 files changed, 76 insertions(+), 11 deletions(-)
> create mode 100644 arch/arm64/boot/dts/ti/k3-am652.dtsi
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
> index ba1c14a54acf4..bd5273a37b095 100644
> --- a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi


Could you rebase to latest next? patch doesn't apply anymore.

> @@ -9,7 +9,6 @@
> * Common bits of the IOT2050 Basic and Advanced variants, PG1 and PG2
> */
>
> -#include "k3-am654.dtsi"
> #include <dt-bindings/phy/phy.h>
>
> / {
> diff --git a/arch/arm64/boot/dts/ti/k3-am652.dtsi b/arch/arm64/boot/dts/ti/k3-am652.dtsi
> new file mode 100644
> index 0000000000000..0f22e00faa903
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-am652.dtsi
> @@ -0,0 +1,74 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Device Tree Source for AM65 SoC family in Dual core configuration
> + *
> + * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
> + */
> +
> +#include "k3-am65.dtsi"
> +
> +/ {
> + cpus {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + cpu-map {
> + cluster0: cluster0 {
> + core0 {
> + cpu = <&cpu0>;
> + };
> +
> + core1 {
> + cpu = <&cpu1>;
> + };
> + };
> + };
> +
> + cpu0: cpu@0 {
> + compatible = "arm,cortex-a53";
> + reg = <0x000>;
> + device_type = "cpu";
> + enable-method = "psci";
> + i-cache-size = <0x8000>;
> + i-cache-line-size = <64>;
> + i-cache-sets = <256>;
> + d-cache-size = <0x8000>;
> + d-cache-line-size = <64>;
> + d-cache-sets = <128>;
> + next-level-cache = <&L2_0>;
> + };
> +
> + cpu1: cpu@1 {
> + compatible = "arm,cortex-a53";
> + reg = <0x001>;
> + device_type = "cpu";
> + enable-method = "psci";
> + i-cache-size = <0x8000>;
> + i-cache-line-size = <64>;
> + i-cache-sets = <256>;
> + d-cache-size = <0x8000>;
> + d-cache-line-size = <64>;
> + d-cache-sets = <128>;
> + next-level-cache = <&L2_0>;
> + };
> + };
> +
> + L2_0: l2-cache0 {
> + compatible = "cache";
> + cache-level = <2>;
> + cache-unified;
> + cache-size = <0x80000>;
> + cache-line-size = <64>;
> + cache-sets = <512>;
> + next-level-cache = <&msmc_l3>;
> + };
> +
> + msmc_l3: l3-cache0 {
> + compatible = "cache";
> + cache-level = <3>;
> + cache-unified;
> + };
> +
> + thermal_zones: thermal-zones {
> + #include "k3-am654-industrial-thermal.dtsi"
> + };
> +};
> diff --git a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic-common.dtsi b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic-common.dtsi
> index 5ab434c02ab6b..feb0eae4e6df4 100644
> --- a/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic-common.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am6528-iot2050-basic-common.dtsi
> @@ -9,6 +9,7 @@
> * Common bits of the IOT2050 Basic variant, PG1 and PG2
> */
>
> +#include "k3-am652.dtsi"
> #include "k3-am65-iot2050-common.dtsi"
>
> / {
> @@ -17,16 +18,6 @@ memory@80000000 {
> /* 1G RAM */
> reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
> };
> -
> - cpus {
> - cpu-map {
> - /delete-node/ cluster1;
> - };
> - /delete-node/ cpu@100;
> - /delete-node/ cpu@101;
> - };
> -
> - /delete-node/ l2-cache1;
> };
>
> /* eMMC */
> diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-common.dtsi b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-common.dtsi
> index be55494b1f3fc..ff2fdc2e12e3c 100644
> --- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-common.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced-common.dtsi
> @@ -11,6 +11,7 @@
>
> /dts-v1/;
>
> +#include "k3-am654.dtsi"
> #include "k3-am65-iot2050-common.dtsi"
>
> / {
> --
> 2.39.2
>

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D