| Sandrine Bailleux | 3cd87d7 | 2018-10-09 11:12:55 +0200 | [diff] [blame] | 1 | /* |
| Jayanth Dodderi Chidanand | cd6c94b | 2022-02-15 17:19:05 +0000 | [diff] [blame] | 2 | * Copyright (c) 2018-2024, Arm Limited. All rights reserved. |
| Sandrine Bailleux | 3cd87d7 | 2018-10-09 11:12:55 +0200 | [diff] [blame] | 3 | * |
| 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 | |
| AlexeiFedorov | 36ed009 | 2024-09-10 10:37:54 +0100 | [diff] [blame] | 14 | #include <common_def.h> |
| Sandrine Bailleux | 3cd87d7 | 2018-10-09 11:12:55 +0200 | [diff] [blame] | 15 | #include <platform_def.h> |
| 16 | |
| 17 | /******************************************************************************* |
| 18 | * Cluster Topology definitions |
| 19 | ******************************************************************************/ |
| Alexei Fedorov | 7cc2587 | 2020-06-02 16:35:36 +0100 | [diff] [blame] | 20 | #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 Bailleux | 3cd87d7 | 2018-10-09 11:12:55 +0200 | [diff] [blame] | 27 | |
| 28 | /******************************************************************************* |
| 29 | * FVP memory map related constants |
| 30 | ******************************************************************************/ |
| 31 | |
| Jayanth Dodderi Chidanand | cd6c94b | 2022-02-15 17:19:05 +0000 | [diff] [blame] | 32 | #define DEVICE0_BASE 0x1a000000 |
| 33 | #define DEVICE0_SIZE 0x12200000 |
| Sandrine Bailleux | 3cd87d7 | 2018-10-09 11:12:55 +0200 | [diff] [blame] | 34 | |
| Jayanth Dodderi Chidanand | cd6c94b | 2022-02-15 17:19:05 +0000 | [diff] [blame] | 35 | #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 Bailleux | 3cd87d7 | 2018-10-09 11:12:55 +0200 | [diff] [blame] | 45 | |
| AlexeiFedorov | 36ed009 | 2024-09-10 10:37:54 +0100 | [diff] [blame] | 46 | /* |
| 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 | |
| AlexeiFedorov | 718fd79 | 2024-11-08 14:55:20 +0000 | [diff] [blame] | 58 | /* |
| 59 | * PCIe memory region #2 size is 256GB, but only 3GB |
| 60 | * are currently supported by GPT library |
| 61 | */ |
| AlexeiFedorov | 36ed009 | 2024-09-10 10:37:54 +0100 | [diff] [blame] | 62 | #define PCIE_MEM_2_BASE 0x4000000000 |
| AlexeiFedorov | 718fd79 | 2024-11-08 14:55:20 +0000 | [diff] [blame] | 63 | #define PCIE_MEM_2_SIZE (SZ_1G * 3U) |
| AlexeiFedorov | 36ed009 | 2024-09-10 10:37:54 +0100 | [diff] [blame] | 64 | |
| Sandrine Bailleux | 3cd87d7 | 2018-10-09 11:12:55 +0200 | [diff] [blame] | 65 | /******************************************************************************* |
| 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 Diaz | 99f4fd2 | 2018-07-03 20:25:16 +0100 | [diff] [blame] | 77 | #define PL011_UART1_BASE 0x1c0a0000 |
| 78 | #define PL011_UART2_BASE 0x1c0b0000 |
| 79 | #define PL011_UART3_BASE 0x1c0c0000 |
| 80 | |
| Sandrine Bailleux | 3cd87d7 | 2018-10-09 11:12:55 +0200 | [diff] [blame] | 81 | #define PL011_UART0_CLK_IN_HZ 24000000 |
| Antonio Nino Diaz | 99f4fd2 | 2018-07-03 20:25:16 +0100 | [diff] [blame] | 82 | #define PL011_UART1_CLK_IN_HZ 24000000 |
| 83 | #define PL011_UART2_CLK_IN_HZ 24000000 |
| 84 | #define PL011_UART3_CLK_IN_HZ 24000000 |
| Sandrine Bailleux | 3cd87d7 | 2018-10-09 11:12:55 +0200 | [diff] [blame] | 85 | |
| 86 | #define PLAT_ARM_UART_BASE PL011_UART0_BASE |
| 87 | #define PLAT_ARM_UART_CLK_IN_HZ PL011_UART0_CLK_IN_HZ |
| 88 | |
| Mark Dykes | f41d8ee | 2025-07-10 16:41:28 -0500 | [diff] [blame^] | 89 | #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 Bailleux | 3cd87d7 | 2018-10-09 11:12:55 +0200 | [diff] [blame] | 92 | #endif /* __FVP_DEF_H__ */ |