[PATCH v4 5/7] arm64: dts: ti: k3-j784s4-ti-ipc-firmware: Reserve memory for LPM metadata
Richard GENOUD
richard.genoud at bootlin.com
Mon Oct 19 05:42:07 PDT 2026
Le 17/10/2026 à 09:05, Kumar, Udit a écrit :
>
>
> On 9/21/2026 8:23 PM, Richard Genoud (TI) wrote:
>> Declare a carveout memory region to store LPM metadata on J784S4.
>>
>> For Jacinto devices, this memory region is needed for saving ATF context
>> and the certificate information of ATF and OPTEE and DM image. This LPM
>> metadata area is firewalled to be accessed only by TIFS.
>>
>> U-Boot R5 SPL/TIFS will use this area to save and restore:
>> - ATF context
>> - ATF certificate information
>> - OPTEE certificate information
>> - DM image (which has been copied in memory at boot time by U-Boot
>> R5-SPL)
>>
>> At resume, U-Boot R5 SPL is executed and detects that the board is
>> resuming (with a flag set in the PMIC), then it:
>> - brings out of retention the DDR
>> - retrieves the LPM memory region from DTS
>> - authenticates certificates from LPM memory region and applies firewalls
>> - asks TIFS to restore TFA and its own minimal context
>> - starts TFA on remote proc
>> - loads back DM image from memory and jumps to DM
>>
>> https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/pm/lpm.html#lpm-msg-lpm-save-addr
>>
>> As this is used by U-Boot SPL, bootph-pre-ram is added and the device is
>> enabled.
>>
>> NB: This memory region is not part of DM memory (which is not retained
>> at suspend)
>>
>> Signed-off-by: Prasanth Babu Mantena <p-mantena at ti.com>
>> Signed-off-by: Richard Genoud (TI) <richard.genoud at bootlin.com>
>> ---
>> .../boot/dts/ti/k3-j784s4-ti-ipc-firmware.dtsi | 15 +++++++++++++++
>> 1 file changed, 15 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-ti-ipc-firmware.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-ti-ipc-firmware.dtsi
>> index 81b508b9b05e..1c0c1533f0a3 100644
>> --- a/arch/arm64/boot/dts/ti/k3-j784s4-ti-ipc-firmware.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-j784s4-ti-ipc-firmware.dtsi
>> @@ -17,6 +17,12 @@ c71_3_memory_region: memory at ab100000 {
>> reg = <0x00 0xab100000 0x00 0xf00000>;
>> no-map;
>> };
>> +
>> + lpm_memory_region: memory at ac000000 {
>> + reg = <0x00 0xac000000 0x00 0x00300000>;
>> + no-map;
>> + bootph-pre-ram;
>> + };
>
> Could you move this carveout near to optee
> 0x9E500000 to 0x9E800000 as LPM memory,
>
> Since 0xa***_**** is used by firmware and this is just place-holder for
> lpm meta data.
>
> Also better to move this k3-j784s4-j742s2-ti-ipc-firmware-common.dtsi
> file as these two SOCs are same and uses same map
Ok I'll change to 0x9E500000 and merge with patch 7/7 (j742s2)
Thanks!
Regards,
Richard
>
> Thanks
> Udit
>
>
>> };
>>
>> &mailbox0_cluster5 {
>> @@ -27,6 +33,15 @@ mbox_c71_3: mbox-c71-3 {
>> };
>> };
>>
>> +&mcu_r5fss0_core0 {
>> + memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
>> + <&mcu_r5fss0_core0_memory_region>,
>> + <&lpm_memory_region>;
>> + memory-region-names = "dma", "firmware", "lpm-metadata";
>> + bootph-pre-ram;
>> + status = "okay";
>> +};
>> +
>> &c71_3 {
>> mboxes = <&mailbox0_cluster5 &mbox_c71_3>;
>> memory-region = <&c71_3_dma_memory_region>,
>
--
Richard Genoud, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the linux-arm-kernel
mailing list