mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2026-07-02 03:22:38 +00:00
The FVP_Base models are all identical. Individual components can be swapped out without affecting the rest of the system. In order to not diverge too much, factor as much common stuff out but leave out interrupt information so that it can be swapped out. Change-Id: I4ce5b627c7ca00d98f10eba888cc1bf4d61880a9 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
163 lines
3.3 KiB
Devicetree
163 lines
3.3 KiB
Devicetree
// SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause
|
|
/*
|
|
* ARM Ltd. Fast Models
|
|
*
|
|
* Architecture Envelope Model (AEM) ARMv8-A
|
|
* ARMAEMv8AMPCT
|
|
*
|
|
* RTSM_VE_AEMv8A.lisa
|
|
*
|
|
* Copyright (c) 2017-2025, ARM Limited and Contributors. All rights reserved.
|
|
*/
|
|
|
|
#include "rtsm_ve-motherboard.dtsi"
|
|
|
|
/ {
|
|
model = "FVP Base";
|
|
compatible = "arm,fvp-base", "arm,vexpress";
|
|
interrupt-parent = <&gic>;
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
bootargs = "console=ttyAMA0 earlycon=pl011,0x1c090000 root=/dev/vda ip=on";
|
|
};
|
|
|
|
aliases {
|
|
serial0 = &v2m_serial0;
|
|
serial1 = &v2m_serial1;
|
|
serial2 = &v2m_serial2;
|
|
serial3 = &v2m_serial3;
|
|
};
|
|
|
|
psci {
|
|
compatible = "arm,psci-1.0", "arm,psci-0.2";
|
|
method = "smc";
|
|
max-pwr-lvl = <2>;
|
|
};
|
|
|
|
cpus {
|
|
#address-cells = <2>;
|
|
#size-cells = <0>;
|
|
|
|
CPU_MAP
|
|
|
|
idle-states {
|
|
entry-method = "psci";
|
|
|
|
CPU_SLEEP_0: cpu-sleep-0 {
|
|
compatible = "arm,idle-state";
|
|
local-timer-stop;
|
|
arm,psci-suspend-param = <0x0010000>;
|
|
entry-latency-us = <40>;
|
|
exit-latency-us = <100>;
|
|
min-residency-us = <150>;
|
|
};
|
|
|
|
CLUSTER_SLEEP_0: cluster-sleep-0 {
|
|
compatible = "arm,idle-state";
|
|
local-timer-stop;
|
|
arm,psci-suspend-param = <0x1010000>;
|
|
entry-latency-us = <500>;
|
|
exit-latency-us = <1000>;
|
|
min-residency-us = <2500>;
|
|
};
|
|
};
|
|
|
|
CPUS
|
|
|
|
L2_0: l2-cache0 {
|
|
compatible = "cache";
|
|
};
|
|
};
|
|
|
|
memory@80000000 {
|
|
device_type = "memory";
|
|
#if (ENABLE_RME == 1)
|
|
reg = <0x00000000 0x80000000 0 0x7C000000>,
|
|
<0x00000008 0x80000000 0 0x80000000>;
|
|
#else
|
|
reg = <0x00000000 0x80000000 0 0x7F000000>,
|
|
<0x00000008 0x80000000 0 0x80000000>;
|
|
#endif
|
|
};
|
|
|
|
reserved-memory {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
|
|
/* Chipselect 2,00000000 is physically at 0x18000000 */
|
|
vram: vram@18000000 {
|
|
/* 8 MB of designated video RAM */
|
|
compatible = "shared-dma-pool";
|
|
reg = <0x00000000 0x18000000 0 0x00800000>;
|
|
no-map;
|
|
};
|
|
};
|
|
|
|
timer {
|
|
compatible = "arm,armv8-timer";
|
|
clock-frequency = <100000000>;
|
|
};
|
|
|
|
timer@2a810000 {
|
|
compatible = "arm,armv7-timer-mem";
|
|
reg = <0x0 0x2a810000 0x0 0x10000>;
|
|
clock-frequency = <100000000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0x0 0x0 0x2a810000 0x100000>;
|
|
|
|
frame@2a830000 {
|
|
frame-number = <1>;
|
|
interrupt-parent = <&gic>;
|
|
reg = <0x20000 0x10000>;
|
|
};
|
|
};
|
|
|
|
pmu {
|
|
compatible = "arm,armv8-pmuv3";
|
|
};
|
|
|
|
panel {
|
|
compatible = "arm,rtsm-display";
|
|
port {
|
|
panel_in: endpoint {
|
|
remote-endpoint = <&clcd_pads>;
|
|
};
|
|
};
|
|
};
|
|
|
|
bus@8000000 {
|
|
#interrupt-cells = <1>;
|
|
interrupt-map-mask = <0 0 63>;
|
|
};
|
|
|
|
#if (ENABLE_RME == 1)
|
|
pci: pci@40000000 {
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
#interrupt-cells = <1>;
|
|
compatible = "pci-host-ecam-generic";
|
|
device_type = "pci";
|
|
reg = <0x0 0x40000000 0x0 0x10000000>;
|
|
ranges = <0x2000000 0x0 0x50000000 0x0 0x50000000 0x0 0x10000000>,
|
|
/* First 3GB of 256GB PCIe memory region 2 */
|
|
<0x2000000 0x40 0x00000000 0x40 0x00000000 0x0 0xc0000000>;
|
|
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
|
iommu-map = <0x0 &smmu 0x0 0x10000>;
|
|
dma-coherent;
|
|
};
|
|
|
|
smmu: iommu@2b400000 {
|
|
compatible = "arm,smmu-v3";
|
|
reg = <0x0 0x2b400000 0x0 0x100000>;
|
|
interrupt-names = "eventq", "gerror", "priq", "cmdq-sync";
|
|
dma-coherent;
|
|
#iommu-cells = <1>;
|
|
};
|
|
#endif /* ENABLE_RME */
|
|
};
|