1d1a1abecSDavid Hu/* 2d1a1abecSDavid Hu * Copyright (c) 2025, Arm Limited. All rights reserved. 3d1a1abecSDavid Hu * 4d1a1abecSDavid Hu * SPDX-License-Identifier: BSD-3-Clause 5d1a1abecSDavid Hu */ 6d1a1abecSDavid Hu 7d1a1abecSDavid Hu/dts-v1/; 8d1a1abecSDavid Hu 9d1a1abecSDavid Hu#include <dt-bindings/interrupt-controller/arm-gic.h> 10*b666f0a1SAmr Mohamed#include "rdaspen-defs.dtsi" 11d1a1abecSDavid Hu 12d1a1abecSDavid Hu/ { 13d1a1abecSDavid Hu model = "RD-Aspen"; 14d1a1abecSDavid Hu compatible = "arm,rdaspen"; 15d1a1abecSDavid Hu interrupt-parent = <&gic>; 16d1a1abecSDavid Hu #address-cells = <2>; 17d1a1abecSDavid Hu #size-cells = <2>; 18d1a1abecSDavid Hu 19d1a1abecSDavid Hu chosen { 20d1a1abecSDavid Hu stdout-path = &soc_serial0; 21d1a1abecSDavid Hu }; 22d1a1abecSDavid Hu 23d1a1abecSDavid Hu cpus { 24d1a1abecSDavid Hu #address-cells = <2>; 25d1a1abecSDavid Hu #size-cells = <0>; 26d1a1abecSDavid Hu 27*b666f0a1SAmr Mohamed /* Up to 4 clusters with up to 4 CPU cores in each cluster */ 28*b666f0a1SAmr Mohamed CPU_MAP 29*b666f0a1SAmr Mohamed CPUS 30b0a8c52eSAmr Mohamed }; 31b0a8c52eSAmr Mohamed 32*b666f0a1SAmr Mohamed L3_CACHE 33*b666f0a1SAmr Mohamed DSU_PMU 34d1a1abecSDavid Hu 35d1a1abecSDavid Hu memory@80000000 { 36d1a1abecSDavid Hu device_type = "memory"; 37d1a1abecSDavid Hu 38d1a1abecSDavid Hu /* Bank 0: start = 0x0000_0000_8000_0000, size = ~2 GiB (0x7F00_0000) */ 39d1a1abecSDavid Hu /* Bank 1: start = 0x0000_0200_0000_0000, size = 2 GiB (0x8000_0000) */ 40d1a1abecSDavid Hu reg = < 41d1a1abecSDavid Hu 0x00000000 0x80000000 0x00000000 0x7F000000 42d1a1abecSDavid Hu 0x00000200 0x00000000 0x00000000 0x80000000 43d1a1abecSDavid Hu >; 44d1a1abecSDavid Hu }; 45d1a1abecSDavid Hu 46d1a1abecSDavid Hu timer { 47d1a1abecSDavid Hu compatible = "arm,armv8-timer"; 48d1a1abecSDavid Hu interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 49d1a1abecSDavid Hu <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 50d1a1abecSDavid Hu <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 51d1a1abecSDavid Hu <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>, 52d1a1abecSDavid Hu <GIC_PPI 12 IRQ_TYPE_LEVEL_LOW>; 53d1a1abecSDavid Hu }; 54d1a1abecSDavid Hu 55d1a1abecSDavid Hu soc_clk24mhz: clk24mhz { 56d1a1abecSDavid Hu compatible = "fixed-clock"; 57d1a1abecSDavid Hu #clock-cells = <0>; 58d1a1abecSDavid Hu clock-frequency = <24000000>; 59d1a1abecSDavid Hu clock-output-names = "refclk24mhz"; 60d1a1abecSDavid Hu }; 61d1a1abecSDavid Hu 62d1a1abecSDavid Hu soc { 63d1a1abecSDavid Hu compatible = "simple-bus"; 64d1a1abecSDavid Hu #address-cells = <2>; 65d1a1abecSDavid Hu #size-cells = <2>; 66d1a1abecSDavid Hu ranges; 67d1a1abecSDavid Hu 68d1a1abecSDavid Hu timer@1a810000 { 69d1a1abecSDavid Hu compatible = "arm,armv7-timer-mem"; 70d1a1abecSDavid Hu reg = <0x0 0x1a810000 0 0x10000>; 716fb6bee1SAhmed Azeem #address-cells = <1>; 726fb6bee1SAhmed Azeem #size-cells = <1>; 736fb6bee1SAhmed Azeem /* Map child space [0x0..0x30000) to parent @ 0x1a810000 */ 746fb6bee1SAhmed Azeem ranges = <0x0 0x0 0x1a810000 0x00030000>; 75d1a1abecSDavid Hu 766fb6bee1SAhmed Azeem frame@20000 { 77d1a1abecSDavid Hu frame-number = <1>; 78d1a1abecSDavid Hu interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 796fb6bee1SAhmed Azeem reg = <0x20000 0x10000>; 80d1a1abecSDavid Hu }; 81d1a1abecSDavid Hu }; 82d1a1abecSDavid Hu 83d1a1abecSDavid Hu gic: interrupt-controller@20000000 { 84d1a1abecSDavid Hu compatible = "arm,gic-v3"; 85d1a1abecSDavid Hu reg = <0x0 0x20000000 0x0 0x10000>, /* GICD */ 86d1a1abecSDavid Hu <0x0 0x200c0000 0x0 0x400000>; /* 16 * GICR */ 87d1a1abecSDavid Hu #interrupt-cells = <3>; 88d1a1abecSDavid Hu #address-cells = <2>; 89d1a1abecSDavid Hu #size-cells = <2>; 90d1a1abecSDavid Hu ranges; 91d1a1abecSDavid Hu interrupt-controller; 92d1a1abecSDavid Hu interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 93d1a1abecSDavid Hu 94d1a1abecSDavid Hu its1: msi-controller@20040000 { 95d1a1abecSDavid Hu compatible = "arm,gic-v3-its"; 96d1a1abecSDavid Hu reg = <0x0 0x20040000 0x0 0x40000>; 97d1a1abecSDavid Hu msi-controller; 98d1a1abecSDavid Hu #msi-cells = <1>; 99d1a1abecSDavid Hu }; 100d1a1abecSDavid Hu its2: msi-controller@20080000 { 101d1a1abecSDavid Hu compatible = "arm,gic-v3-its"; 102d1a1abecSDavid Hu reg = <0x0 0x20080000 0x0 0x40000>; 103d1a1abecSDavid Hu msi-controller; 104d1a1abecSDavid Hu #msi-cells = <1>; 105d1a1abecSDavid Hu }; 106d1a1abecSDavid Hu }; 107d1a1abecSDavid Hu 108d1a1abecSDavid Hu /* UART is fixed as 24MHz, both UARTCLK and PCLK */ 109d1a1abecSDavid Hu soc_serial0: serial@1a400000 { 110d1a1abecSDavid Hu compatible = "arm,pl011", "arm,primecell"; 111d1a1abecSDavid Hu reg = <0x0 0x1a400000 0x0 0x10000>; 112d1a1abecSDavid Hu interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 113d1a1abecSDavid Hu clocks = <&soc_clk24mhz>, <&soc_clk24mhz>; 114d1a1abecSDavid Hu clock-names = "uartclk", "apb_pclk"; 115d1a1abecSDavid Hu }; 116d1a1abecSDavid Hu 117d1a1abecSDavid Hu watchdog@1a420000 { 118d1a1abecSDavid Hu compatible = "arm,sbsa-gwdt"; 119d1a1abecSDavid Hu reg = <0x0 0x1a420000 0x0 0x10000>, 120d1a1abecSDavid Hu <0x0 0x1a430000 0x0 0x10000>; 121d1a1abecSDavid Hu interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 122d1a1abecSDavid Hu }; 123d1a1abecSDavid Hu 124d1a1abecSDavid Hu rtc@300d0000 { 125d1a1abecSDavid Hu compatible = "arm,pl031", "arm,primecell"; 126d1a1abecSDavid Hu reg = <0x0 0x300d0000 0x0 0x10000>; 127d1a1abecSDavid Hu interrupts = <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 128d1a1abecSDavid Hu clocks = <&soc_clk24mhz>; 129d1a1abecSDavid Hu clock-names = "apb_pclk"; 130d1a1abecSDavid Hu }; 131d1a1abecSDavid Hu 132d1a1abecSDavid Hu virtio-net@30060000 { 133d1a1abecSDavid Hu compatible = "virtio,mmio"; 134d1a1abecSDavid Hu reg = <0x0 0x30060000 0x0 0x10000>; 135d1a1abecSDavid Hu interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>; 136d1a1abecSDavid Hu }; 137d1a1abecSDavid Hu 138d1a1abecSDavid Hu /* OS storage */ 139d1a1abecSDavid Hu virtio-block@30020000 { 140d1a1abecSDavid Hu compatible = "virtio,mmio"; 141d1a1abecSDavid Hu reg = <0x0 0x30020000 0x0 0x10000>; 142d1a1abecSDavid Hu interrupts = <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>; 143d1a1abecSDavid Hu }; 144d1a1abecSDavid Hu 145d1a1abecSDavid Hu /* Distro installation media */ 146d1a1abecSDavid Hu virtio-block@30030000 { 147d1a1abecSDavid Hu compatible = "virtio,mmio"; 148d1a1abecSDavid Hu reg = <0x0 0x30030000 0x0 0x10000>; 149d1a1abecSDavid Hu interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>; 150d1a1abecSDavid Hu }; 151d1a1abecSDavid Hu 152d1a1abecSDavid Hu /* SystemReady ACS validation media */ 153d1a1abecSDavid Hu virtio-block@30040000 { 154d1a1abecSDavid Hu compatible = "virtio,mmio"; 155d1a1abecSDavid Hu reg = <0x0 0x30040000 0x0 0x10000>; 156d1a1abecSDavid Hu interrupts = <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>; 157d1a1abecSDavid Hu }; 158d1a1abecSDavid Hu 159d1a1abecSDavid Hu /* User data media */ 160d1a1abecSDavid Hu virtio-block@30050000 { 161d1a1abecSDavid Hu compatible = "virtio,mmio"; 162d1a1abecSDavid Hu reg = <0x0 0x30050000 0x0 0x10000>; 163d1a1abecSDavid Hu interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>; 164d1a1abecSDavid Hu }; 165d1a1abecSDavid Hu 166d1a1abecSDavid Hu virtio-rng@30080000 { 167d1a1abecSDavid Hu compatible = "virtio,mmio"; 168d1a1abecSDavid Hu reg = <0x0 0x30080000 0x0 0x10000>; 169d1a1abecSDavid Hu interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>; 170d1a1abecSDavid Hu }; 171d1a1abecSDavid Hu 172d1a1abecSDavid Hu }; 173d1a1abecSDavid Hu 174d1a1abecSDavid Hu psci { 175d1a1abecSDavid Hu compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci"; 176d1a1abecSDavid Hu method = "smc"; 177d1a1abecSDavid Hu cpu_suspend = <0xc4000001>; 178d1a1abecSDavid Hu cpu_off = <0x84000002>; 179d1a1abecSDavid Hu cpu_on = <0xc4000003>; 180d1a1abecSDavid Hu }; 181d1a1abecSDavid Hu 182d1a1abecSDavid Hu}; 183