mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2026-07-03 16:38:39 +00:00
Adjust the platform's CPU topology in the device tree file based on the passed build time topology. If no build time topology was provided, default topology will be used. Change-Id: Ied48f27f32d8f7a7df138a98075848c59f7435c0 Signed-off-by: Amr Mohamed <amr.mohamed@arm.com>
183 lines
4.2 KiB
Devicetree
183 lines
4.2 KiB
Devicetree
/*
|
|
* Copyright (c) 2025, Arm Limited. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#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 = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
|
|
<GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
|
|
<GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
|
|
<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>,
|
|
<GIC_PPI 12 IRQ_TYPE_LEVEL_LOW>;
|
|
};
|
|
|
|
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 = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
|
|
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 = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
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 = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
|
|
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 = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
rtc@300d0000 {
|
|
compatible = "arm,pl031", "arm,primecell";
|
|
reg = <0x0 0x300d0000 0x0 0x10000>;
|
|
interrupts = <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&soc_clk24mhz>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
virtio-net@30060000 {
|
|
compatible = "virtio,mmio";
|
|
reg = <0x0 0x30060000 0x0 0x10000>;
|
|
interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
/* OS storage */
|
|
virtio-block@30020000 {
|
|
compatible = "virtio,mmio";
|
|
reg = <0x0 0x30020000 0x0 0x10000>;
|
|
interrupts = <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
/* Distro installation media */
|
|
virtio-block@30030000 {
|
|
compatible = "virtio,mmio";
|
|
reg = <0x0 0x30030000 0x0 0x10000>;
|
|
interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
/* SystemReady ACS validation media */
|
|
virtio-block@30040000 {
|
|
compatible = "virtio,mmio";
|
|
reg = <0x0 0x30040000 0x0 0x10000>;
|
|
interrupts = <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
/* User data media */
|
|
virtio-block@30050000 {
|
|
compatible = "virtio,mmio";
|
|
reg = <0x0 0x30050000 0x0 0x10000>;
|
|
interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
virtio-rng@30080000 {
|
|
compatible = "virtio,mmio";
|
|
reg = <0x0 0x30080000 0x0 0x10000>;
|
|
interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
};
|
|
|
|
psci {
|
|
compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci";
|
|
method = "smc";
|
|
cpu_suspend = <0xc4000001>;
|
|
cpu_off = <0x84000002>;
|
|
cpu_on = <0xc4000003>;
|
|
};
|
|
|
|
};
|