xref: /linux/scripts/dtc/include-prefixes/arm64/cix/sky1.dtsi (revision 4df9c0a2465a523e399e46a8d3b5866c769b381b)
1*80be23bbSPeter Chen// SPDX-License-Identifier: BSD-3-Clause
2*80be23bbSPeter Chen/*
3*80be23bbSPeter Chen * Copyright 2025 Cix Technology Group Co., Ltd.
4*80be23bbSPeter Chen *
5*80be23bbSPeter Chen */
6*80be23bbSPeter Chen
7*80be23bbSPeter Chen#include <dt-bindings/interrupt-controller/arm-gic.h>
8*80be23bbSPeter Chen#include <dt-bindings/clock/cix,sky1.h>
9*80be23bbSPeter Chen
10*80be23bbSPeter Chen/ {
11*80be23bbSPeter Chen	interrupt-parent = <&gic>;
12*80be23bbSPeter Chen	#address-cells = <2>;
13*80be23bbSPeter Chen	#size-cells = <2>;
14*80be23bbSPeter Chen
15*80be23bbSPeter Chen	cpus {
16*80be23bbSPeter Chen		#address-cells = <2>;
17*80be23bbSPeter Chen		#size-cells = <0>;
18*80be23bbSPeter Chen
19*80be23bbSPeter Chen		cpu0: cpu@0 {
20*80be23bbSPeter Chen			compatible = "arm,cortex-a520";
21*80be23bbSPeter Chen			enable-method = "psci";
22*80be23bbSPeter Chen			reg = <0x0 0x0>;
23*80be23bbSPeter Chen			device_type = "cpu";
24*80be23bbSPeter Chen			capacity-dmips-mhz = <403>;
25*80be23bbSPeter Chen		};
26*80be23bbSPeter Chen
27*80be23bbSPeter Chen		cpu1: cpu@100 {
28*80be23bbSPeter Chen			compatible = "arm,cortex-a520";
29*80be23bbSPeter Chen			enable-method = "psci";
30*80be23bbSPeter Chen			reg = <0x0 0x100>;
31*80be23bbSPeter Chen			device_type = "cpu";
32*80be23bbSPeter Chen			capacity-dmips-mhz = <403>;
33*80be23bbSPeter Chen		};
34*80be23bbSPeter Chen
35*80be23bbSPeter Chen		cpu2: cpu@200 {
36*80be23bbSPeter Chen			compatible = "arm,cortex-a520";
37*80be23bbSPeter Chen			enable-method = "psci";
38*80be23bbSPeter Chen			reg = <0x0 0x200>;
39*80be23bbSPeter Chen			device_type = "cpu";
40*80be23bbSPeter Chen			capacity-dmips-mhz = <403>;
41*80be23bbSPeter Chen		};
42*80be23bbSPeter Chen
43*80be23bbSPeter Chen		cpu3: cpu@300 {
44*80be23bbSPeter Chen			compatible = "arm,cortex-a520";
45*80be23bbSPeter Chen			enable-method = "psci";
46*80be23bbSPeter Chen			reg = <0x0 0x300>;
47*80be23bbSPeter Chen			device_type = "cpu";
48*80be23bbSPeter Chen			capacity-dmips-mhz = <403>;
49*80be23bbSPeter Chen		};
50*80be23bbSPeter Chen
51*80be23bbSPeter Chen		cpu4: cpu@400 {
52*80be23bbSPeter Chen			compatible = "arm,cortex-a720";
53*80be23bbSPeter Chen			enable-method = "psci";
54*80be23bbSPeter Chen			reg = <0x0 0x400>;
55*80be23bbSPeter Chen			device_type = "cpu";
56*80be23bbSPeter Chen			capacity-dmips-mhz = <1024>;
57*80be23bbSPeter Chen		};
58*80be23bbSPeter Chen
59*80be23bbSPeter Chen		cpu5: cpu@500 {
60*80be23bbSPeter Chen			compatible = "arm,cortex-a720";
61*80be23bbSPeter Chen			enable-method = "psci";
62*80be23bbSPeter Chen			reg = <0x0 0x500>;
63*80be23bbSPeter Chen			device_type = "cpu";
64*80be23bbSPeter Chen			capacity-dmips-mhz = <1024>;
65*80be23bbSPeter Chen		};
66*80be23bbSPeter Chen
67*80be23bbSPeter Chen		cpu6: cpu@600 {
68*80be23bbSPeter Chen			compatible = "arm,cortex-a720";
69*80be23bbSPeter Chen			enable-method = "psci";
70*80be23bbSPeter Chen			reg = <0x0 0x600>;
71*80be23bbSPeter Chen			device_type = "cpu";
72*80be23bbSPeter Chen			capacity-dmips-mhz = <1024>;
73*80be23bbSPeter Chen		};
74*80be23bbSPeter Chen
75*80be23bbSPeter Chen		cpu7: cpu@700 {
76*80be23bbSPeter Chen			compatible = "arm,cortex-a720";
77*80be23bbSPeter Chen			enable-method = "psci";
78*80be23bbSPeter Chen			reg = <0x0 0x700>;
79*80be23bbSPeter Chen			device_type = "cpu";
80*80be23bbSPeter Chen			capacity-dmips-mhz = <1024>;
81*80be23bbSPeter Chen		};
82*80be23bbSPeter Chen
83*80be23bbSPeter Chen		cpu8: cpu@800 {
84*80be23bbSPeter Chen			compatible = "arm,cortex-a720";
85*80be23bbSPeter Chen			enable-method = "psci";
86*80be23bbSPeter Chen			reg = <0x0 0x800>;
87*80be23bbSPeter Chen			device_type = "cpu";
88*80be23bbSPeter Chen			capacity-dmips-mhz = <1024>;
89*80be23bbSPeter Chen		};
90*80be23bbSPeter Chen
91*80be23bbSPeter Chen		cpu9: cpu@900 {
92*80be23bbSPeter Chen			compatible = "arm,cortex-a720";
93*80be23bbSPeter Chen			enable-method = "psci";
94*80be23bbSPeter Chen			reg = <0x0 0x900>;
95*80be23bbSPeter Chen			device_type = "cpu";
96*80be23bbSPeter Chen			capacity-dmips-mhz = <1024>;
97*80be23bbSPeter Chen		};
98*80be23bbSPeter Chen
99*80be23bbSPeter Chen		cpu10: cpu@a00 {
100*80be23bbSPeter Chen			compatible = "arm,cortex-a720";
101*80be23bbSPeter Chen			enable-method = "psci";
102*80be23bbSPeter Chen			reg = <0x0 0xa00>;
103*80be23bbSPeter Chen			device_type = "cpu";
104*80be23bbSPeter Chen			capacity-dmips-mhz = <1024>;
105*80be23bbSPeter Chen		};
106*80be23bbSPeter Chen
107*80be23bbSPeter Chen		cpu11: cpu@b00 {
108*80be23bbSPeter Chen			compatible = "arm,cortex-a720";
109*80be23bbSPeter Chen			enable-method = "psci";
110*80be23bbSPeter Chen			reg = <0x0 0xb00>;
111*80be23bbSPeter Chen			device_type = "cpu";
112*80be23bbSPeter Chen			capacity-dmips-mhz = <1024>;
113*80be23bbSPeter Chen		};
114*80be23bbSPeter Chen
115*80be23bbSPeter Chen		cpu-map {
116*80be23bbSPeter Chen			cluster0 {
117*80be23bbSPeter Chen				core0 {
118*80be23bbSPeter Chen					cpu = <&cpu0>;
119*80be23bbSPeter Chen				};
120*80be23bbSPeter Chen				core1 {
121*80be23bbSPeter Chen					cpu = <&cpu1>;
122*80be23bbSPeter Chen				};
123*80be23bbSPeter Chen				core2 {
124*80be23bbSPeter Chen					cpu = <&cpu2>;
125*80be23bbSPeter Chen				};
126*80be23bbSPeter Chen				core3 {
127*80be23bbSPeter Chen					cpu = <&cpu3>;
128*80be23bbSPeter Chen				};
129*80be23bbSPeter Chen				core4 {
130*80be23bbSPeter Chen					cpu = <&cpu4>;
131*80be23bbSPeter Chen				};
132*80be23bbSPeter Chen				core5 {
133*80be23bbSPeter Chen					cpu = <&cpu5>;
134*80be23bbSPeter Chen				};
135*80be23bbSPeter Chen				core6 {
136*80be23bbSPeter Chen					cpu = <&cpu6>;
137*80be23bbSPeter Chen				};
138*80be23bbSPeter Chen				core7 {
139*80be23bbSPeter Chen					cpu = <&cpu7>;
140*80be23bbSPeter Chen				};
141*80be23bbSPeter Chen				core8 {
142*80be23bbSPeter Chen					cpu = <&cpu8>;
143*80be23bbSPeter Chen				};
144*80be23bbSPeter Chen				core9 {
145*80be23bbSPeter Chen					cpu = <&cpu9>;
146*80be23bbSPeter Chen				};
147*80be23bbSPeter Chen				core10 {
148*80be23bbSPeter Chen					cpu = <&cpu10>;
149*80be23bbSPeter Chen				};
150*80be23bbSPeter Chen				core11 {
151*80be23bbSPeter Chen					cpu = <&cpu11>;
152*80be23bbSPeter Chen				};
153*80be23bbSPeter Chen			};
154*80be23bbSPeter Chen		};
155*80be23bbSPeter Chen	};
156*80be23bbSPeter Chen
157*80be23bbSPeter Chen	firmware {
158*80be23bbSPeter Chen		ap_to_pm_scmi: scmi {
159*80be23bbSPeter Chen			compatible = "arm,scmi";
160*80be23bbSPeter Chen			mbox-names = "tx", "rx";
161*80be23bbSPeter Chen			mboxes = <&mbox_ap2pm 8>, <&mbox_pm2ap 8>;
162*80be23bbSPeter Chen			shmem = <&ap2pm_scmi_mem>, <&pm2ap_scmi_mem>;
163*80be23bbSPeter Chen			#address-cells = <1>;
164*80be23bbSPeter Chen			#size-cells = <0>;
165*80be23bbSPeter Chen
166*80be23bbSPeter Chen			scmi_clk: protocol@14 {
167*80be23bbSPeter Chen				reg = <0x14>;
168*80be23bbSPeter Chen				#clock-cells = <1>;
169*80be23bbSPeter Chen			};
170*80be23bbSPeter Chen		};
171*80be23bbSPeter Chen	};
172*80be23bbSPeter Chen
173*80be23bbSPeter Chen	pmu-a520 {
174*80be23bbSPeter Chen		compatible = "arm,cortex-a520-pmu";
175*80be23bbSPeter Chen		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_partition0>;
176*80be23bbSPeter Chen	};
177*80be23bbSPeter Chen
178*80be23bbSPeter Chen	pmu-a720 {
179*80be23bbSPeter Chen		compatible = "arm,cortex-a720-pmu";
180*80be23bbSPeter Chen		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_partition1>;
181*80be23bbSPeter Chen	};
182*80be23bbSPeter Chen
183*80be23bbSPeter Chen	psci {
184*80be23bbSPeter Chen		compatible = "arm,psci-1.0";
185*80be23bbSPeter Chen		method = "smc";
186*80be23bbSPeter Chen	};
187*80be23bbSPeter Chen
188*80be23bbSPeter Chen	soc@0 {
189*80be23bbSPeter Chen		compatible = "simple-bus";
190*80be23bbSPeter Chen		ranges = <0 0 0 0 0x20 0>;
191*80be23bbSPeter Chen		dma-ranges;
192*80be23bbSPeter Chen		#address-cells = <2>;
193*80be23bbSPeter Chen		#size-cells = <2>;
194*80be23bbSPeter Chen
195*80be23bbSPeter Chen		uart0: serial@40b0000 {
196*80be23bbSPeter Chen			compatible = "arm,pl011", "arm,primecell";
197*80be23bbSPeter Chen			reg = <0x0 0x040b0000 0x0 0x1000>;
198*80be23bbSPeter Chen			interrupts = <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH 0>;
199*80be23bbSPeter Chen			clocks = <&scmi_clk CLK_TREE_FCH_UART0_FUNC>, <&scmi_clk CLK_TREE_FCH_UART0_APB>;
200*80be23bbSPeter Chen			clock-names = "uartclk", "apb_pclk";
201*80be23bbSPeter Chen			status = "disabled";
202*80be23bbSPeter Chen		};
203*80be23bbSPeter Chen
204*80be23bbSPeter Chen		uart1: serial@40c0000 {
205*80be23bbSPeter Chen			compatible = "arm,pl011", "arm,primecell";
206*80be23bbSPeter Chen			reg = <0x0 0x040c0000 0x0 0x1000>;
207*80be23bbSPeter Chen			interrupts = <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH 0>;
208*80be23bbSPeter Chen			clocks = <&scmi_clk CLK_TREE_FCH_UART1_FUNC>, <&scmi_clk CLK_TREE_FCH_UART1_APB>;
209*80be23bbSPeter Chen			clock-names = "uartclk", "apb_pclk";
210*80be23bbSPeter Chen			status = "disabled";
211*80be23bbSPeter Chen		};
212*80be23bbSPeter Chen
213*80be23bbSPeter Chen		uart2: serial@40d0000 {
214*80be23bbSPeter Chen			compatible = "arm,pl011", "arm,primecell";
215*80be23bbSPeter Chen			reg = <0x0 0x040d0000 0x0 0x1000>;
216*80be23bbSPeter Chen			interrupts = <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH 0>;
217*80be23bbSPeter Chen			clocks = <&scmi_clk CLK_TREE_FCH_UART2_FUNC>, <&scmi_clk CLK_TREE_FCH_UART2_APB>;
218*80be23bbSPeter Chen			clock-names = "uartclk", "apb_pclk";
219*80be23bbSPeter Chen			status = "disabled";
220*80be23bbSPeter Chen		};
221*80be23bbSPeter Chen
222*80be23bbSPeter Chen		uart3: serial@40e0000 {
223*80be23bbSPeter Chen			compatible = "arm,pl011", "arm,primecell";
224*80be23bbSPeter Chen			reg = <0x0 0x040e0000 0x0 0x1000>;
225*80be23bbSPeter Chen			interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH 0>;
226*80be23bbSPeter Chen			clocks = <&scmi_clk CLK_TREE_FCH_UART3_FUNC>, <&scmi_clk CLK_TREE_FCH_UART3_APB>;
227*80be23bbSPeter Chen			clock-names = "uartclk", "apb_pclk";
228*80be23bbSPeter Chen			status = "disabled";
229*80be23bbSPeter Chen		};
230*80be23bbSPeter Chen
231*80be23bbSPeter Chen		mbox_ap2se: mailbox@5060000 {
232*80be23bbSPeter Chen			compatible = "cix,sky1-mbox";
233*80be23bbSPeter Chen			reg = <0x0 0x05060000 0x0 0x10000>;
234*80be23bbSPeter Chen			interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH 0>;
235*80be23bbSPeter Chen			#mbox-cells = <1>;
236*80be23bbSPeter Chen			cix,mbox-dir = "tx";
237*80be23bbSPeter Chen		};
238*80be23bbSPeter Chen
239*80be23bbSPeter Chen		mbox_se2ap: mailbox@5070000 {
240*80be23bbSPeter Chen			compatible = "cix,sky1-mbox";
241*80be23bbSPeter Chen			reg = <0x0 0x05070000 0x0 0x10000>;
242*80be23bbSPeter Chen			interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH 0>;
243*80be23bbSPeter Chen			#mbox-cells = <1>;
244*80be23bbSPeter Chen			cix,mbox-dir = "rx";
245*80be23bbSPeter Chen		};
246*80be23bbSPeter Chen
247*80be23bbSPeter Chen		ap2pm_scmi_mem: shmem@6590000 {
248*80be23bbSPeter Chen			compatible = "arm,scmi-shmem";
249*80be23bbSPeter Chen			reg = <0x0 0x06590000 0x0 0x80>;
250*80be23bbSPeter Chen			reg-io-width = <4>;
251*80be23bbSPeter Chen		};
252*80be23bbSPeter Chen
253*80be23bbSPeter Chen		mbox_ap2pm: mailbox@6590080 {
254*80be23bbSPeter Chen			compatible = "cix,sky1-mbox";
255*80be23bbSPeter Chen			reg = <0x0 0x06590080 0x0 0xff80>;
256*80be23bbSPeter Chen			interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH 0>;
257*80be23bbSPeter Chen			#mbox-cells = <1>;
258*80be23bbSPeter Chen			cix,mbox-dir = "tx";
259*80be23bbSPeter Chen		};
260*80be23bbSPeter Chen
261*80be23bbSPeter Chen		pm2ap_scmi_mem: shmem@65a0000 {
262*80be23bbSPeter Chen			compatible = "arm,scmi-shmem";
263*80be23bbSPeter Chen			reg = <0x0 0x065a0000 0x0 0x80>;
264*80be23bbSPeter Chen			reg-io-width = <4>;
265*80be23bbSPeter Chen		};
266*80be23bbSPeter Chen
267*80be23bbSPeter Chen		mbox_pm2ap: mailbox@65a0080 {
268*80be23bbSPeter Chen			compatible = "cix,sky1-mbox";
269*80be23bbSPeter Chen			reg = <0x0 0x065a0080 0x0 0xff80>;
270*80be23bbSPeter Chen			interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH 0>;
271*80be23bbSPeter Chen			#mbox-cells = <1>;
272*80be23bbSPeter Chen			cix,mbox-dir = "rx";
273*80be23bbSPeter Chen		};
274*80be23bbSPeter Chen
275*80be23bbSPeter Chen		mbox_sfh2ap: mailbox@8090000 {
276*80be23bbSPeter Chen			compatible = "cix,sky1-mbox";
277*80be23bbSPeter Chen			reg = <0x0 0x08090000 0x0 0x10000>;
278*80be23bbSPeter Chen			interrupts = <GIC_SPI 391 IRQ_TYPE_LEVEL_HIGH 0>;
279*80be23bbSPeter Chen			#mbox-cells = <1>;
280*80be23bbSPeter Chen			cix,mbox-dir = "rx";
281*80be23bbSPeter Chen		};
282*80be23bbSPeter Chen
283*80be23bbSPeter Chen		mbox_ap2sfh: mailbox@80a0000 {
284*80be23bbSPeter Chen			compatible = "cix,sky1-mbox";
285*80be23bbSPeter Chen			reg = <0x0 0x080a0000 0x0 0x10000>;
286*80be23bbSPeter Chen			interrupts = <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH 0>;
287*80be23bbSPeter Chen			#mbox-cells = <1>;
288*80be23bbSPeter Chen			cix,mbox-dir = "tx";
289*80be23bbSPeter Chen		};
290*80be23bbSPeter Chen
291*80be23bbSPeter Chen		gic: interrupt-controller@e010000 {
292*80be23bbSPeter Chen			compatible = "arm,gic-v3";
293*80be23bbSPeter Chen			reg = <0x0 0x0e010000 0 0x10000>,	/* GICD */
294*80be23bbSPeter Chen			      <0x0 0x0e090000 0 0x300000>;       /* GICR * 12 */
295*80be23bbSPeter Chen			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW 0>;
296*80be23bbSPeter Chen			#interrupt-cells = <4>;
297*80be23bbSPeter Chen			interrupt-controller;
298*80be23bbSPeter Chen			#address-cells = <2>;
299*80be23bbSPeter Chen			#size-cells = <2>;
300*80be23bbSPeter Chen			ranges;
301*80be23bbSPeter Chen
302*80be23bbSPeter Chen			gic_its: msi-controller@e050000 {
303*80be23bbSPeter Chen				compatible = "arm,gic-v3-its";
304*80be23bbSPeter Chen				reg = <0x0 0x0e050000 0x0 0x30000>;
305*80be23bbSPeter Chen				msi-controller;
306*80be23bbSPeter Chen				#msi-cells = <1>;
307*80be23bbSPeter Chen			};
308*80be23bbSPeter Chen
309*80be23bbSPeter Chen			ppi-partitions {
310*80be23bbSPeter Chen				ppi_partition0: interrupt-partition-0 {
311*80be23bbSPeter Chen					affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
312*80be23bbSPeter Chen				};
313*80be23bbSPeter Chen
314*80be23bbSPeter Chen				ppi_partition1: interrupt-partition-1 {
315*80be23bbSPeter Chen					affinity = <&cpu4 &cpu5 &cpu6 &cpu7 &cpu8 &cpu9 &cpu10 &cpu11>;
316*80be23bbSPeter Chen				};
317*80be23bbSPeter Chen			};
318*80be23bbSPeter Chen		};
319*80be23bbSPeter Chen	};
320*80be23bbSPeter Chen
321*80be23bbSPeter Chen	timer {
322*80be23bbSPeter Chen		compatible = "arm,armv8-timer";
323*80be23bbSPeter Chen		interrupt-names = "sec-phys", "phys", "virt", "hyp-phys", "hyp-virt";
324*80be23bbSPeter Chen		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>,
325*80be23bbSPeter Chen			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>,
326*80be23bbSPeter Chen			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>,
327*80be23bbSPeter Chen			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>,
328*80be23bbSPeter Chen			     <GIC_PPI 12 IRQ_TYPE_LEVEL_LOW 0>;
329*80be23bbSPeter Chen	};
330*80be23bbSPeter Chen};
331