1e77bb5dcSRyan Chen// SPDX-License-Identifier: GPL-2.0-only OR MIT 2e77bb5dcSRyan Chen/* 3e77bb5dcSRyan Chen * Device Tree Source for AST27xx SoC Family 4e77bb5dcSRyan Chen * 5e77bb5dcSRyan Chen * Copyright (C) 2026 ASPEED Technology Inc. 6e77bb5dcSRyan Chen */ 7e77bb5dcSRyan Chen 8e77bb5dcSRyan Chen#include <dt-bindings/interrupt-controller/arm-gic.h> 9e77bb5dcSRyan Chen 10e77bb5dcSRyan Chen/ { 11e77bb5dcSRyan Chen compatible = "aspeed,ast2700"; 12e77bb5dcSRyan Chen interrupt-parent = <&gic>; 13e77bb5dcSRyan Chen #address-cells = <2>; 14e77bb5dcSRyan Chen #size-cells = <2>; 15e77bb5dcSRyan Chen 16e77bb5dcSRyan Chen cpus { 17e77bb5dcSRyan Chen #address-cells = <2>; 18e77bb5dcSRyan Chen #size-cells = <0>; 19e77bb5dcSRyan Chen 20e77bb5dcSRyan Chen cpu0: cpu@0 { 21e77bb5dcSRyan Chen device_type = "cpu"; 22e77bb5dcSRyan Chen compatible = "arm,cortex-a35"; 23e77bb5dcSRyan Chen reg = <0x0 0x0>; 24e77bb5dcSRyan Chen enable-method = "psci"; 25e77bb5dcSRyan Chen i-cache-size = <0x8000>; 26e77bb5dcSRyan Chen i-cache-line-size = <64>; 27e77bb5dcSRyan Chen i-cache-sets = <256>; 28e77bb5dcSRyan Chen d-cache-size = <0x8000>; 29e77bb5dcSRyan Chen d-cache-line-size = <64>; 30e77bb5dcSRyan Chen d-cache-sets = <128>; 31e77bb5dcSRyan Chen next-level-cache = <&l2>; 32e77bb5dcSRyan Chen }; 33e77bb5dcSRyan Chen 34e77bb5dcSRyan Chen cpu1: cpu@1 { 35e77bb5dcSRyan Chen device_type = "cpu"; 36e77bb5dcSRyan Chen compatible = "arm,cortex-a35"; 37e77bb5dcSRyan Chen reg = <0x0 0x1>; 38e77bb5dcSRyan Chen enable-method = "psci"; 39e77bb5dcSRyan Chen i-cache-size = <0x8000>; 40e77bb5dcSRyan Chen i-cache-line-size = <64>; 41e77bb5dcSRyan Chen i-cache-sets = <256>; 42e77bb5dcSRyan Chen d-cache-size = <0x8000>; 43e77bb5dcSRyan Chen d-cache-line-size = <64>; 44e77bb5dcSRyan Chen d-cache-sets = <128>; 45e77bb5dcSRyan Chen next-level-cache = <&l2>; 46e77bb5dcSRyan Chen }; 47e77bb5dcSRyan Chen 48e77bb5dcSRyan Chen cpu2: cpu@2 { 49e77bb5dcSRyan Chen device_type = "cpu"; 50e77bb5dcSRyan Chen compatible = "arm,cortex-a35"; 51e77bb5dcSRyan Chen reg = <0x0 0x2>; 52e77bb5dcSRyan Chen enable-method = "psci"; 53e77bb5dcSRyan Chen i-cache-size = <0x8000>; 54e77bb5dcSRyan Chen i-cache-line-size = <64>; 55e77bb5dcSRyan Chen i-cache-sets = <256>; 56e77bb5dcSRyan Chen d-cache-size = <0x8000>; 57e77bb5dcSRyan Chen d-cache-line-size = <64>; 58e77bb5dcSRyan Chen d-cache-sets = <128>; 59e77bb5dcSRyan Chen next-level-cache = <&l2>; 60e77bb5dcSRyan Chen }; 61e77bb5dcSRyan Chen 62e77bb5dcSRyan Chen cpu3: cpu@3 { 63e77bb5dcSRyan Chen device_type = "cpu"; 64e77bb5dcSRyan Chen compatible = "arm,cortex-a35"; 65e77bb5dcSRyan Chen reg = <0x0 0x3>; 66e77bb5dcSRyan Chen enable-method = "psci"; 67e77bb5dcSRyan Chen i-cache-size = <0x8000>; 68e77bb5dcSRyan Chen i-cache-line-size = <64>; 69e77bb5dcSRyan Chen i-cache-sets = <256>; 70e77bb5dcSRyan Chen d-cache-size = <0x8000>; 71e77bb5dcSRyan Chen d-cache-line-size = <64>; 72e77bb5dcSRyan Chen d-cache-sets = <128>; 73e77bb5dcSRyan Chen next-level-cache = <&l2>; 74e77bb5dcSRyan Chen }; 75e77bb5dcSRyan Chen 76e77bb5dcSRyan Chen l2: l2-cache0 { 77e77bb5dcSRyan Chen compatible = "cache"; 78e77bb5dcSRyan Chen cache-level = <2>; 79e77bb5dcSRyan Chen cache-unified; 80e77bb5dcSRyan Chen cache-size = <0x80000>; 81e77bb5dcSRyan Chen cache-line-size = <64>; 82e77bb5dcSRyan Chen cache-sets = <1024>; 83e77bb5dcSRyan Chen }; 84e77bb5dcSRyan Chen }; 85e77bb5dcSRyan Chen 86e77bb5dcSRyan Chen secondary { 87*9e84fd54SRyan Chen #address-cells = <1>; 88e77bb5dcSRyan Chen #size-cells = <0>; 89e77bb5dcSRyan Chen 90*9e84fd54SRyan Chen ssp_nvic: interrupt-controller@e000e100 { 91e77bb5dcSRyan Chen compatible = "arm,v7m-nvic"; 92e77bb5dcSRyan Chen #interrupt-cells = <2>; 93e77bb5dcSRyan Chen #address-cells = <0>; 94e77bb5dcSRyan Chen interrupt-controller; 95*9e84fd54SRyan Chen reg = <0xe000e100>; 96e77bb5dcSRyan Chen arm,num-irq-priority-bits = <3>; 97e77bb5dcSRyan Chen status = "disabled"; 98e77bb5dcSRyan Chen }; 99e77bb5dcSRyan Chen }; 100e77bb5dcSRyan Chen 101e77bb5dcSRyan Chen tertiary { 102*9e84fd54SRyan Chen #address-cells = <1>; 103e77bb5dcSRyan Chen #size-cells = <0>; 104e77bb5dcSRyan Chen 105*9e84fd54SRyan Chen tsp_nvic: interrupt-controller@e000e100 { 106e77bb5dcSRyan Chen compatible = "arm,v7m-nvic"; 107e77bb5dcSRyan Chen #interrupt-cells = <2>; 108e77bb5dcSRyan Chen #address-cells = <0>; 109e77bb5dcSRyan Chen interrupt-controller; 110*9e84fd54SRyan Chen reg = <0xe000e100>; 111e77bb5dcSRyan Chen arm,num-irq-priority-bits = <3>; 112e77bb5dcSRyan Chen status = "disabled"; 113e77bb5dcSRyan Chen }; 114e77bb5dcSRyan Chen }; 115e77bb5dcSRyan Chen 116e77bb5dcSRyan Chen bootmcu { 117e77bb5dcSRyan Chen bootmcu_hlic: interrupt-controller { 118e77bb5dcSRyan Chen compatible = "riscv,cpu-intc"; 119e77bb5dcSRyan Chen interrupt-controller; 120e77bb5dcSRyan Chen #interrupt-cells = <1>; 121e77bb5dcSRyan Chen status = "disabled"; 122e77bb5dcSRyan Chen }; 123e77bb5dcSRyan Chen }; 124e77bb5dcSRyan Chen 125e77bb5dcSRyan Chen firmware { 126e77bb5dcSRyan Chen optee: optee { 127e77bb5dcSRyan Chen compatible = "linaro,optee-tz"; 128e77bb5dcSRyan Chen method = "smc"; 129e77bb5dcSRyan Chen }; 130e77bb5dcSRyan Chen 131e77bb5dcSRyan Chen psci { 132e77bb5dcSRyan Chen compatible = "arm,psci-1.0"; 133e77bb5dcSRyan Chen method = "smc"; 134e77bb5dcSRyan Chen }; 135e77bb5dcSRyan Chen }; 136e77bb5dcSRyan Chen 137e77bb5dcSRyan Chen reserved-memory { 138e77bb5dcSRyan Chen #address-cells = <2>; 139e77bb5dcSRyan Chen #size-cells = <2>; 140e77bb5dcSRyan Chen ranges; 141e77bb5dcSRyan Chen 142e77bb5dcSRyan Chen atf: trusted-firmware-a@430000000 { 143e77bb5dcSRyan Chen reg = <0x4 0x30000000 0x0 0x80000>; 144e77bb5dcSRyan Chen no-map; 145e77bb5dcSRyan Chen }; 146e77bb5dcSRyan Chen 147e77bb5dcSRyan Chen optee_core: optee-core@430080000 { 148e77bb5dcSRyan Chen reg = <0x4 0x30080000 0x0 0x1000000>; 149e77bb5dcSRyan Chen no-map; 150e77bb5dcSRyan Chen }; 151e77bb5dcSRyan Chen }; 152e77bb5dcSRyan Chen 153e77bb5dcSRyan Chen arm-pmu { 154e77bb5dcSRyan Chen compatible = "arm,cortex-a35-pmu"; 155e77bb5dcSRyan Chen interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 156e77bb5dcSRyan Chen }; 157e77bb5dcSRyan Chen 158e77bb5dcSRyan Chen timer { 159e77bb5dcSRyan Chen compatible = "arm,armv8-timer"; 160e77bb5dcSRyan Chen interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 161e77bb5dcSRyan Chen <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 162e77bb5dcSRyan Chen <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 163e77bb5dcSRyan Chen <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 164e77bb5dcSRyan Chen arm,cpu-registers-not-fw-configured; 165e77bb5dcSRyan Chen always-on; 166e77bb5dcSRyan Chen }; 167e77bb5dcSRyan Chen 168e77bb5dcSRyan Chen gic: interrupt-controller@12200000 { 169e77bb5dcSRyan Chen compatible = "arm,gic-v3"; 170e77bb5dcSRyan Chen reg = <0 0x12200000 0 0x10000>, /* GICD */ 171e77bb5dcSRyan Chen <0 0x12280000 0 0x80000>, /* GICR */ 172e77bb5dcSRyan Chen <0 0x40440000 0 0x1000>; /* GICC */ 173e77bb5dcSRyan Chen interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 174e77bb5dcSRyan Chen #interrupt-cells = <3>; 175e77bb5dcSRyan Chen interrupt-controller; 176e77bb5dcSRyan Chen }; 177e77bb5dcSRyan Chen 178e77bb5dcSRyan Chen soc0: bus@10000000 { 179e77bb5dcSRyan Chen compatible = "simple-bus"; 180e77bb5dcSRyan Chen #address-cells = <2>; 181e77bb5dcSRyan Chen #size-cells = <2>; 182e77bb5dcSRyan Chen ranges = <0x0 0x10000000 0x0 0x10000000 0x0 0x4000000>; 183e77bb5dcSRyan Chen }; 184e77bb5dcSRyan Chen 185e77bb5dcSRyan Chen soc1: bus@14000000 { 186e77bb5dcSRyan Chen compatible = "simple-bus"; 187e77bb5dcSRyan Chen #address-cells = <2>; 188e77bb5dcSRyan Chen #size-cells = <2>; 189e77bb5dcSRyan Chen ranges = <0x0 0x14000000 0x0 0x14000000 0x2 0xec000000>; 190e77bb5dcSRyan Chen }; 191e77bb5dcSRyan Chen}; 192e77bb5dcSRyan Chen 193e77bb5dcSRyan Chen#include "aspeed-g7-soc0.dtsi" 194e77bb5dcSRyan Chen#include "aspeed-g7-soc1.dtsi" 195