blob: 69cb0a1a8035b3015678a52e5cda791369dff9e3 [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 MAP_REGION_FLAT(PCIE_CONFIG_BASE, PCIE_CONFIG_SIZE, MT_DEVICE | MT_RW | MT_NS),
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020039 MAP_REGION_FLAT(DRAM_BASE, TFTF_BASE - DRAM_BASE, MT_MEMORY | MT_RW | MT_NS),
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020040 {0}
41};
42#endif /* IMAGE_NS_BL1U */
43
44const mmap_region_t *tftf_platform_get_mmap(void)
45{
46 return mmap;
47}
48
49void plat_arm_gic_init(void)
50{
51 arm_gic_init(GICC_BASE, GICD_BASE, GICR_BASE);
52}