[PATCH 16/33] arm64: dts: ti: k3-am62p-verdin: Add missing cfg for TI IPC Firmware

Beleswar Prasad Padhi b-padhi at ti.com
Fri Aug 22 09:39:48 PDT 2025


On 8/21/2025 11:36 AM, Francesco Dolcini wrote:
> On Fri, Aug 15, 2025 at 04:08:22AM +0530, Beleswar Padhi wrote:
>> The wkup_r5fss0_core0_memory_region is used to store the text/data
>> sections of the Device Manager (DM) firmware itself and is necessary for
>> platform boot. Whereas the wkup_r5fss0_core0_dma_memory_region is used
>> for allocating the Virtio buffers needed for IPC with the DM core which
>> could be optional. The labels were incorrectly used in the
>> k3-am62p-verdin.dtsi file. Correct the firmware memory region label.
>>
>> Currently, only mailbox node is enabled with FIFO assignment. However,
>> there are no users of the enabled mailboxes. Add the missing carveouts
>> for WKUP and MCU R5F remote processors, and enable those by associating
>> to the above carveout and mailboxes. This config aligns with other AM62P
>> boards and can be refactored out later.
>>
>> Signed-off-by: Beleswar Padhi <b-padhi at ti.com>
>> ---
>> Cc: Francesco Dolcini <francesco.dolcini at toradex.com>
>> Cc: Emanuele Ghidoli <emanuele.ghidoli at toradex.com>
>> Cc: Parth Pancholi <parth.pancholi at toradex.com>
>> Cc: Jo_o Paulo Gon_alves <joao.goncalves at toradex.com>
>> Requesting for a review/test.
>>
>>   arch/arm64/boot/dts/ti/k3-am62p-verdin.dtsi | 42 ++++++++++++++++++++-
>>   1 file changed, 41 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-am62p-verdin.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-verdin.dtsi
>> index 6a04b370d149..0687debf3bbb 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am62p-verdin.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-am62p-verdin.dtsi
>> @@ -162,7 +162,25 @@ secure_ddr: optee at 9e800000 {
>>   			no-map;
>>   		};
>>   
>> -		wkup_r5fss0_core0_memory_region: r5f-dma-memory at 9c900000 {
>> +		mcu_r5fss0_core0_dma_memory_region: mcu-r5fss-dma-memory-region at 9b800000 {
>> +			compatible = "shared-dma-pool";
>> +			reg = <0x00 0x9b800000 0x00 0x100000>;
>> +			no-map;
>> +		};
>> +
>> +		mcu_r5fss0_core0_memory_region: mcu-r5fss-memory-region at 9b900000 {
> Node name should be generic, `memory at 9b900000` ?


Humm, that memory is reserved and has the 'no-map' property. So it
technically is only used by the node which references it (a particular
rproc in this case), and never used by Linux for any allocations. So it
is not generic memory per say...

So I was inclined for putting the specific node name which uses the
carveout in the label. What do you think?

>
> this applies in multiple patches in this series
>
>
>> +			compatible = "shared-dma-pool";
>> +			reg = <0x00 0x9b900000 0x00 0xf00000>;
>> +			no-map;
>> +		};
>> +
>> +		wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory at 9c800000 {
>> +			compatible = "shared-dma-pool";
>> +			reg = <0x00 0x9c800000 0x00 0x100000>;
>> +			no-map;
>> +		};
>> +
>> +		wkup_r5fss0_core0_memory_region: r5f-memory at 9c900000 {
>>   			compatible = "shared-dma-pool";
>>   			reg = <0x00 0x9c900000 0x00 0x01e00000>;
>>   			no-map;
>> @@ -848,6 +866,28 @@ mbox_mcu_r5_0: mbox-mcu-r5-0 {
>>   	};
>>   };
>>   
>> +&wkup_r5fss0 {
>> +	status = "okay";
>> +};
>> +
>> +&wkup_r5fss0_core0 {
>> +	mboxes = <&mailbox0_cluster0 &mbox_r5_0>;
>> +	memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
>> +			<&wkup_r5fss0_core0_memory_region>;
>> +	status = "okay";
>> +};
>> +
>> +&mcu_r5fss0 {
>> +	status = "okay";
>> +};
>> +
>> +&mcu_r5fss0_core0 {
>> +	mboxes = <&mailbox0_cluster1 &mbox_mcu_r5_0>;
>> +	memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
>> +			<&mcu_r5fss0_core0_memory_region>;
>> +	status = "okay";
>> +};
>> +
>>   &main0_alert {
>>   	temperature = <95000>;
>>   };
>> -- 
>> 2.34.1
>>



More information about the linux-arm-kernel mailing list