xref: /rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_stmm_rust_spmc_manifest.dts (revision 48a17d711789ae73fc6f68d89e2942c83b8bd13c)
1/*
2 * Copyright (c) 2025, Arm Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7/dts-v1/;
8
9/**
10 * dtc compiler doesn't define architecture.
11 * To get proper define value for StandaloneMm, we need to define manually
12 * before including platform_def.h
13 */
14#define __aarch64__	1
15
16#include <platform_def.h>
17
18#define STMM_CORE_COUNT	1
19
20/**
21 * device region values.
22 */
23#define STMM_IOFPGA_BASE	V2M_IOFPGA_BASE
24#define STMM_IOFPGA_SIZE	V2M_IOFPGA_SIZE
25
26#define STMM_SYSREG_BASE	V2M_SYSREGS_BASE
27#define STMM_SYSREG_SIZE	V2M_SYSREGS_SIZE
28
29#define STMM_SOCCMP_BASE	DEVICE0_BASE
30#define STMM_SOCCMP_SIZE	DEVICE0_SIZE
31
32#define STMM_FLASH0_BASE	V2M_FLASH0_BASE
33#define STMM_FLASH0_SIZE	V2M_FLASH0_SIZE
34#define STMM_FLASH0_ATTR	NON_SECURE_RW
35
36#define STMM_FLASH1_BASE	V2M_FLASH1_BASE
37#define STMM_FLASH1_SIZE	V2M_FLASH1_SIZE
38#define STMM_FLASH1_ATTR	SECURE_RW
39
40#define STMM_TPM_S_CRB_BASE	PLAT_SP_PSEUDO_S_CRB_BASE
41#define STMM_TPM_S_CRB_SIZE	PLAT_SP_PSEUDO_S_CRB_SIZE
42
43#define STMM_TPM_NS_CRB_BASE	PLAT_SP_PSEUDO_NS_CRB_BASE
44#define STMM_TPM_NS_CRB_SIZE	PLAT_SP_PSEUDO_NS_CRB_SIZE
45
46/**
47 * memory region values.
48 */
49#define STMM_IMAGE_BASE	(0x07000000)
50#define STMM_IMAGE_SIZE	(3 * SZ_1M)
51
52#define STMM_SSBUF_BASE	PLAT_SPM_BUF_BASE
53#define STMM_SSBUF_SIZE	PLAT_SPM_BUF_SIZE
54
55#define STMM_NSBUF_BASE	PLAT_SP_IMAGE_NS_BUF_BASE
56#define STMM_NSBUF_SIZE	PLAT_SP_IMAGE_NS_BUF_SIZE
57
58#define STMM_HEAP_BASE		(STMM_IMAGE_BASE + STMM_IMAGE_SIZE)
59#define STMM_HEAP_SIZE		(9 * SZ_1M)
60
61/**
62 * Other properties
63 */
64#define STMM_LOAD_ADDR		(STMM_IMAGE_BASE + STMM_ENTRY_OFFSET)
65#define STMM_ENTRY_OFFSET	(SZ_16K)
66
67#include "stmm_common.dtsi"
68
69/ {
70	description = "FVP Base StandaloneMm for rust-spmc";
71	ffa-version = <0x00010002>; /* 31:16 - Major, 15:0 - Minor */
72	uuid = <UUID_INIT(0x378daedc, 0xf06b, 0x4446,
73			  0x83, 0x14, 0x40, 0xab, 0x93, 0x3c, 0x87, 0xa3)>,
74	       <UUID_INIT(0x17b862a4, 0x1806, 0x4faf,
75			  0x86, 0xb3, 0x08, 0x9a, 0x58, 0x35, 0x38, 0x61)>;
76	id = <0x8001>;
77	messaging-method = <0x603>; /* Direct req/resp/req2/resp2 supported. */
78	load-address = <ADDR_INIT(STMM_LOAD_ADDR)>;
79	entrypoint-offset = <STMM_ENTRY_OFFSET>;
80};
81
82#include "stmm_template.dts"
83