blob: 194814f95e952ccf1b5143ee075cbcd1417e3091 [file] [log] [blame]
Aditya Angadid61740b2020-11-19 18:05:33 +05301/*
2 * Copyright (c) 2020, 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_soc_platform_def_v2.h>
13
Aditya Angadif894b9a2021-03-20 12:15:04 +053014#if (CSS_SGI_PLATFORM_VARIANT == 1)
15#define PLAT_ARM_CLUSTER_COUNT U(8)
16#else
Aditya Angadid61740b2020-11-19 18:05:33 +053017#define PLAT_ARM_CLUSTER_COUNT U(16)
Aditya Angadif894b9a2021-03-20 12:15:04 +053018#endif
19
Aditya Angadid61740b2020-11-19 18:05:33 +053020#define CSS_SGI_MAX_CPUS_PER_CLUSTER U(1)
21#define CSS_SGI_MAX_PE_PER_CPU U(1)
22
23#define PLAT_CSS_MHU_BASE UL(0x2A920000)
24#define PLAT_MHUV2_BASE PLAT_CSS_MHU_BASE
25
26#define CSS_SYSTEM_PWR_DMN_LVL ARM_PWR_LVL2
27#define PLAT_MAX_PWR_LVL ARM_PWR_LVL1
28
29/* TZC Related Constants */
Vijayenthiran Subramaniam478ccb32021-02-04 18:15:40 +053030#define PLAT_ARM_TZC_BASE UL(0x10720000)
Aditya Angadid61740b2020-11-19 18:05:33 +053031#define PLAT_ARM_TZC_FILTERS TZC_400_REGION_ATTR_FILTER_BIT(0)
32
33#define TZC400_OFFSET UL(0x1000000)
Aditya Angadif894b9a2021-03-20 12:15:04 +053034
35#if (CSS_SGI_PLATFORM_VARIANT == 1)
36#define TZC400_COUNT U(2)
37#else
Aditya Angadid61740b2020-11-19 18:05:33 +053038#define TZC400_COUNT U(8)
Aditya Angadif894b9a2021-03-20 12:15:04 +053039#endif
Aditya Angadid61740b2020-11-19 18:05:33 +053040
41#define TZC400_BASE(n) (PLAT_ARM_TZC_BASE + \
42 (n * TZC400_OFFSET))
43
44#define TZC_NSAID_ALL_AP U(0)
45#define TZC_NSAID_PCI U(1)
46#define TZC_NSAID_HDLCD0 U(2)
Vijayenthiran Subramaniam673e0592021-07-06 14:52:04 +053047#define TZC_NSAID_DMA U(5)
48#define TZC_NSAID_DMA2 U(8)
Aditya Angadid61740b2020-11-19 18:05:33 +053049#define TZC_NSAID_CLCD U(7)
50#define TZC_NSAID_AP U(9)
51#define TZC_NSAID_VIRTIO U(15)
52
53#define PLAT_ARM_TZC_NS_DEV_ACCESS \
54 (TZC_REGION_ACCESS_RDWR(TZC_NSAID_ALL_AP)) | \
55 (TZC_REGION_ACCESS_RDWR(TZC_NSAID_HDLCD0)) | \
56 (TZC_REGION_ACCESS_RDWR(TZC_NSAID_PCI)) | \
Vijayenthiran Subramaniam673e0592021-07-06 14:52:04 +053057 (TZC_REGION_ACCESS_RDWR(TZC_NSAID_DMA)) | \
58 (TZC_REGION_ACCESS_RDWR(TZC_NSAID_DMA2)) | \
Aditya Angadid61740b2020-11-19 18:05:33 +053059 (TZC_REGION_ACCESS_RDWR(TZC_NSAID_AP)) | \
60 (TZC_REGION_ACCESS_RDWR(TZC_NSAID_CLCD)) | \
61 (TZC_REGION_ACCESS_RDWR(TZC_NSAID_VIRTIO))
62
63/*
64 * Physical and virtual address space limits for MMU in AARCH64 & AARCH32 modes
65 */
66#ifdef __aarch64__
67#define PLAT_PHY_ADDR_SPACE_SIZE (1ULL << 42)
68#define PLAT_VIRT_ADDR_SPACE_SIZE (1ULL << 42)
69#else
70#define PLAT_PHY_ADDR_SPACE_SIZE (1ULL << 32)
71#define PLAT_VIRT_ADDR_SPACE_SIZE (1ULL << 32)
72#endif
73
74/* GIC related constants */
75#define PLAT_ARM_GICD_BASE UL(0x30000000)
76#define PLAT_ARM_GICC_BASE UL(0x2C000000)
Aditya Angadif894b9a2021-03-20 12:15:04 +053077
78#if (CSS_SGI_PLATFORM_VARIANT == 1)
79#define PLAT_ARM_GICR_BASE UL(0x30100000)
80#else
Vijayenthiran Subramaniam777a9ff2020-12-15 20:07:43 +053081#define PLAT_ARM_GICR_BASE UL(0x301C0000)
Aditya Angadif894b9a2021-03-20 12:15:04 +053082#endif
Aditya Angadid61740b2020-11-19 18:05:33 +053083
84#endif /* PLATFORM_DEF_H */