blob: e6e4244f2f9e8088ada9178b8c43be0947c73380 [file] [log] [blame]
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02001/*
Jayanth Dodderi Chidanandcd6c94b2022-02-15 17:19:05 +00002 * Copyright (c) 2018-2024, Arm Limited. All rights reserved.
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02003 *
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),
Jayanth Dodderi Chidanandcd6c94b2022-02-15 17:19:05 +000033 MAP_REGION_FLAT(LS64_ATOMIC_DEVICE_BASE, LS64_ATOMIC_DEVICE_SIZE,
34 MT_DEVICE | MT_RW | MT_NS),
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020035#if USE_NVM
36 MAP_REGION_FLAT(FLASH_BASE, FLASH_SIZE, MT_DEVICE | MT_RW | MT_NS),
37#endif
AlexeiFedorov36ed0092024-09-10 10:37:54 +010038#if USE_PCIE
39 MAP_REGION_FLAT(PCIE_CONFIG_BASE, PCIE_CONFIG_SIZE, MT_DEVICE | MT_RW | MT_NS),
40#endif
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020041 MAP_REGION_FLAT(DRAM_BASE, TFTF_BASE - DRAM_BASE, MT_MEMORY | MT_RW | MT_NS),
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020042 {0}
43};
44#endif /* IMAGE_NS_BL1U */
45
46const mmap_region_t *tftf_platform_get_mmap(void)
47{
48 return mmap;
49}
50
51void plat_arm_gic_init(void)
52{
53 arm_gic_init(GICC_BASE, GICD_BASE, GICR_BASE);
54}