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
