xref: /rk3399_ARM-atf/fdts/stmm_template.dts (revision d9712f9cae10fdeb8696ffcd3ca35d58666ea9dd)
1/*
2 * Copyright (c) 2025, Arm Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <stmm_common.dtsi>
8
9/ {
10	/*
11	 * FF-A compatible Secure Partition Manager parses the
12	 * config file and fetches the following booting arguments to
13	 * pass on to the StandAloneMM(StMM) Secure Partition.
14	 */
15	compatible = "arm,ffa-manifest-1.0";
16	execution-ctx-count = <STMM_CORE_COUNT>;
17	exception-level = <MODE_SEL0>; /* SEL0*/
18	execution-state = <ES_AARCH64>; /* AArch64*/
19	image-size = <SIZE_INIT(STMM_IMAGE_SIZE)>;
20	xlat-granule = <TG_4KB>; /* 4KiB */
21	boot-order = <0>;
22	gp-register-num = <0>;
23
24	device-regions {
25		compatible = "arm,ffa-manifest-device-regions";
26
27		/**
28		 * System registers, rtc, uart and etc regions for access from S-EL0.
29		 */
30		io_fpga: io_fpga {
31			description ="io_fpga";
32		};
33
34		system_reg_el0: system_reg_el0 {
35			description ="system_reg_el0";
36		};
37
38		/**
39		 * ARM CSS SoC Peripherals area.
40		 * Similar to SOC_CSS_MAP_DEVICE.
41		 */
42		soc_components: soc_components {
43			description ="soc_components";
44		};
45
46#ifdef STMM_FLASH0_BASE
47		/**
48		 * NOR0 Flash region, used for Firmware Image Update.
49		 */
50		flash0: flash0 {
51			description ="flash0";
52		};
53#endif
54
55#ifdef STMM_FLASH1_BASE
56		/**
57		 * NOR1 Flash region, used for Secure booting.
58		 */
59		flash1: flash1 {
60			description ="flash1";
61		};
62#endif
63
64#ifdef STMM_TPM_S_CRB_BASE
65		tpm_s_crb: tpm_s_crb {
66			description ="tpm pesudo s-crb";
67		};
68#endif
69
70#ifdef STMM_TPM_NS_CRB_BASE
71		tpm_ns_crb: tpm_ns_crb {
72			description ="tpm pesudo ns-crb";
73		};
74#endif
75	};
76
77	memory-regions {
78		compatible = "arm,ffa-manifest-memory-regions";
79
80		/*
81		 * SPM Payload memory. Mapped as code region for S-EL0
82		 * Similar to ARM_SP_IMAGE_MMAP.
83		 */
84		image_fvb: stmm_region {
85			description = "image";
86		};
87
88		/*
89		 * Memory shared between EL3 and S-EL0.
90		 * Similar to ARM_SPM_BUF_EL0_MMAP.
91		 */
92		shared_buf: rx-tx-buffers {
93			description = "shared-buff";
94		};
95
96		/*
97		 * Memory shared between Normal world and S-EL0.
98		 * Similar to ARM_SP_IMAGE_NS_BUF_MMAP.
99		 */
100		ns_shared_buf: ns_comm_buffer {
101			/*
102			 * Description is needed for StMM to identify
103			 * ns-communication buffer.
104			 */
105			description = "ns-comm";
106		};
107
108		/*
109		 * Heap used by SP to allocate memory for DMA.
110		 */
111		stmm_heap: heap {
112			/*
113			 * Description is needed for StMM to identify
114			 * heap buffer.
115			 */
116			description = "heap";
117		};
118	};
119};
120
121#include "stmm_dev_region.dtsi"
122#include "stmm_mem_region.dtsi"
123