[PATCH v3 02/33] arm64: dts: ti: k3-j721e: Enable remote processors at board level

Beleswar Padhi
2025-09-05T05:39:53Z

Remote Processors defined in top-level J721E SoC dtsi files are
incomplete without the memory carveouts and mailbox assignments
which are only known at board integration level.

Therefore, disable the remote processors at SoC level and enable
them at board level where above information is available.

Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
Acked-by: Andrew Davis <afd@ti.com>
---
v3: Changelog:
1. Carried A/B tag.

Link to v2:
https://lore.kernel.org/all/20250823160901.2177841-3-b-padhi@ti.com/

v2: Changelog:
1. Reordered patch from [PATCH 05/33] to [PATCH v2 02/33].

Link to v1:
https://lore.kernel.org/all/20250814223839.3256046-6-b-padhi@ti.com/

.../boot/dts/ti/k3-j721e-beagleboneai64.dts | 18 ++++++++++++++++++
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 6 ++++++
.../arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi | 3 +++
arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 12 ++++++++++++
arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi | 12 ++++++++++++
5 files changed, 51 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
index fb899c99753e..0d1a313a7d10 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
@@ -935,37 +935,55 @@ mbox_c71_0: mbox-c71-0 {
};
};

+&mcu_r5fss0 {
+ status = "okay";
+};
+
&mcu_r5fss0_core0 {
+ status = "okay";
mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core0>;
memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
<&mcu_r5fss0_core0_memory_region>;
};

&mcu_r5fss0_core1 {
+ status = "okay";
mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core1>;
memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
<&mcu_r5fss0_core1_memory_region>;
};

+&main_r5fss0 {
+ status = "okay";
+};
+
&main_r5fss0_core0 {
+ status = "okay";
mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core0>;
memory-region = <&main_r5fss0_core0_dma_memory_region>,
<&main_r5fss0_core0_memory_region>;
};

&main_r5fss0_core1 {
+ status = "okay";
mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core1>;
memory-region = <&main_r5fss0_core1_dma_memory_region>,
<&main_r5fss0_core1_memory_region>;
};

+&main_r5fss1 {
+ status = "okay";
+};
+
&main_r5fss1_core0 {
+ status = "okay";
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core0>;
memory-region = <&main_r5fss1_core0_dma_memory_region>,
<&main_r5fss1_core0_memory_region>;
};

&main_r5fss1_core1 {
+ status = "okay";
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core1>;
memory-region = <&main_r5fss1_core1_dma_memory_region>,
<&main_r5fss1_core1_memory_region>;
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
index ab3666ff4297..e748f704e3b6 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
@@ -2182,6 +2182,7 @@ main_r5fss0: r5fss@5c00000 {
ranges = <0x5c00000 0x00 0x5c00000 0x20000>,
<0x5d00000 0x00 0x5d00000 0x20000>;
power-domains = <&k3_pds 243 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";

main_r5fss0_core0: r5f@5c00000 {
compatible = "ti,j721e-r5f";
@@ -2196,6 +2197,7 @@ main_r5fss0_core0: r5f@5c00000 {
ti,atcm-enable = <1>;
ti,btcm-enable = <1>;
ti,loczrama = <1>;
+ status = "disabled";
};

main_r5fss0_core1: r5f@5d00000 {
@@ -2211,6 +2213,7 @@ main_r5fss0_core1: r5f@5d00000 {
ti,atcm-enable = <1>;
ti,btcm-enable = <1>;
ti,loczrama = <1>;
+ status = "disabled";
};
};

@@ -2222,6 +2225,7 @@ main_r5fss1: r5fss@5e00000 {
ranges = <0x5e00000 0x00 0x5e00000 0x20000>,
<0x5f00000 0x00 0x5f00000 0x20000>;
power-domains = <&k3_pds 244 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";

main_r5fss1_core0: r5f@5e00000 {
compatible = "ti,j721e-r5f";
@@ -2236,6 +2240,7 @@ main_r5fss1_core0: r5f@5e00000 {
ti,atcm-enable = <1>;
ti,btcm-enable = <1>;
ti,loczrama = <1>;
+ status = "disabled";
};

main_r5fss1_core1: r5f@5f00000 {
@@ -2251,6 +2256,7 @@ main_r5fss1_core1: r5f@5f00000 {
ti,atcm-enable = <1>;
ti,btcm-enable = <1>;
ti,loczrama = <1>;
+ status = "disabled";
};
};

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 b02142b2b460..42a21398e389 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
@@ -594,6 +594,7 @@ mcu_r5fss0: r5fss@41000000 {
ranges = <0x41000000 0x00 0x41000000 0x20000>,
<0x41400000 0x00 0x41400000 0x20000>;
power-domains = <&k3_pds 249 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";

mcu_r5fss0_core0: r5f@41000000 {
compatible = "ti,j721e-r5f";
@@ -608,6 +609,7 @@ mcu_r5fss0_core0: r5f@41000000 {
ti,atcm-enable = <1>;
ti,btcm-enable = <1>;
ti,loczrama = <1>;
+ status = "disabled";
};

mcu_r5fss0_core1: r5f@41400000 {
@@ -623,6 +625,7 @@ mcu_r5fss0_core1: r5f@41400000 {
ti,atcm-enable = <1>;
ti,btcm-enable = <1>;
ti,loczrama = <1>;
+ 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 ffef3d1cfd55..62b9c13a91e7 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
@@ -1349,13 +1349,19 @@ mbox_c71_0: mbox-c71-0 {
};
};

+&mcu_r5fss0 {
+ status = "okay";
+};
+
&mcu_r5fss0_core0 {
+ status = "okay";
mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core0>;
memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
<&mcu_r5fss0_core0_memory_region>;
};

&mcu_r5fss0_core1 {
+ status = "okay";
mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core1>;
memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
<&mcu_r5fss0_core1_memory_region>;
@@ -1363,10 +1369,12 @@ &mcu_r5fss0_core1 {

&main_r5fss0 {
ti,cluster-mode = <0>;
+ status = "okay";
};

&main_r5fss1 {
ti,cluster-mode = <0>;
+ status = "okay";
};

/* Timers are used by Remoteproc firmware */
@@ -1399,24 +1407,28 @@ &main_timer15 {
};

&main_r5fss0_core0 {
+ status = "okay";
mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core0>;
memory-region = <&main_r5fss0_core0_dma_memory_region>,
<&main_r5fss0_core0_memory_region>;
};

&main_r5fss0_core1 {
+ status = "okay";
mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core1>;
memory-region = <&main_r5fss0_core1_dma_memory_region>,
<&main_r5fss0_core1_memory_region>;
};

&main_r5fss1_core0 {
+ status = "okay";
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core0>;
memory-region = <&main_r5fss1_core0_dma_memory_region>,
<&main_r5fss1_core0_memory_region>;
};

&main_r5fss1_core1 {
+ status = "okay";
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core1>;
memory-region = <&main_r5fss1_core1_dma_memory_region>,
<&main_r5fss1_core1_memory_region>;
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 0722f6361cc8..795b041ee733 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
@@ -554,23 +554,31 @@ mbox_c71_0: mbox-c71-0 {
};
};

+&mcu_r5fss0 {
+ status = "okay";
+};
+
&mcu_r5fss0_core0 {
+ status = "okay";
mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core0>;
memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
<&mcu_r5fss0_core0_memory_region>;
};

&mcu_r5fss0_core1 {
+ status = "okay";
mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core1>;
memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
<&mcu_r5fss0_core1_memory_region>;
};

&main_r5fss0 {
+ status = "okay";
ti,cluster-mode = <0>;
};

&main_r5fss1 {
+ status = "okay";
ti,cluster-mode = <0>;
};

@@ -604,24 +612,28 @@ &main_timer15 {
};

&main_r5fss0_core0 {
+ status = "okay";
mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core0>;
memory-region = <&main_r5fss0_core0_dma_memory_region>,
<&main_r5fss0_core0_memory_region>;
};

&main_r5fss0_core1 {
+ status = "okay";
mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core1>;
memory-region = <&main_r5fss0_core1_dma_memory_region>,
<&main_r5fss0_core1_memory_region>;
};

&main_r5fss1_core0 {
+ status = "okay";
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core0>;
memory-region = <&main_r5fss1_core0_dma_memory_region>,
<&main_r5fss1_core0_memory_region>;
};

&main_r5fss1_core1 {
+ status = "okay";
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core1>;
memory-region = <&main_r5fss1_core1_dma_memory_region>,
<&main_r5fss1_core1_memory_region>;
--
2.34.1