blob: 768dad533a57b79b1374b29b9fbde2b5bcece6e5 [file] [log] [blame]
Usama Arife97998f2018-11-30 15:43:56 +00001/*
2 * Copyright (c) 2019, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <assert.h>
8
9#include <common/debug.h>
10#include <lib/mmio.h>
11#include <platform_def.h>
12#include <plat/arm/common/arm_config.h>
13#include <plat/arm/common/plat_arm.h>
14
15#define MAP_DEVICE0 MAP_REGION_FLAT(DEVICE0_BASE, \
16 DEVICE0_SIZE, \
17 MT_DEVICE | MT_RW | MT_SECURE)
18
19#ifdef IMAGE_BL1
20const mmap_region_t plat_arm_mmap[] = {
21 ARM_MAP_SHARED_RAM,
22 V2M_MAP_FLASH1_RW,
23 V2M_MAP_IOFPGA,
24 {0}
25};
26#endif
27#ifdef IMAGE_BL2
28const mmap_region_t plat_arm_mmap[] = {
29 ARM_MAP_SHARED_RAM,
30 V2M_MAP_FLASH1_RW,
31 V2M_MAP_IOFPGA,
32 ARM_MAP_NS_DRAM1,
33 {0}
34};
35#endif
36#ifdef IMAGE_BL32
37const mmap_region_t plat_arm_mmap[] = {
38 ARM_MAP_SHARED_RAM,
39 V2M_MAP_IOFPGA,
40 MAP_DEVICE0,
41 {0}
42};
43#endif
44
45ARM_CASSERT_MMAP
46
47void __init fvp_ve_config_setup(void)
48{
49 unsigned int sys_id, arch;
50
51 sys_id = mmio_read_32(V2M_SYSREGS_BASE + V2M_SYS_ID);
52 arch = (sys_id >> V2M_SYS_ID_ARCH_SHIFT) & V2M_SYS_ID_ARCH_MASK;
53
54 if (arch != ARCH_MODEL_VE) {
55 ERROR("This firmware is for FVP VE models\n");
56 panic();
57 }
58}
59
60unsigned int plat_get_syscnt_freq2(void)
61{
62 return FVP_VE_TIMER_BASE_FREQUENCY;
63}