12716bd33SAndre Przywara// SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause 2589aaba4SAndre Przywara/* 32716bd33SAndre Przywara * ARM Ltd. Fast Models 4589aaba4SAndre Przywara * 52716bd33SAndre Przywara * Architecture Envelope Model (AEM) ARMv8-A 62716bd33SAndre Przywara * ARMAEMv8AMPCT 72716bd33SAndre Przywara * 82716bd33SAndre Przywara * RTSM_VE_AEMv8A.lisa 92716bd33SAndre Przywara * 10bef44f60SAlexeiFedorov * Copyright (c) 2017-2025, ARM Limited and Contributors. All rights reserved. 11589aaba4SAndre Przywara */ 12589aaba4SAndre Przywara 132716bd33SAndre Przywara#include "rtsm_ve-motherboard.dtsi" 142716bd33SAndre Przywara 15589aaba4SAndre Przywara/ { 16589aaba4SAndre Przywara model = "FVP Base"; 17589aaba4SAndre Przywara compatible = "arm,fvp-base", "arm,vexpress"; 18589aaba4SAndre Przywara interrupt-parent = <&gic>; 19589aaba4SAndre Przywara #address-cells = <2>; 20589aaba4SAndre Przywara #size-cells = <2>; 21589aaba4SAndre Przywara 228c30a0c7SDebbie Martin chosen { 238c30a0c7SDebbie Martin stdout-path = "serial0:115200n8"; 248c30a0c7SDebbie Martin bootargs = "console=ttyAMA0 earlycon=pl011,0x1c090000 root=/dev/vda ip=on"; 258c30a0c7SDebbie Martin }; 26589aaba4SAndre Przywara 27589aaba4SAndre Przywara aliases { 28589aaba4SAndre Przywara serial0 = &v2m_serial0; 29589aaba4SAndre Przywara serial1 = &v2m_serial1; 30589aaba4SAndre Przywara serial2 = &v2m_serial2; 31589aaba4SAndre Przywara serial3 = &v2m_serial3; 32589aaba4SAndre Przywara }; 33589aaba4SAndre Przywara 34589aaba4SAndre Przywara psci { 35589aaba4SAndre Przywara compatible = "arm,psci-1.0", "arm,psci-0.2"; 36589aaba4SAndre Przywara method = "smc"; 37589aaba4SAndre Przywara max-pwr-lvl = <2>; 38589aaba4SAndre Przywara }; 39589aaba4SAndre Przywara 40589aaba4SAndre Przywara cpus { 41589aaba4SAndre Przywara #address-cells = <2>; 42589aaba4SAndre Przywara #size-cells = <0>; 43589aaba4SAndre Przywara 44589aaba4SAndre Przywara CPU_MAP 45589aaba4SAndre Przywara 46589aaba4SAndre Przywara idle-states { 470e3d8807SAndre Przywara entry-method = "psci"; 48589aaba4SAndre Przywara 49589aaba4SAndre Przywara CPU_SLEEP_0: cpu-sleep-0 { 50589aaba4SAndre Przywara compatible = "arm,idle-state"; 51589aaba4SAndre Przywara local-timer-stop; 52589aaba4SAndre Przywara arm,psci-suspend-param = <0x0010000>; 53589aaba4SAndre Przywara entry-latency-us = <40>; 54589aaba4SAndre Przywara exit-latency-us = <100>; 55589aaba4SAndre Przywara min-residency-us = <150>; 56589aaba4SAndre Przywara }; 57589aaba4SAndre Przywara 58589aaba4SAndre Przywara CLUSTER_SLEEP_0: cluster-sleep-0 { 59589aaba4SAndre Przywara compatible = "arm,idle-state"; 60589aaba4SAndre Przywara local-timer-stop; 61589aaba4SAndre Przywara arm,psci-suspend-param = <0x1010000>; 62589aaba4SAndre Przywara entry-latency-us = <500>; 63589aaba4SAndre Przywara exit-latency-us = <1000>; 64589aaba4SAndre Przywara min-residency-us = <2500>; 65589aaba4SAndre Przywara }; 66589aaba4SAndre Przywara }; 67589aaba4SAndre Przywara 68589aaba4SAndre Przywara CPUS 69589aaba4SAndre Przywara 70589aaba4SAndre Przywara L2_0: l2-cache0 { 71589aaba4SAndre Przywara compatible = "cache"; 72589aaba4SAndre Przywara }; 73589aaba4SAndre Przywara }; 74589aaba4SAndre Przywara 75589aaba4SAndre Przywara memory@80000000 { 76589aaba4SAndre Przywara device_type = "memory"; 77589aaba4SAndre Przywara#if (ENABLE_RME == 1) 78589aaba4SAndre Przywara reg = <0x00000000 0x80000000 0 0x7C000000>, 79589aaba4SAndre Przywara <0x00000008 0x80000000 0 0x80000000>; 80589aaba4SAndre Przywara#else 81589aaba4SAndre Przywara reg = <0x00000000 0x80000000 0 0x7F000000>, 82589aaba4SAndre Przywara <0x00000008 0x80000000 0 0x80000000>; 83589aaba4SAndre Przywara#endif 84589aaba4SAndre Przywara }; 85589aaba4SAndre Przywara 862716bd33SAndre Przywara reserved-memory { 872716bd33SAndre Przywara #address-cells = <2>; 882716bd33SAndre Przywara #size-cells = <2>; 892716bd33SAndre Przywara ranges; 902716bd33SAndre Przywara 912716bd33SAndre Przywara /* Chipselect 2,00000000 is physically at 0x18000000 */ 922716bd33SAndre Przywara vram: vram@18000000 { 932716bd33SAndre Przywara /* 8 MB of designated video RAM */ 942716bd33SAndre Przywara compatible = "shared-dma-pool"; 952716bd33SAndre Przywara reg = <0x00000000 0x18000000 0 0x00800000>; 962716bd33SAndre Przywara no-map; 972716bd33SAndre Przywara }; 982716bd33SAndre Przywara }; 992716bd33SAndre Przywara 100589aaba4SAndre Przywara timer { 101589aaba4SAndre Przywara compatible = "arm,armv8-timer"; 102589aaba4SAndre Przywara clock-frequency = <100000000>; 103589aaba4SAndre Przywara }; 104589aaba4SAndre Przywara 105589aaba4SAndre Przywara timer@2a810000 { 106589aaba4SAndre Przywara compatible = "arm,armv7-timer-mem"; 107589aaba4SAndre Przywara reg = <0x0 0x2a810000 0x0 0x10000>; 108589aaba4SAndre Przywara clock-frequency = <100000000>; 1093fd12bb8SAndre Przywara #address-cells = <1>; 1103fd12bb8SAndre Przywara #size-cells = <1>; 1113fd12bb8SAndre Przywara ranges = <0x0 0x0 0x2a810000 0x100000>; 1123fd12bb8SAndre Przywara 113589aaba4SAndre Przywara frame@2a830000 { 114589aaba4SAndre Przywara frame-number = <1>; 115*270d5c5cSBoyan Karatotev interrupt-parent = <&gic>; 1163fd12bb8SAndre Przywara reg = <0x20000 0x10000>; 117589aaba4SAndre Przywara }; 118589aaba4SAndre Przywara }; 119589aaba4SAndre Przywara 120589aaba4SAndre Przywara pmu { 121589aaba4SAndre Przywara compatible = "arm,armv8-pmuv3"; 122589aaba4SAndre Przywara }; 123589aaba4SAndre Przywara 1242716bd33SAndre Przywara panel { 1252716bd33SAndre Przywara compatible = "arm,rtsm-display"; 1262716bd33SAndre Przywara port { 1272716bd33SAndre Przywara panel_in: endpoint { 1282716bd33SAndre Przywara remote-endpoint = <&clcd_pads>; 1292716bd33SAndre Przywara }; 1302716bd33SAndre Przywara }; 1312716bd33SAndre Przywara }; 132589aaba4SAndre Przywara 1332716bd33SAndre Przywara bus@8000000 { 134589aaba4SAndre Przywara #interrupt-cells = <1>; 135589aaba4SAndre Przywara interrupt-map-mask = <0 0 63>; 136589aaba4SAndre Przywara }; 137bef44f60SAlexeiFedorov 138bef44f60SAlexeiFedorov#if (ENABLE_RME == 1) 139bef44f60SAlexeiFedorov pci: pci@40000000 { 140bef44f60SAlexeiFedorov #address-cells = <3>; 141bef44f60SAlexeiFedorov #size-cells = <2>; 142bef44f60SAlexeiFedorov #interrupt-cells = <1>; 143bef44f60SAlexeiFedorov compatible = "pci-host-ecam-generic"; 144bef44f60SAlexeiFedorov device_type = "pci"; 145bef44f60SAlexeiFedorov reg = <0x0 0x40000000 0x0 0x10000000>; 146bef44f60SAlexeiFedorov ranges = <0x2000000 0x0 0x50000000 0x0 0x50000000 0x0 0x10000000>, 1472e55a3d7SAlexeiFedorov /* First 3GB of 256GB PCIe memory region 2 */ 1482e55a3d7SAlexeiFedorov <0x2000000 0x40 0x00000000 0x40 0x00000000 0x0 0xc0000000>; 149bef44f60SAlexeiFedorov interrupt-map-mask = <0x0 0x0 0x0 0x7>; 150bef44f60SAlexeiFedorov iommu-map = <0x0 &smmu 0x0 0x10000>; 151bef44f60SAlexeiFedorov dma-coherent; 152bef44f60SAlexeiFedorov }; 153bef44f60SAlexeiFedorov 154bef44f60SAlexeiFedorov smmu: iommu@2b400000 { 155bef44f60SAlexeiFedorov compatible = "arm,smmu-v3"; 156bef44f60SAlexeiFedorov reg = <0x0 0x2b400000 0x0 0x100000>; 157bef44f60SAlexeiFedorov interrupt-names = "eventq", "gerror", "priq", "cmdq-sync"; 158bef44f60SAlexeiFedorov dma-coherent; 159bef44f60SAlexeiFedorov #iommu-cells = <1>; 160bef44f60SAlexeiFedorov }; 161bef44f60SAlexeiFedorov#endif /* ENABLE_RME */ 162589aaba4SAndre Przywara}; 163