[PATCH 06/33] arm64: dts: ti: k3-j721e-beagleboneai64: Add missing cfg for TI IPC FW

Beleswar Padhi posted 33 patches 1 month, 2 weeks ago
There is a newer version of this series
[PATCH 06/33] arm64: dts: ti: k3-j721e-beagleboneai64: Add missing cfg for TI IPC FW
Posted by Beleswar Padhi 1 month, 2 weeks ago
The TI IPC Firmwares running on J721E SoCs use certain MAIN domain
timers as tick. Reserve those at board level DT to avoid remote
processor crashes.

While at it, switch the MAIN domain R5F cluster into split mode to
maximize the number of R5F processors. The TI IPC firmware for the split
processors is already available public. This config aligns with other
J721E boards and can be refactored out later.

Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
---
Cc: Robert Nelson <robertcnelson@gmail.com>
Requesting for review/test of this patch.

 .../boot/dts/ti/k3-j721e-beagleboneai64.dts   | 31 +++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
index fdfd46b5b30a..c7ac2b66ee0d 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
@@ -937,6 +937,35 @@ mbox_c71_0: mbox-c71-0 {
 	};
 };
 
+/* Timers are used by Remoteproc firmware */
+&main_timer0 {
+	status = "reserved";
+};
+
+&main_timer1 {
+	status = "reserved";
+};
+
+&main_timer2 {
+	status = "reserved";
+};
+
+&main_timer12 {
+	status = "reserved";
+};
+
+&main_timer13 {
+	status = "reserved";
+};
+
+&main_timer14 {
+	status = "reserved";
+};
+
+&main_timer15 {
+	status = "reserved";
+};
+
 &mcu_r5fss0 {
 	status = "okay";
 };
@@ -956,6 +985,7 @@ &mcu_r5fss0_core1 {
 };
 
 &main_r5fss0 {
+	ti,cluster-mode = <0>;
 	status = "okay";
 };
 
@@ -974,6 +1004,7 @@ &main_r5fss0_core1 {
 };
 
 &main_r5fss1 {
+	ti,cluster-mode = <0>;
 	status = "okay";
 };
 
-- 
2.34.1
Re: [PATCH 06/33] arm64: dts: ti: k3-j721e-beagleboneai64: Add missing cfg for TI IPC FW
Posted by Andrew Davis 1 month, 2 weeks ago
On 8/14/25 5:38 PM, Beleswar Padhi wrote:
> The TI IPC Firmwares running on J721E SoCs use certain MAIN domain
> timers as tick. Reserve those at board level DT to avoid remote
> processor crashes.
> 

All these "missing cfg" patches should then go together next in this series.

> While at it, switch the MAIN domain R5F cluster into split mode to
> maximize the number of R5F processors. The TI IPC firmware for the split
> processors is already available public. This config aligns with other
> J721E boards and can be refactored out later.
> 

This is an unrelated change and not as trivial as it looks. Factor this part
out and put it later in the series so we can discuss it separately.

Andrew

> Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
> ---
> Cc: Robert Nelson <robertcnelson@gmail.com>
> Requesting for review/test of this patch.
> 
>   .../boot/dts/ti/k3-j721e-beagleboneai64.dts   | 31 +++++++++++++++++++
>   1 file changed, 31 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
> index fdfd46b5b30a..c7ac2b66ee0d 100644
> --- a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
> +++ b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
> @@ -937,6 +937,35 @@ mbox_c71_0: mbox-c71-0 {
>   	};
>   };
>   
> +/* Timers are used by Remoteproc firmware */
> +&main_timer0 {
> +	status = "reserved";
> +};
> +
> +&main_timer1 {
> +	status = "reserved";
> +};
> +
> +&main_timer2 {
> +	status = "reserved";
> +};
> +
> +&main_timer12 {
> +	status = "reserved";
> +};
> +
> +&main_timer13 {
> +	status = "reserved";
> +};
> +
> +&main_timer14 {
> +	status = "reserved";
> +};
> +
> +&main_timer15 {
> +	status = "reserved";
> +};
> +
>   &mcu_r5fss0 {
>   	status = "okay";
>   };
> @@ -956,6 +985,7 @@ &mcu_r5fss0_core1 {
>   };
>   
>   &main_r5fss0 {
> +	ti,cluster-mode = <0>;
>   	status = "okay";
>   };
>   
> @@ -974,6 +1004,7 @@ &main_r5fss0_core1 {
>   };
>   
>   &main_r5fss1 {
> +	ti,cluster-mode = <0>;
>   	status = "okay";
>   };
>