xref: /rk3399_ARM-atf/plat/marvell/armada/a8k/common/aarch64/a8k_common.c (revision edd8188d32eb989c069da185f47425ac739bfdfd)
1a2847172SGrzegorz Jaszczyk /*
2a2847172SGrzegorz Jaszczyk  * Copyright (C) 2018 Marvell International Ltd.
3a2847172SGrzegorz Jaszczyk  *
4a2847172SGrzegorz Jaszczyk  * SPDX-License-Identifier:     BSD-3-Clause
5a2847172SGrzegorz Jaszczyk  * https://spdx.org/licenses
6a2847172SGrzegorz Jaszczyk  */
7a2847172SGrzegorz Jaszczyk 
8a2847172SGrzegorz Jaszczyk #include <plat_marvell.h>
9a2847172SGrzegorz Jaszczyk 
10a2847172SGrzegorz Jaszczyk 
11a2847172SGrzegorz Jaszczyk /* MMU entry for internal (register) space access */
12a2847172SGrzegorz Jaszczyk #define MAP_DEVICE0	MAP_REGION_FLAT(DEVICE0_BASE,			\
13a2847172SGrzegorz Jaszczyk 					DEVICE0_SIZE,			\
14a2847172SGrzegorz Jaszczyk 					MT_DEVICE | MT_RW | MT_SECURE)
15a2847172SGrzegorz Jaszczyk 
16a2847172SGrzegorz Jaszczyk /*
17a2847172SGrzegorz Jaszczyk  * Table of regions for various BL stages to map using the MMU.
18a2847172SGrzegorz Jaszczyk  */
19a2847172SGrzegorz Jaszczyk #if IMAGE_BL1
20a2847172SGrzegorz Jaszczyk const mmap_region_t plat_marvell_mmap[] = {
2163a0b127SKonstantin Porotchkin 	MARVELL_MAP_SECURE_RAM,
22a2847172SGrzegorz Jaszczyk 	MAP_DEVICE0,
23a2847172SGrzegorz Jaszczyk 	{0}
24a2847172SGrzegorz Jaszczyk };
25a2847172SGrzegorz Jaszczyk #endif
26a2847172SGrzegorz Jaszczyk #if IMAGE_BL2
27a2847172SGrzegorz Jaszczyk const mmap_region_t plat_marvell_mmap[] = {
2863a0b127SKonstantin Porotchkin 	MARVELL_MAP_SECURE_RAM,
29a2847172SGrzegorz Jaszczyk 	MAP_DEVICE0,
30a2847172SGrzegorz Jaszczyk 	MARVELL_MAP_DRAM,
31*47d1773fSKonstantin Porotchkin #ifdef SPD_opteed
32*47d1773fSKonstantin Porotchkin 	MARVELL_MAP_OPTEE_CORE_MEM,
33*47d1773fSKonstantin Porotchkin 	MARVELL_OPTEE_PAGEABLE_LOAD_MEM,
34*47d1773fSKonstantin Porotchkin #endif
35a2847172SGrzegorz Jaszczyk 	{0}
36a2847172SGrzegorz Jaszczyk };
37a2847172SGrzegorz Jaszczyk #endif
38a2847172SGrzegorz Jaszczyk 
39a2847172SGrzegorz Jaszczyk #if IMAGE_BL2U
40a2847172SGrzegorz Jaszczyk const mmap_region_t plat_marvell_mmap[] = {
4163a0b127SKonstantin Porotchkin 	MARVELL_MAP_SECURE_RAM,
42a2847172SGrzegorz Jaszczyk 	MAP_DEVICE0,
43a2847172SGrzegorz Jaszczyk 	{0}
44a2847172SGrzegorz Jaszczyk };
45a2847172SGrzegorz Jaszczyk #endif
46a2847172SGrzegorz Jaszczyk 
47a2847172SGrzegorz Jaszczyk #if IMAGE_BLE
48a2847172SGrzegorz Jaszczyk const mmap_region_t plat_marvell_mmap[] = {
49a2847172SGrzegorz Jaszczyk 	MAP_DEVICE0,
50a2847172SGrzegorz Jaszczyk 	{0}
51a2847172SGrzegorz Jaszczyk };
52a2847172SGrzegorz Jaszczyk #endif
53a2847172SGrzegorz Jaszczyk 
54a2847172SGrzegorz Jaszczyk #if IMAGE_BL31
55a2847172SGrzegorz Jaszczyk const mmap_region_t plat_marvell_mmap[] = {
5663a0b127SKonstantin Porotchkin 	MARVELL_MAP_SECURE_RAM,
57a2847172SGrzegorz Jaszczyk 	MAP_DEVICE0,
58a2847172SGrzegorz Jaszczyk 	MARVELL_MAP_DRAM,
59a2847172SGrzegorz Jaszczyk 	{0}
60a2847172SGrzegorz Jaszczyk };
61a2847172SGrzegorz Jaszczyk #endif
62a2847172SGrzegorz Jaszczyk #if IMAGE_BL32
63a2847172SGrzegorz Jaszczyk const mmap_region_t plat_marvell_mmap[] = {
6463a0b127SKonstantin Porotchkin 	MARVELL_MAP_SECURE_RAM,
65a2847172SGrzegorz Jaszczyk 	MAP_DEVICE0,
66a2847172SGrzegorz Jaszczyk 	{0}
67a2847172SGrzegorz Jaszczyk };
68a2847172SGrzegorz Jaszczyk #endif
69a2847172SGrzegorz Jaszczyk 
70a2847172SGrzegorz Jaszczyk MARVELL_CASSERT_MMAP;
71