/* * Copyright (c) 2025, Arm Limited. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ /dts-v1/; #include #include "rdaspen-defs.dtsi" / { model = "RD-Aspen"; compatible = "arm,rdaspen"; interrupt-parent = <&gic>; #address-cells = <2>; #size-cells = <2>; chosen { stdout-path = &soc_serial0; }; cpus { #address-cells = <2>; #size-cells = <0>; /* Up to 4 clusters with up to 4 CPU cores in each cluster */ CPU_MAP CPUS }; L3_CACHE DSU_PMU memory@80000000 { device_type = "memory"; /* Bank 0: start = 0x0000_0000_8000_0000, size = ~2 GiB (0x7F00_0000) */ /* Bank 1: start = 0x0000_0200_0000_0000, size = 2 GiB (0x8000_0000) */ reg = < 0x00000000 0x80000000 0x00000000 0x7F000000 0x00000200 0x00000000 0x00000000 0x80000000 >; }; timer { compatible = "arm,armv8-timer"; interrupts = , , , , ; }; soc_clk24mhz: clk24mhz { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <24000000>; clock-output-names = "refclk24mhz"; }; soc { compatible = "simple-bus"; #address-cells = <2>; #size-cells = <2>; ranges; timer@1a810000 { compatible = "arm,armv7-timer-mem"; reg = <0x0 0x1a810000 0 0x10000>; #address-cells = <1>; #size-cells = <1>; /* Map child space [0x0..0x30000) to parent @ 0x1a810000 */ ranges = <0x0 0x0 0x1a810000 0x00030000>; frame@20000 { frame-number = <1>; interrupts = ; reg = <0x20000 0x10000>; }; }; gic: interrupt-controller@20000000 { compatible = "arm,gic-v3"; reg = <0x0 0x20000000 0x0 0x10000>, /* GICD */ <0x0 0x200c0000 0x0 0x400000>; /* 16 * GICR */ #interrupt-cells = <3>; #address-cells = <2>; #size-cells = <2>; ranges; interrupt-controller; interrupts = ; its1: msi-controller@20040000 { compatible = "arm,gic-v3-its"; reg = <0x0 0x20040000 0x0 0x40000>; msi-controller; #msi-cells = <1>; }; its2: msi-controller@20080000 { compatible = "arm,gic-v3-its"; reg = <0x0 0x20080000 0x0 0x40000>; msi-controller; #msi-cells = <1>; }; }; /* UART is fixed as 24MHz, both UARTCLK and PCLK */ soc_serial0: serial@1a400000 { compatible = "arm,pl011", "arm,primecell"; reg = <0x0 0x1a400000 0x0 0x10000>; interrupts = ; clocks = <&soc_clk24mhz>, <&soc_clk24mhz>; clock-names = "uartclk", "apb_pclk"; }; watchdog@1a420000 { compatible = "arm,sbsa-gwdt"; reg = <0x0 0x1a420000 0x0 0x10000>, <0x0 0x1a430000 0x0 0x10000>; interrupts = ; }; rtc@300d0000 { compatible = "arm,pl031", "arm,primecell"; reg = <0x0 0x300d0000 0x0 0x10000>; interrupts = ; clocks = <&soc_clk24mhz>; clock-names = "apb_pclk"; }; virtio-net@30060000 { compatible = "virtio,mmio"; reg = <0x0 0x30060000 0x0 0x10000>; interrupts = ; }; /* OS storage */ virtio-block@30020000 { compatible = "virtio,mmio"; reg = <0x0 0x30020000 0x0 0x10000>; interrupts = ; }; /* Distro installation media */ virtio-block@30030000 { compatible = "virtio,mmio"; reg = <0x0 0x30030000 0x0 0x10000>; interrupts = ; }; /* SystemReady ACS validation media */ virtio-block@30040000 { compatible = "virtio,mmio"; reg = <0x0 0x30040000 0x0 0x10000>; interrupts = ; }; /* User data media */ virtio-block@30050000 { compatible = "virtio,mmio"; reg = <0x0 0x30050000 0x0 0x10000>; interrupts = ; }; virtio-rng@30080000 { compatible = "virtio,mmio"; reg = <0x0 0x30080000 0x0 0x10000>; interrupts = ; }; }; psci { compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci"; method = "smc"; cpu_suspend = <0xc4000001>; cpu_off = <0x84000002>; cpu_on = <0xc4000003>; }; };