xref: /rk3399_ARM-atf/plat/arm/board/fvp/fvp_def.h (revision 3fc4124c7513554dc14a83a0b94010ce771e7e1c)
1*3fc4124cSDan Handley /*
2*3fc4124cSDan Handley  * Copyright (c) 2014-2015, ARM Limited and Contributors. All rights reserved.
3*3fc4124cSDan Handley  *
4*3fc4124cSDan Handley  * Redistribution and use in source and binary forms, with or without
5*3fc4124cSDan Handley  * modification, are permitted provided that the following conditions are met:
6*3fc4124cSDan Handley  *
7*3fc4124cSDan Handley  * Redistributions of source code must retain the above copyright notice, this
8*3fc4124cSDan Handley  * list of conditions and the following disclaimer.
9*3fc4124cSDan Handley  *
10*3fc4124cSDan Handley  * Redistributions in binary form must reproduce the above copyright notice,
11*3fc4124cSDan Handley  * this list of conditions and the following disclaimer in the documentation
12*3fc4124cSDan Handley  * and/or other materials provided with the distribution.
13*3fc4124cSDan Handley  *
14*3fc4124cSDan Handley  * Neither the name of ARM nor the names of its contributors may be used
15*3fc4124cSDan Handley  * to endorse or promote products derived from this software without specific
16*3fc4124cSDan Handley  * prior written permission.
17*3fc4124cSDan Handley  *
18*3fc4124cSDan Handley  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19*3fc4124cSDan Handley  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20*3fc4124cSDan Handley  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21*3fc4124cSDan Handley  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22*3fc4124cSDan Handley  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23*3fc4124cSDan Handley  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24*3fc4124cSDan Handley  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25*3fc4124cSDan Handley  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26*3fc4124cSDan Handley  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27*3fc4124cSDan Handley  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28*3fc4124cSDan Handley  * POSSIBILITY OF SUCH DAMAGE.
29*3fc4124cSDan Handley  */
30*3fc4124cSDan Handley 
31*3fc4124cSDan Handley #ifndef __FVP_DEF_H__
32*3fc4124cSDan Handley #define __FVP_DEF_H__
33*3fc4124cSDan Handley 
34*3fc4124cSDan Handley #include <arm_def.h>
35*3fc4124cSDan Handley 
36*3fc4124cSDan Handley 
37*3fc4124cSDan Handley #define FVP_MAX_CPUS_PER_CLUSTER	4
38*3fc4124cSDan Handley 
39*3fc4124cSDan Handley #define FVP_PRIMARY_CPU			0x0
40*3fc4124cSDan Handley 
41*3fc4124cSDan Handley /*******************************************************************************
42*3fc4124cSDan Handley  * FVP memory map related constants
43*3fc4124cSDan Handley  ******************************************************************************/
44*3fc4124cSDan Handley 
45*3fc4124cSDan Handley #define FLASH1_BASE			0x0c000000
46*3fc4124cSDan Handley #define FLASH1_SIZE			0x04000000
47*3fc4124cSDan Handley 
48*3fc4124cSDan Handley #define PSRAM_BASE			0x14000000
49*3fc4124cSDan Handley #define PSRAM_SIZE			0x04000000
50*3fc4124cSDan Handley 
51*3fc4124cSDan Handley #define VRAM_BASE			0x18000000
52*3fc4124cSDan Handley #define VRAM_SIZE			0x02000000
53*3fc4124cSDan Handley 
54*3fc4124cSDan Handley /* Aggregate of all devices in the first GB */
55*3fc4124cSDan Handley #define DEVICE0_BASE			0x20000000
56*3fc4124cSDan Handley #define DEVICE0_SIZE			0x0c200000
57*3fc4124cSDan Handley 
58*3fc4124cSDan Handley #define DEVICE1_BASE			0x2f000000
59*3fc4124cSDan Handley #define DEVICE1_SIZE			0x200000
60*3fc4124cSDan Handley 
61*3fc4124cSDan Handley #define NSRAM_BASE			0x2e000000
62*3fc4124cSDan Handley #define NSRAM_SIZE			0x10000
63*3fc4124cSDan Handley 
64*3fc4124cSDan Handley #define PCIE_EXP_BASE			0x40000000
65*3fc4124cSDan Handley #define TZRNG_BASE			0x7fe60000
66*3fc4124cSDan Handley #define TZNVCTR_BASE			0x7fe70000
67*3fc4124cSDan Handley #define TZROOTKEY_BASE			0x7fe80000
68*3fc4124cSDan Handley 
69*3fc4124cSDan Handley /* Constants to distinguish FVP type */
70*3fc4124cSDan Handley #define HBI_BASE_FVP			0x020
71*3fc4124cSDan Handley #define REV_BASE_FVP_V0			0x0
72*3fc4124cSDan Handley 
73*3fc4124cSDan Handley #define HBI_FOUNDATION_FVP		0x010
74*3fc4124cSDan Handley #define REV_FOUNDATION_FVP_V2_0		0x0
75*3fc4124cSDan Handley #define REV_FOUNDATION_FVP_V2_1		0x1
76*3fc4124cSDan Handley #define REV_FOUNDATION_FVP_v9_1		0x2
77*3fc4124cSDan Handley 
78*3fc4124cSDan Handley #define BLD_GIC_VE_MMAP			0x0
79*3fc4124cSDan Handley #define BLD_GIC_A53A57_MMAP		0x1
80*3fc4124cSDan Handley 
81*3fc4124cSDan Handley #define ARCH_MODEL			0x1
82*3fc4124cSDan Handley 
83*3fc4124cSDan Handley /* FVP Power controller base address*/
84*3fc4124cSDan Handley #define PWRC_BASE			0x1c100000
85*3fc4124cSDan Handley 
86*3fc4124cSDan Handley 
87*3fc4124cSDan Handley /*******************************************************************************
88*3fc4124cSDan Handley  * GIC-400 & interrupt handling related constants
89*3fc4124cSDan Handley  ******************************************************************************/
90*3fc4124cSDan Handley /* VE compatible GIC memory map */
91*3fc4124cSDan Handley #define VE_GICD_BASE			0x2c001000
92*3fc4124cSDan Handley #define VE_GICC_BASE			0x2c002000
93*3fc4124cSDan Handley #define VE_GICH_BASE			0x2c004000
94*3fc4124cSDan Handley #define VE_GICV_BASE			0x2c006000
95*3fc4124cSDan Handley 
96*3fc4124cSDan Handley /* Base FVP compatible GIC memory map */
97*3fc4124cSDan Handley #define BASE_GICD_BASE			0x2f000000
98*3fc4124cSDan Handley #define BASE_GICR_BASE			0x2f100000
99*3fc4124cSDan Handley #define BASE_GICC_BASE			0x2c000000
100*3fc4124cSDan Handley #define BASE_GICH_BASE			0x2c010000
101*3fc4124cSDan Handley #define BASE_GICV_BASE			0x2c02f000
102*3fc4124cSDan Handley 
103*3fc4124cSDan Handley #define IRQ_TZ_WDOG			56
104*3fc4124cSDan Handley 
105*3fc4124cSDan Handley 
106*3fc4124cSDan Handley /*******************************************************************************
107*3fc4124cSDan Handley  * TrustZone address space controller related constants
108*3fc4124cSDan Handley  ******************************************************************************/
109*3fc4124cSDan Handley 
110*3fc4124cSDan Handley /* NSAIDs used by devices in TZC filter 0 on FVP */
111*3fc4124cSDan Handley #define FVP_NSAID_DEFAULT		0
112*3fc4124cSDan Handley #define FVP_NSAID_PCI			1
113*3fc4124cSDan Handley #define FVP_NSAID_VIRTIO		8  /* from FVP v5.6 onwards */
114*3fc4124cSDan Handley #define FVP_NSAID_AP			9  /* Application Processors */
115*3fc4124cSDan Handley #define FVP_NSAID_VIRTIO_OLD		15 /* until FVP v5.5 */
116*3fc4124cSDan Handley 
117*3fc4124cSDan Handley /* NSAIDs used by devices in TZC filter 2 on FVP */
118*3fc4124cSDan Handley #define FVP_NSAID_HDLCD0		2
119*3fc4124cSDan Handley #define FVP_NSAID_CLCD			7
120*3fc4124cSDan Handley 
121*3fc4124cSDan Handley /*******************************************************************************
122*3fc4124cSDan Handley  *  Shared Data
123*3fc4124cSDan Handley  ******************************************************************************/
124*3fc4124cSDan Handley 
125*3fc4124cSDan Handley /* Entrypoint mailboxes */
126*3fc4124cSDan Handley #define MBOX_BASE			ARM_SHARED_RAM_BASE
127*3fc4124cSDan Handley #define MBOX_SIZE			0x200
128*3fc4124cSDan Handley 
129*3fc4124cSDan Handley 
130*3fc4124cSDan Handley #endif /* __FVP_DEF_H__ */
131