blob: 222fadd456482a9999abe32724ecef0bbb283094 [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
7/*******************************************************************************
8 * FVP specific definitions. Used only by FVP specific code.
9 ******************************************************************************/
10
11#ifndef __FVP_DEF_H__
12#define __FVP_DEF_H__
13
AlexeiFedorov36ed0092024-09-10 10:37:54 +010014#include <common_def.h>
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020015#include <platform_def.h>
16
17/*******************************************************************************
18 * Cluster Topology definitions
19 ******************************************************************************/
Alexei Fedorov7cc25872020-06-02 16:35:36 +010020#ifndef FVP_CLUSTER_COUNT
21#error "FVP_CLUSTER_COUNT is not set in makefile"
22#endif
23
24#ifndef FVP_MAX_CPUS_PER_CLUSTER
25#error "FVP_MAX_CPUS_PER_CLUSTER is not set in makefile"
26#endif
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020027
28/*******************************************************************************
29 * FVP memory map related constants
30 ******************************************************************************/
31
Jayanth Dodderi Chidanandcd6c94b2022-02-15 17:19:05 +000032#define DEVICE0_BASE 0x1a000000
33#define DEVICE0_SIZE 0x12200000
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020034
Jayanth Dodderi Chidanandcd6c94b2022-02-15 17:19:05 +000035#define DEVICE1_BASE 0x2f000000
36#define DEVICE1_SIZE 0x400000
37
38/**
39 * NOTE: LS64_ATOMIC_DEVICE Memory Region (0x1d000000 - 0x1d00ffff) has been
40 * configured within the FVP to support only st64b/ld64b instructions.
41 * ldr/str instructions cannot be used to access this memory.
42 */
43#define LS64_ATOMIC_DEVICE_BASE 0x1d000000
44#define LS64_ATOMIC_DEVICE_SIZE 0x10000
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020045
AlexeiFedorov36ed0092024-09-10 10:37:54 +010046/*
47 * Base Platform RevC only
48 *
49 * PCIe config region
50 */
51#define PCIE_CONFIG_BASE 0x40000000
52#define PCIE_CONFIG_SIZE SZ_256M
53
54/* PCIe memory region #1 256MB */
55#define PCIE_MEM_1_BASE 0x50000000
56#define PCIE_MEM_1_SIZE SZ_256M
57
AlexeiFedorov718fd792024-11-08 14:55:20 +000058/*
59 * PCIe memory region #2 size is 256GB, but only 3GB
60 * are currently supported by GPT library
61 */
AlexeiFedorov36ed0092024-09-10 10:37:54 +010062#define PCIE_MEM_2_BASE 0x4000000000
AlexeiFedorov718fd792024-11-08 14:55:20 +000063#define PCIE_MEM_2_SIZE (SZ_1G * 3U)
AlexeiFedorov36ed0092024-09-10 10:37:54 +010064
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020065/*******************************************************************************
66 * GIC-400 & interrupt handling related constants
67 ******************************************************************************/
68/* Base FVP compatible GIC memory map */
69#define GICD_BASE 0x2f000000
70#define GICR_BASE 0x2f100000
71#define GICC_BASE 0x2c000000
72
73/*******************************************************************************
74 * PL011 related constants
75 ******************************************************************************/
76#define PL011_UART0_BASE 0x1c090000
Antonio Nino Diaz99f4fd22018-07-03 20:25:16 +010077#define PL011_UART1_BASE 0x1c0a0000
78#define PL011_UART2_BASE 0x1c0b0000
79#define PL011_UART3_BASE 0x1c0c0000
80
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020081#define PL011_UART0_CLK_IN_HZ 24000000
Antonio Nino Diaz99f4fd22018-07-03 20:25:16 +010082#define PL011_UART1_CLK_IN_HZ 24000000
83#define PL011_UART2_CLK_IN_HZ 24000000
84#define PL011_UART3_CLK_IN_HZ 24000000
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020085
86#define PLAT_ARM_UART_BASE PL011_UART0_BASE
87#define PLAT_ARM_UART_CLK_IN_HZ PL011_UART0_CLK_IN_HZ
88
Mark Dykesf41d8ee2025-07-10 16:41:28 -050089#define PLAT_ARM_SMC_FUZZER_UART_BASE PL011_UART3_BASE
90#define PLAT_ARM_SMC_FUZZER_UART_CLK_IN_HZ PL011_UART3_CLK_IN_HZ
91
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020092#endif /* __FVP_DEF_H__ */