1 /*
2  * Copyright (c) 2018-2022, ARM Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef PLATFORM_DEF_H
8 #define PLATFORM_DEF_H
9 
10 #include <lib/utils_def.h>
11 
12 #include <sgi_sdei.h>
13 #include <sgi_soc_platform_def.h>
14 
15 #define PLAT_ARM_CLUSTER_COUNT		U(2)
16 #define CSS_SGI_MAX_CPUS_PER_CLUSTER	U(4)
17 #define CSS_SGI_MAX_PE_PER_CPU		U(1)
18 
19 #define PLAT_CSS_MHU_BASE		UL(0x45400000)
20 
21 /* Base address of DMC-620 instances */
22 #define RDN1EDGE_DMC620_BASE0		UL(0x4e000000)
23 #define RDN1EDGE_DMC620_BASE1		UL(0x4e100000)
24 
25 /* System power domain level */
26 #define CSS_SYSTEM_PWR_DMN_LVL		ARM_PWR_LVL2
27 
28 #define PLAT_MAX_PWR_LVL		ARM_PWR_LVL1
29 
30 /* Virtual address used by dynamic mem_protect for chunk_base */
31 #define PLAT_ARM_MEM_PROTEC_VA_FRAME	UL(0xc0000000)
32 
33 /* Maximum number of address bits used per chip */
34 #define CSS_SGI_ADDR_BITS_PER_CHIP	U(42)
35 
36 /*
37  * Physical and virtual address space limits for MMU in AARCH64 & AARCH32 modes
38  */
39 #ifdef __aarch64__
40 #define PLAT_PHY_ADDR_SPACE_SIZE	CSS_SGI_REMOTE_CHIP_MEM_OFFSET( \
41 						CSS_SGI_CHIP_COUNT)
42 #define PLAT_VIRT_ADDR_SPACE_SIZE	CSS_SGI_REMOTE_CHIP_MEM_OFFSET( \
43 						CSS_SGI_CHIP_COUNT)
44 #else
45 #define PLAT_PHY_ADDR_SPACE_SIZE	(1ULL << 32)
46 #define PLAT_VIRT_ADDR_SPACE_SIZE	(1ULL << 32)
47 #endif
48 
49 /* GIC related constants */
50 #define PLAT_ARM_GICD_BASE		UL(0x30000000)
51 #define PLAT_ARM_GICC_BASE		UL(0x2C000000)
52 #define PLAT_ARM_GICR_BASE		UL(0x300C0000)
53 
54 #endif /* PLATFORM_DEF_H */
55