mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2026-07-04 00:48:44 +00:00
To generalize manifest file for StandaloneMm for FVP,
organize this manifest file by separating:
* stmm_common.dtsi
- collection of macros to used by {plat_}stmm_*.dts(i) files.
* stmm_dev_region.dtsi
- device region template for StandaloneMm.
- If some environment don't required it, it can be excluded in
by not defining STMM_XXX macro.
* stmm_mem_region.dtsi
- memory region template for StandaloneMm.
* stmm_template.dts
- StandaloneMm manifest template defining common root node
information.
* fvp_stmm_{xxx}_manifest.dts
- Main StandaloneMm manifest file.
- According to environment, defines proper STMM_XXX value
to define device/memory region.
- device region can be excluded by not defining some STMM_XXX macro.
This is useful to define new StandaloneMm manifest
in different environments.
Change-Id: Ia9668c4994f589b178872d4d7a18a9f28075df74
Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
52 lines
1.4 KiB
Devicetree
52 lines
1.4 KiB
Devicetree
/*
|
|
* Copyright (c) 2025, Arm Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef _STMM_COMMON_DTSI
|
|
#define _STMM_COMMON_DTSI
|
|
|
|
#define ES_AARCH32 (1)
|
|
#define ES_AARCH64 (0)
|
|
|
|
#define TG_4KB (0x0)
|
|
#define TG_16KB (0x1)
|
|
#define TG_64KB (0x2)
|
|
|
|
#define MODE_SEL0 (0x1)
|
|
#define MODE_SEL1 (0x2)
|
|
|
|
#define SECURE_RO (0x1)
|
|
#define SECURE_RW (0x3)
|
|
#define SECURE_EXECUTE_RO (0x5)
|
|
#define SECURE_EXECUTE_RW (0x7)
|
|
#define NON_SECURE_RO (0x9)
|
|
#define NON_SECURE_RW (0xB)
|
|
#define NON_SECURE_EXECUTE_RO (0xD)
|
|
#define NON_SECURE_EXECUTE_RW (0xF)
|
|
|
|
#define PAGE_SHIFT (12)
|
|
#define PAGE_ALIGN(x) ((x) & ~(PAGE_SHIFT -1))
|
|
#define PAGE_ALIGN_UP(x) ((x + (PAGE_SHIFT - 1)) & ~(PAGE_SHIFT - 1))
|
|
#define PAGE_COUNT(size) (PAGE_ALIGN_UP(size) >> PAGE_SHIFT)
|
|
|
|
#define ADDR_INIT(addr) \
|
|
(PAGE_ALIGN(addr) >> 32) (PAGE_ALIGN(addr) & 0xffffffff)
|
|
|
|
#define SIZE_INIT(size) \
|
|
((size) >> 32) ((size) & 0xffffffff)
|
|
|
|
#define UUID_INIT(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7) \
|
|
((((a) >> 24) & 0xff) | ((((a) >> 16) & 0xff) << 8) | \
|
|
((((a) >> 8) & 0xff) << 16) | (((a) & 0xff) << 24)) \
|
|
((((b) >> 8) & 0xff) | (((b) & 0xff) << 8) | \
|
|
((((c) >> 8) & 0xff) << 16) | (((c) & 0xff) << 24)) \
|
|
(((d0) & 0xff) | (((d1) & 0xff) << 8) | \
|
|
(((d2) & 0xff) << 16) | (((d3) & 0xff) << 24)) \
|
|
(((d4) & 0xff) | (((d5) & 0xff) << 8) | \
|
|
(((d6) & 0xff) << 16) | (((d7) & 0xff) << 24))
|
|
|
|
#endif /* _STMM_COMMON_DTSI */
|
|
|