blob: fa978142b7294e5ec4f6f0c58a9934b417ebca77 [file] [log] [blame]
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02001/*
2 * Copyright (c) 2018, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
Antonio Nino Diaz09a00ef2019-01-11 13:12:58 +00007#include <drivers/arm/arm_gic.h>
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02008#include <plat_arm.h>
9#include <platform.h>
10
11/*
12 * Table of regions to map using the MMU.
13 */
14#if IMAGE_NS_BL1U
15static const mmap_region_t mmap[] = {
16 MAP_REGION_FLAT(DEVICE0_BASE, DEVICE0_SIZE, MT_DEVICE | MT_RW | MT_NS),
17 MAP_REGION_FLAT(FLASH_BASE, FLASH_SIZE, MT_MEMORY | MT_RO | MT_NS),
18 MAP_REGION_FLAT(DRAM_BASE, DRAM_SIZE, MT_MEMORY | MT_RW | MT_NS),
19 {0}
20 };
21#elif IMAGE_NS_BL2U
22static const mmap_region_t mmap[] = {
23 MAP_REGION_FLAT(DEVICE0_BASE, DEVICE0_SIZE, MT_DEVICE | MT_RW | MT_NS),
24 MAP_REGION_FLAT(DEVICE1_BASE, DEVICE1_SIZE, MT_DEVICE | MT_RW | MT_NS),
25 MAP_REGION_FLAT(FLASH_BASE, FLASH_SIZE, MT_DEVICE | MT_RW | MT_NS),
26 MAP_REGION_FLAT(DRAM_BASE, DRAM_SIZE, MT_MEMORY | MT_RW | MT_NS),
27 {0}
28};
29#elif IMAGE_TFTF
30static const mmap_region_t mmap[] = {
31 MAP_REGION_FLAT(DEVICE0_BASE, DEVICE0_SIZE, MT_DEVICE | MT_RW | MT_NS),
32 MAP_REGION_FLAT(DEVICE1_BASE, DEVICE1_SIZE, MT_DEVICE | MT_RW | MT_NS),
33#if USE_NVM
34 MAP_REGION_FLAT(FLASH_BASE, FLASH_SIZE, MT_DEVICE | MT_RW | MT_NS),
35#endif
36 MAP_REGION_FLAT(DRAM_BASE, TFTF_BASE - DRAM_BASE, MT_MEMORY | MT_RW | MT_NS),
37 {0}
38};
39#endif /* IMAGE_NS_BL1U */
40
41const mmap_region_t *tftf_platform_get_mmap(void)
42{
43 return mmap;
44}
45
46void plat_arm_gic_init(void)
47{
48 arm_gic_init(GICC_BASE, GICD_BASE, GICR_BASE);
49}