xref: /linux/scripts/dtc/include-prefixes/arm64/aspeed/aspeed-g7-a35.dtsi (revision 9611c0ce215a66770ccbe5c126bf57ba8c31bcad)
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