blob: abaa387d3efacee9b480db5cc442bef712c1a44f [file] [log] [blame]
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02001/*
Madhukar3fd90492019-06-04 15:57:18 -05002 * Copyright (c) 2018-2019, 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
14#include <platform_def.h>
15
16/*******************************************************************************
17 * Cluster Topology definitions
18 ******************************************************************************/
Madhukar3fd90492019-06-04 15:57:18 -050019#define FVP_MAX_CPUS_PER_CLUSTER 8
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020020/* Currently the highest cluster count on the FVP is 4 (Quad cluster) */
21#define FVP_CLUSTER_COUNT 4
22/* Currently multi-threaded CPUs only have a single thread */
23#define FVP_MAX_PE_PER_CPU 1
24
25/*******************************************************************************
26 * FVP memory map related constants
27 ******************************************************************************/
28
29#define DEVICE0_BASE 0x1a000000
30#define DEVICE0_SIZE 0x12200000
31
32#define DEVICE1_BASE 0x2f000000
33#define DEVICE1_SIZE 0x400000
34
35/*******************************************************************************
36 * GIC-400 & interrupt handling related constants
37 ******************************************************************************/
38/* Base FVP compatible GIC memory map */
39#define GICD_BASE 0x2f000000
40#define GICR_BASE 0x2f100000
41#define GICC_BASE 0x2c000000
42
43/*******************************************************************************
44 * PL011 related constants
45 ******************************************************************************/
46#define PL011_UART0_BASE 0x1c090000
Antonio Nino Diaz99f4fd22018-07-03 20:25:16 +010047#define PL011_UART1_BASE 0x1c0a0000
48#define PL011_UART2_BASE 0x1c0b0000
49#define PL011_UART3_BASE 0x1c0c0000
50
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020051#define PL011_UART0_CLK_IN_HZ 24000000
Antonio Nino Diaz99f4fd22018-07-03 20:25:16 +010052#define PL011_UART1_CLK_IN_HZ 24000000
53#define PL011_UART2_CLK_IN_HZ 24000000
54#define PL011_UART3_CLK_IN_HZ 24000000
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020055
56#define PLAT_ARM_UART_BASE PL011_UART0_BASE
57#define PLAT_ARM_UART_CLK_IN_HZ PL011_UART0_CLK_IN_HZ
58
59#endif /* __FVP_DEF_H__ */