[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ecff956d-1019-41d0-9bfc-b0bdc30e87ba@ti.com>
Date: Fri, 22 Aug 2025 22:09:48 +0530
From: Beleswar Prasad Padhi <b-padhi@...com>
To: Francesco Dolcini <francesco@...cini.it>
CC: <nm@...com>, <vigneshr@...com>, <kristo@...nel.org>, <robh@...nel.org>,
<krzk+dt@...nel.org>, <conor+dt@...nel.org>, <afd@...com>,
<u-kumar1@...com>, <hnagalla@...com>, <jm@...com>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
Francesco Dolcini <francesco.dolcini@...adex.com>,
Emanuele Ghidoli
<emanuele.ghidoli@...adex.com>,
Parth Pancholi <parth.pancholi@...adex.com>,
Jo_o Paulo Gon_alves <joao.goncalves@...adex.com>
Subject: Re: [PATCH 16/33] arm64: dts: ti: k3-am62p-verdin: Add missing cfg
for TI IPC Firmware
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@...com>
>> ---
>> Cc: Francesco Dolcini <francesco.dolcini@...adex.com>
>> Cc: Emanuele Ghidoli <emanuele.ghidoli@...adex.com>
>> Cc: Parth Pancholi <parth.pancholi@...adex.com>
>> Cc: Jo_o Paulo Gon_alves <joao.goncalves@...adex.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@...00000 {
>> no-map;
>> };
>>
>> - wkup_r5fss0_core0_memory_region: r5f-dma-memory@...00000 {
>> + mcu_r5fss0_core0_dma_memory_region: mcu-r5fss-dma-memory-region@...00000 {
>> + compatible = "shared-dma-pool";
>> + reg = <0x00 0x9b800000 0x00 0x100000>;
>> + no-map;
>> + };
>> +
>> + mcu_r5fss0_core0_memory_region: mcu-r5fss-memory-region@...00000 {
> Node name should be generic, `memory@...00000` ?
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@...00000 {
>> + compatible = "shared-dma-pool";
>> + reg = <0x00 0x9c800000 0x00 0x100000>;
>> + no-map;
>> + };
>> +
>> + wkup_r5fss0_core0_memory_region: r5f-memory@...00000 {
>> 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
>>
Powered by blists - more mailing lists