1*8d66892aSYeoreum Yun/* 2*8d66892aSYeoreum Yun * Copyright (c) 2025, Arm Limited and Contributors. All rights reserved. 3*8d66892aSYeoreum Yun * 4*8d66892aSYeoreum Yun * SPDX-License-Identifier: BSD-3-Clause 5*8d66892aSYeoreum Yun */ 6*8d66892aSYeoreum Yun 7*8d66892aSYeoreum Yun#ifndef _STMM_COMMON_DTSI 8*8d66892aSYeoreum Yun#define _STMM_COMMON_DTSI 9*8d66892aSYeoreum Yun 10*8d66892aSYeoreum Yun#define ES_AARCH32 (1) 11*8d66892aSYeoreum Yun#define ES_AARCH64 (0) 12*8d66892aSYeoreum Yun 13*8d66892aSYeoreum Yun#define TG_4KB (0x0) 14*8d66892aSYeoreum Yun#define TG_16KB (0x1) 15*8d66892aSYeoreum Yun#define TG_64KB (0x2) 16*8d66892aSYeoreum Yun 17*8d66892aSYeoreum Yun#define MODE_SEL0 (0x1) 18*8d66892aSYeoreum Yun#define MODE_SEL1 (0x2) 19*8d66892aSYeoreum Yun 20*8d66892aSYeoreum Yun#define SECURE_RO (0x1) 21*8d66892aSYeoreum Yun#define SECURE_RW (0x3) 22*8d66892aSYeoreum Yun#define SECURE_EXECUTE_RO (0x5) 23*8d66892aSYeoreum Yun#define SECURE_EXECUTE_RW (0x7) 24*8d66892aSYeoreum Yun#define NON_SECURE_RO (0x9) 25*8d66892aSYeoreum Yun#define NON_SECURE_RW (0xB) 26*8d66892aSYeoreum Yun#define NON_SECURE_EXECUTE_RO (0xD) 27*8d66892aSYeoreum Yun#define NON_SECURE_EXECUTE_RW (0xF) 28*8d66892aSYeoreum Yun 29*8d66892aSYeoreum Yun#define PAGE_SHIFT (12) 30*8d66892aSYeoreum Yun#define PAGE_ALIGN(x) ((x) & ~(PAGE_SHIFT -1)) 31*8d66892aSYeoreum Yun#define PAGE_ALIGN_UP(x) ((x + (PAGE_SHIFT - 1)) & ~(PAGE_SHIFT - 1)) 32*8d66892aSYeoreum Yun#define PAGE_COUNT(size) (PAGE_ALIGN_UP(size) >> PAGE_SHIFT) 33*8d66892aSYeoreum Yun 34*8d66892aSYeoreum Yun#define ADDR_INIT(addr) \ 35*8d66892aSYeoreum Yun (PAGE_ALIGN(addr) >> 32) (PAGE_ALIGN(addr) & 0xffffffff) 36*8d66892aSYeoreum Yun 37*8d66892aSYeoreum Yun#define SIZE_INIT(size) \ 38*8d66892aSYeoreum Yun ((size) >> 32) ((size) & 0xffffffff) 39*8d66892aSYeoreum Yun 40*8d66892aSYeoreum Yun#define UUID_INIT(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7) \ 41*8d66892aSYeoreum Yun ((((a) >> 24) & 0xff) | ((((a) >> 16) & 0xff) << 8) | \ 42*8d66892aSYeoreum Yun ((((a) >> 8) & 0xff) << 16) | (((a) & 0xff) << 24)) \ 43*8d66892aSYeoreum Yun ((((b) >> 8) & 0xff) | (((b) & 0xff) << 8) | \ 44*8d66892aSYeoreum Yun ((((c) >> 8) & 0xff) << 16) | (((c) & 0xff) << 24)) \ 45*8d66892aSYeoreum Yun (((d0) & 0xff) | (((d1) & 0xff) << 8) | \ 46*8d66892aSYeoreum Yun (((d2) & 0xff) << 16) | (((d3) & 0xff) << 24)) \ 47*8d66892aSYeoreum Yun (((d4) & 0xff) | (((d5) & 0xff) << 8) | \ 48*8d66892aSYeoreum Yun (((d6) & 0xff) << 16) | (((d7) & 0xff) << 24)) 49*8d66892aSYeoreum Yun 50*8d66892aSYeoreum Yun#endif /* _STMM_COMMON_DTSI */ 51*8d66892aSYeoreum Yun 52