[PATCH v2 1/1] arm64: dts: ti: k3-j7: Reserve memory for LPM meta data
Richard Genoud (TI)
richard.genoud at bootlin.com
Mon Apr 27 09:03:26 PDT 2026
From: Prasanth Babu Mantena <p-mantena at ti.com>
For TI SOCs J7200, J784S4, J722S, J721s2 which support low power modes,
a chunk of memory is reserved for LPM meta data, which 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/TIFS will use this area to save and restore:
- ATF context
- ATF certificate information
- OPTEE certificate information
- DM image
https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/pm/lpm.html#lpm-msg-lpm-save-addr
U-Boot has to parse and retrieve this area from the device tree, thus
@lpm-memory node are used instead of the generic @memory.
Signed-off-by: Prasanth Babu Mantena <p-mantena at ti.com>
Signed-off-by: Richard Genoud (TI) <richard.genoud at bootlin.com>
---
arch/arm64/boot/dts/ti/k3-j7200-som-p0.dtsi | 6 ++++++
arch/arm64/boot/dts/ti/k3-j721s2-som-p0.dtsi | 6 ++++++
arch/arm64/boot/dts/ti/k3-j722s-evm.dts | 6 ++++++
arch/arm64/boot/dts/ti/k3-j742s2-evm.dts | 9 +++++++++
arch/arm64/boot/dts/ti/k3-j784s4-evm.dts | 9 ++++++---
5 files changed, 33 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/k3-j7200-som-p0.dtsi b/arch/arm64/boot/dts/ti/k3-j7200-som-p0.dtsi
index 5a8c2e707fde..756928a2d411 100644
--- a/arch/arm64/boot/dts/ti/k3-j7200-som-p0.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j7200-som-p0.dtsi
@@ -40,6 +40,12 @@ mcu_r5fss0_core0_memory_region: memory at a0100000 {
reg = <0x00 0xa0100000 0x00 0xf00000>;
no-map;
};
+
+ lpm_memory_region: lpm-memory at a4800000 {
+ reg = <0x00 0xa4800000 0x00 0x00300000>;
+ no-map;
+ bootph-all;
+ };
};
mux0: mux-controller-0 {
diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-som-p0.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-som-p0.dtsi
index 12a38dd1514b..ceab8f057640 100644
--- a/arch/arm64/boot/dts/ti/k3-j721s2-som-p0.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721s2-som-p0.dtsi
@@ -42,6 +42,12 @@ mcu_r5fss0_core0_memory_region: memory at a0100000 {
reg = <0x00 0xa0100000 0x00 0xf00000>;
no-map;
};
+
+ lpm_memory_region: lpm-memory at a9c00000 {
+ reg = <0x00 0xa9c00000 0x00 0x00300000>;
+ no-map;
+ bootph-all;
+ };
};
mux0: mux-controller-0 {
diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
index e66330c71593..eebc5cc7d4cd 100644
--- a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
@@ -63,6 +63,12 @@ wkup_r5fss0_core0_memory_region: memory at a0100000 {
reg = <0x00 0xa0100000 0x00 0xf00000>;
no-map;
};
+
+ lpm_memory_region: lpm-memory at a6c00000 {
+ reg = <0x00 0xa6c00000 0x00 0x00300000>;
+ no-map;
+ bootph-all;
+ };
};
vmain_pd: regulator-0 {
diff --git a/arch/arm64/boot/dts/ti/k3-j742s2-evm.dts b/arch/arm64/boot/dts/ti/k3-j742s2-evm.dts
index fcb7f05d7faf..d0752c8a6b37 100644
--- a/arch/arm64/boot/dts/ti/k3-j742s2-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j742s2-evm.dts
@@ -23,4 +23,13 @@ memory at 80000000 {
device_type = "memory";
bootph-all;
};
+
+};
+
+&reserved_memory {
+ lpm_memory_region: lpm-memory at ab000000 {
+ reg = <0x00 0xab000000 0x00 0x00300000>;
+ no-map;
+ bootph-all;
+ };
};
diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
index 6c7458c76f53..114594f37f0b 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
@@ -23,10 +23,13 @@ memory at 80000000 {
device_type = "memory";
bootph-all;
};
+};
- reserved_memory: reserved-memory {
- #address-cells = <2>;
- #size-cells = <2>;
+&reserved_memory {
+ lpm_memory_region: lpm-memory at ac000000 {
+ reg = <0x00 0xac000000 0x00 0x00300000>;
+ no-map;
+ bootph-all;
};
};
More information about the linux-arm-kernel
mailing list