Split the firmware memory region in more specific parts so it is better
described where to find which information. Specifically the LPM metadata
region is important as bootloader software like U-Boot has to know where
that data is to be able to read that data.

Reviewed-by: Bryan Brattlof <[email protected]>
Reviewed-by: Kendall Willis <[email protected]>
Signed-off-by: Markus Schneider-Pargmann (TI) <[email protected]>
Link: 
https://patch.msgid.link/20260918-topic-am62a-ioddr-dt-v6-19-v9-7-40972ef1f...@baylibre.com
Signed-off-by: Nishanth Menon <[email protected]>

[ upstream commit: 13aea49af974352c2a6a96608bbaa3ed3030706c ]

(cherry picked from commit 58c41f0943b030e47e3505e510eb45dd52e6667a)
Signed-off-by: Markus Schneider-Pargmann (TI) <[email protected]>
---
 .../src/arm64/ti/k3-am62a-phycore-som.dtsi         | 28 ++++++++++++++++++++--
 .../src/arm64/ti/k3-am62a-ti-ipc-firmware.dtsi     | 10 ++++++--
 dts/upstream/src/arm64/ti/k3-am62a7-sk.dts         | 28 ++++++++++++++++++++--
 dts/upstream/src/arm64/ti/k3-am62d2-evm.dts        | 28 ++++++++++++++++++++--
 4 files changed, 86 insertions(+), 8 deletions(-)

diff --git a/dts/upstream/src/arm64/ti/k3-am62a-phycore-som.dtsi 
b/dts/upstream/src/arm64/ti/k3-am62a-phycore-som.dtsi
index 53c096da68b5..7fa19ced1a23 100644
--- a/dts/upstream/src/arm64/ti/k3-am62a-phycore-som.dtsi
+++ b/dts/upstream/src/arm64/ti/k3-am62a-phycore-som.dtsi
@@ -65,9 +65,33 @@
                        no-map;
                };
 
-               wkup_r5fss0_core0_memory_region: memory@9c900000 {
+               wkup_r5fss0_core0_ipc_region: memory@9c900000 {
                        compatible = "shared-dma-pool";
-                       reg = <0x00 0x9c900000 0x00 0x1e00000>;
+                       reg = <0x00 0x9c900000 0x00 0x100000>;
+                       no-map;
+               };
+
+               wkup_r5fss0_core0_lpm_fs_stub_region: memory@9ca00000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x00 0x9ca00000 0x00 0x8000>;
+                       no-map;
+               };
+
+               wkup_r5fss0_core0_lpm_metadata_region: memory@9ca08000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x00 0x9ca08000 0x00 0x1000>;
+                       no-map;
+               };
+
+               wkup_r5fss0_core0_lpm_rest_region: memory@9ca09000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x00 0x9ca09000 0x00 0x97000>;
+                       no-map;
+               };
+
+               wkup_r5fss0_core0_dm_region: memory@9caa0000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x00 0x9caa0000 0x00 0x1c60000>;
                        no-map;
                };
 
diff --git a/dts/upstream/src/arm64/ti/k3-am62a-ti-ipc-firmware.dtsi 
b/dts/upstream/src/arm64/ti/k3-am62a-ti-ipc-firmware.dtsi
index 06d4e815b167..94c1d60d8d7a 100644
--- a/dts/upstream/src/arm64/ti/k3-am62a-ti-ipc-firmware.dtsi
+++ b/dts/upstream/src/arm64/ti/k3-am62a-ti-ipc-firmware.dtsi
@@ -65,8 +65,14 @@
 &wkup_r5fss0_core0 {
        mboxes = <&mailbox0_cluster0>, <&mbox_r5_0>;
        memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
-                       <&wkup_r5fss0_core0_memory_region>;
-       memory-region-names = "dma", "firmware";
+                       <&wkup_r5fss0_core0_ipc_region>,
+                       <&wkup_r5fss0_core0_lpm_fs_stub_region>,
+                       <&wkup_r5fss0_core0_lpm_metadata_region>,
+                       <&wkup_r5fss0_core0_lpm_rest_region>,
+                       <&wkup_r5fss0_core0_dm_region>;
+       memory-region-names = "dma", "ipc", "lpm-stub",
+                             "lpm-metadata", "lpm-context",
+                             "dm-firmware";
        status = "okay";
 };
 
diff --git a/dts/upstream/src/arm64/ti/k3-am62a7-sk.dts 
b/dts/upstream/src/arm64/ti/k3-am62a7-sk.dts
index 6e5419de8e35..871ec227def9 100644
--- a/dts/upstream/src/arm64/ti/k3-am62a7-sk.dts
+++ b/dts/upstream/src/arm64/ti/k3-am62a7-sk.dts
@@ -59,9 +59,33 @@
                        no-map;
                };
 
-               wkup_r5fss0_core0_memory_region: memory@9c900000 {
+               wkup_r5fss0_core0_ipc_region: memory@9c900000 {
                        compatible = "shared-dma-pool";
-                       reg = <0x00 0x9c900000 0x00 0x1e00000>;
+                       reg = <0x00 0x9c900000 0x00 0x100000>;
+                       no-map;
+               };
+
+               wkup_r5fss0_core0_lpm_fs_stub_region: memory@9ca00000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x00 0x9ca00000 0x00 0x8000>;
+                       no-map;
+               };
+
+               wkup_r5fss0_core0_lpm_metadata_region: memory@9ca08000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x00 0x9ca08000 0x00 0x1000>;
+                       no-map;
+               };
+
+               wkup_r5fss0_core0_lpm_rest_region: memory@9ca09000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x00 0x9ca09000 0x00 0x97000>;
+                       no-map;
+               };
+
+               wkup_r5fss0_core0_dm_region: memory@9caa0000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x00 0x9caa0000 0x00 0x1c60000>;
                        no-map;
                };
 
diff --git a/dts/upstream/src/arm64/ti/k3-am62d2-evm.dts 
b/dts/upstream/src/arm64/ti/k3-am62d2-evm.dts
index a8c794d07343..7cba3ff99e6a 100644
--- a/dts/upstream/src/arm64/ti/k3-am62d2-evm.dts
+++ b/dts/upstream/src/arm64/ti/k3-am62d2-evm.dts
@@ -65,13 +65,37 @@
                        no-map;
                };
 
-               wkup_r5fss0_core0_memory_region: memory@9c900000 {
+               wkup_r5fss0_core0_ipc_region: memory@9c900000 {
                        compatible = "shared-dma-pool";
-                       reg = <0x00 0x9c900000 0x00 0x1e00000>;
+                       reg = <0x00 0x9c900000 0x00 0x100000>;
+                       no-map;
+               };
+
+               wkup_r5fss0_core0_lpm_fs_stub_region: memory@9ca00000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x00 0x9ca00000 0x00 0x8000>;
+                       no-map;
+               };
+
+               wkup_r5fss0_core0_lpm_metadata_region: memory@9ca08000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x00 0x9ca08000 0x00 0x1000>;
                        no-map;
                        bootph-pre-ram;
                };
 
+               wkup_r5fss0_core0_lpm_rest_region: memory@9ca09000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x00 0x9ca09000 0x00 0x97000>;
+                       no-map;
+               };
+
+               wkup_r5fss0_core0_dm_region: memory@9caa0000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x00 0x9caa0000 0x00 0x1c60000>;
+                       no-map;
+               };
+
                secure_ddr: optee@9e800000 {
                        reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE 
*/
                        no-map;

-- 
2.55.0

Reply via email to