xref: /rk3399_ARM-atf/plat/marvell/armada/a3k/common/aarch64/a3700_common.c (revision edd8188d32eb989c069da185f47425ac739bfdfd)
1*b5c850d4SMarcin Wojtas /*
2*b5c850d4SMarcin Wojtas  * Copyright (C) 2018 Marvell International Ltd.
3*b5c850d4SMarcin Wojtas  *
4*b5c850d4SMarcin Wojtas  * SPDX-License-Identifier:	BSD-3-Clause
5*b5c850d4SMarcin Wojtas  * https://spdx.org/licenses
6*b5c850d4SMarcin Wojtas  */
7*b5c850d4SMarcin Wojtas #include <plat_marvell.h>
8*b5c850d4SMarcin Wojtas 
9*b5c850d4SMarcin Wojtas /* MMU entry for internal (register) space access */
10*b5c850d4SMarcin Wojtas #define MAP_DEVICE0	MAP_REGION_FLAT(DEVICE0_BASE,			\
11*b5c850d4SMarcin Wojtas 					DEVICE0_SIZE,			\
12*b5c850d4SMarcin Wojtas 					MT_DEVICE | MT_RW | MT_SECURE)
13*b5c850d4SMarcin Wojtas 
14*b5c850d4SMarcin Wojtas /*
15*b5c850d4SMarcin Wojtas  * Table of regions for various BL stages to map using the MMU.
16*b5c850d4SMarcin Wojtas  */
17*b5c850d4SMarcin Wojtas #if IMAGE_BL1
18*b5c850d4SMarcin Wojtas const mmap_region_t plat_marvell_mmap[] = {
19*b5c850d4SMarcin Wojtas 	MARVELL_MAP_SHARED_RAM,
20*b5c850d4SMarcin Wojtas 	MAP_DEVICE0,
21*b5c850d4SMarcin Wojtas 	{0}
22*b5c850d4SMarcin Wojtas };
23*b5c850d4SMarcin Wojtas #endif
24*b5c850d4SMarcin Wojtas #if IMAGE_BL2
25*b5c850d4SMarcin Wojtas const mmap_region_t plat_marvell_mmap[] = {
26*b5c850d4SMarcin Wojtas 	MARVELL_MAP_SHARED_RAM,
27*b5c850d4SMarcin Wojtas 	MAP_DEVICE0,
28*b5c850d4SMarcin Wojtas 	MARVELL_MAP_DRAM,
29*b5c850d4SMarcin Wojtas 	{0}
30*b5c850d4SMarcin Wojtas };
31*b5c850d4SMarcin Wojtas #endif
32*b5c850d4SMarcin Wojtas #if IMAGE_BL2U
33*b5c850d4SMarcin Wojtas const mmap_region_t plat_marvell_mmap[] = {
34*b5c850d4SMarcin Wojtas 	MAP_DEVICE0,
35*b5c850d4SMarcin Wojtas 	{0}
36*b5c850d4SMarcin Wojtas };
37*b5c850d4SMarcin Wojtas #endif
38*b5c850d4SMarcin Wojtas #if IMAGE_BL31
39*b5c850d4SMarcin Wojtas const mmap_region_t plat_marvell_mmap[] = {
40*b5c850d4SMarcin Wojtas 	MARVELL_MAP_SHARED_RAM,
41*b5c850d4SMarcin Wojtas 	MAP_DEVICE0,
42*b5c850d4SMarcin Wojtas 	MARVELL_MAP_DRAM,
43*b5c850d4SMarcin Wojtas 	{0}
44*b5c850d4SMarcin Wojtas };
45*b5c850d4SMarcin Wojtas #endif
46*b5c850d4SMarcin Wojtas #if IMAGE_BL32
47*b5c850d4SMarcin Wojtas const mmap_region_t plat_marvell_mmap[] = {
48*b5c850d4SMarcin Wojtas 	MAP_DEVICE0,
49*b5c850d4SMarcin Wojtas 	{0}
50*b5c850d4SMarcin Wojtas };
51*b5c850d4SMarcin Wojtas #endif
52*b5c850d4SMarcin Wojtas 
53*b5c850d4SMarcin Wojtas MARVELL_CASSERT_MMAP;
54