blob: 6800ac3cf7eadabee028948d3b7001dc932111ad [file] [log] [blame]
Nariman Poushinc703f902018-03-07 10:29:57 +00001/*
2 * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <arm_def.h>
8#include <bl_common.h>
9#include <debug.h>
10#include <plat_arm.h>
11#include <platform_def.h>
12#include <sgm_variant.h>
13
14/*
15 * Table of regions for different BL stages to map using the MMU.
16 * This doesn't include Trusted RAM as the 'mem_layout' argument passed to
17 * arm_configure_mmu_elx() will give the available subset of that.
18 */
19#if IMAGE_BL1
20const mmap_region_t plat_arm_mmap[] = {
21 ARM_MAP_SHARED_RAM,
22 V2M_MAP_FLASH0_RO,
23 V2M_MAP_IOFPGA,
24 CSS_MAP_DEVICE,
25 CSS_MAP_GIC_DEVICE,
26 SOC_CSS_MAP_DEVICE,
27#if TRUSTED_BOARD_BOOT
28 ARM_MAP_NS_DRAM1,
29#endif
30 {0}
31};
32#endif
33#if IMAGE_BL2
34const mmap_region_t plat_arm_mmap[] = {
35 ARM_MAP_SHARED_RAM,
36 V2M_MAP_FLASH0_RO,
37 V2M_MAP_IOFPGA,
38 CSS_MAP_DEVICE,
39 CSS_MAP_GIC_DEVICE,
40 SOC_CSS_MAP_DEVICE,
41 ARM_MAP_NS_DRAM1,
Antonio Nino Diaz8f32c252018-12-14 01:27:19 +000042#ifdef SPD_tspd
Nariman Poushinc703f902018-03-07 10:29:57 +000043 ARM_MAP_TSP_SEC_MEM,
Antonio Nino Diaz8f32c252018-12-14 01:27:19 +000044#endif
Nariman Poushinc703f902018-03-07 10:29:57 +000045#ifdef SPD_opteed
46 ARM_OPTEE_PAGEABLE_LOAD_MEM,
47#endif
Antonio Nino Diaz9b759862018-09-25 11:38:18 +010048#if TRUSTED_BOARD_BOOT && !BL2_AT_EL3
John Tsichritzisc19949a2018-08-22 12:55:41 +010049 ARM_MAP_BL1_RW,
50#endif
Nariman Poushinc703f902018-03-07 10:29:57 +000051 {0}
52};
53#endif
54#if IMAGE_BL2U
55const mmap_region_t plat_arm_mmap[] = {
56 ARM_MAP_SHARED_RAM,
57 CSS_MAP_DEVICE,
58 CSS_MAP_GIC_DEVICE,
59 SOC_CSS_MAP_DEVICE,
60 {0}
61};
62#endif
63#if IMAGE_BL31
64const mmap_region_t plat_arm_mmap[] = {
65 ARM_MAP_SHARED_RAM,
66 V2M_MAP_IOFPGA,
67 CSS_MAP_DEVICE,
68 CSS_MAP_GIC_DEVICE,
69 SOC_CSS_MAP_DEVICE,
70 {0}
71};
72#endif
73#if IMAGE_BL32
74const mmap_region_t plat_arm_mmap[] = {
75 V2M_MAP_IOFPGA,
76 CSS_MAP_DEVICE,
77 CSS_MAP_GIC_DEVICE,
78 SOC_CSS_MAP_DEVICE,
79 {0}
80};
81#endif
82
83ARM_CASSERT_MMAP
84
85const mmap_region_t *plat_arm_get_mmap(void)
86{
87 return plat_arm_mmap;
88}