[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a076e204-aa71-430e-a762-b8111d23d2e6@ti.com>
Date: Fri, 22 Aug 2025 22:56:00 +0530
From: Beleswar Prasad Padhi <b-padhi@...com>
To: Andrew Davis <afd@...com>, <nm@...com>, <vigneshr@...com>,
<kristo@...nel.org>, <robh@...nel.org>, <krzk+dt@...nel.org>,
<conor+dt@...nel.org>
CC: <u-kumar1@...com>, <hnagalla@...com>, <jm@...com>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH 33/33] arm64: dts: ti: k3-j7*-ti-ipc-firmware: Switch MCU
R5F cluster to Split-mode
Hi Andrew, Nishanth,
On 8/15/2025 9:18 PM, Andrew Davis wrote:
> On 8/14/25 5:38 PM, Beleswar Padhi wrote:
>> Several TI K3 SoCs like J7200, J721E, J721S2, J784S4 and J742S2 have a
>> R5F cluster in the MCU domain which is configured for LockStep mode at
>> the moment. The necessary support to use MCU R5F cluster in split mode
>> was added in the bootloader. And the TI IPC firmware for the split
>> processors is already available public.
>>
>> Therefore, Switch this R5F cluster to Split mode by default in all the
>> boards using TI IPC Firmware config (k3-j7*-ti-ipc-firmware). This
>> gives out an extra general purpose R5F core free to run any applications
>> as required. Lockstep mode remains default in the SoC level dtsi, so
>> downstream board dts which do not use TI IPC Firmware config should not
>> be impacted by this switch.
>>
>> Users who prefer to use the fault-tolerant lockstep mode with TI IPC
>> firmware config, can do that by setting `ti,cluster-mode` property to 1.
>
> What a user prefers and other configuration like that does not belong
> in devicetree, which should only describe the hardware.
>
> Configuration should be done using the normal methods, like kernel
> cmdline, module params, ioctls, etc.. Maybe we can even set the mode
> based on some signal in the firmware itself, like in the resource table.
Agreed with your point.. But that is going to take a long time to implement
+ upstream. I interpreted from [0] that it was okay to enable this split
mode
once we had refactored the firmware related nodes in an overlay? (Since
people can swap out the dtsi if they don't need the firmware config)
Nishanth/Andrew,
Please advise if this patch is okay or should be dropped in the revision...
[0]: https://lore.kernel.org/all/20250523114822.jrv73frz2wbzdd6d@falsify/
Thanks,
Beleswar
>
> Andrew
>
>>
>> Signed-off-by: Beleswar Padhi <b-padhi@...com>
>> ---
>> arch/arm64/boot/dts/ti/k3-j7200-ti-ipc-firmware.dtsi | 1 +
>> arch/arm64/boot/dts/ti/k3-j721e-ti-ipc-firmware.dtsi | 1 +
>> arch/arm64/boot/dts/ti/k3-j721s2-ti-ipc-firmware.dtsi | 1 +
>> .../boot/dts/ti/k3-j784s4-j742s2-ti-ipc-firmware-common.dtsi | 1 +
>> 4 files changed, 4 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-j7200-ti-ipc-firmware.dtsi
>> b/arch/arm64/boot/dts/ti/k3-j7200-ti-ipc-firmware.dtsi
>> index 8eff7bd2e771..ddf3cd899d0e 100644
>> --- a/arch/arm64/boot/dts/ti/k3-j7200-ti-ipc-firmware.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-j7200-ti-ipc-firmware.dtsi
>> @@ -94,6 +94,7 @@ &main_timer2 {
>> &mcu_r5fss0 {
>> status = "okay";
>> + ti,cluster-mode = <0>;
>> };
>> &mcu_r5fss0_core0 {
>> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-ti-ipc-firmware.dtsi
>> b/arch/arm64/boot/dts/ti/k3-j721e-ti-ipc-firmware.dtsi
>> index 5b3fa95aed76..57890a3b38a2 100644
>> --- a/arch/arm64/boot/dts/ti/k3-j721e-ti-ipc-firmware.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-j721e-ti-ipc-firmware.dtsi
>> @@ -211,6 +211,7 @@ &main_timer15 {
>> };
>> &mcu_r5fss0 {
>> + ti,cluster-mode = <0>;
>> status = "okay";
>> };
>> diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-ti-ipc-firmware.dtsi
>> b/arch/arm64/boot/dts/ti/k3-j721s2-ti-ipc-firmware.dtsi
>> index 40c9f2b64e7e..7ee8a8615246 100644
>> --- a/arch/arm64/boot/dts/ti/k3-j721s2-ti-ipc-firmware.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-j721s2-ti-ipc-firmware.dtsi
>> @@ -179,6 +179,7 @@ &main_timer5 {
>> };
>> &mcu_r5fss0 {
>> + ti,cluster-mode = <0>;
>> status = "okay";
>> };
>> diff --git
>> a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-ti-ipc-firmware-common.dtsi
>> b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-ti-ipc-firmware-common.dtsi
>> index b5a4496a05bf..e12fa55a4df0 100644
>> ---
>> a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-ti-ipc-firmware-common.dtsi
>> +++
>> b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-ti-ipc-firmware-common.dtsi
>> @@ -254,6 +254,7 @@ &main_timer9 {
>> };
>> &mcu_r5fss0 {
>> + ti,cluster-mode = <0>;
>> status = "okay";
>> };
>
Powered by blists - more mailing lists