xref: /linux/arch/arm64/boot/dts/rockchip/rk3528.dtsi (revision 60675d4ca1ef0857e44eba5849b74a3a998d0c0f)
1*7983e6c3SYao Zi// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*7983e6c3SYao Zi/*
3*7983e6c3SYao Zi * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
4*7983e6c3SYao Zi * Copyright (c) 2024 Yao Zi <ziyao@disroot.org>
5*7983e6c3SYao Zi */
6*7983e6c3SYao Zi
7*7983e6c3SYao Zi#include <dt-bindings/interrupt-controller/arm-gic.h>
8*7983e6c3SYao Zi#include <dt-bindings/interrupt-controller/irq.h>
9*7983e6c3SYao Zi
10*7983e6c3SYao Zi/ {
11*7983e6c3SYao Zi	compatible = "rockchip,rk3528";
12*7983e6c3SYao Zi
13*7983e6c3SYao Zi	interrupt-parent = <&gic>;
14*7983e6c3SYao Zi	#address-cells = <2>;
15*7983e6c3SYao Zi	#size-cells = <2>;
16*7983e6c3SYao Zi
17*7983e6c3SYao Zi	aliases {
18*7983e6c3SYao Zi		serial0 = &uart0;
19*7983e6c3SYao Zi		serial1 = &uart1;
20*7983e6c3SYao Zi		serial2 = &uart2;
21*7983e6c3SYao Zi		serial3 = &uart3;
22*7983e6c3SYao Zi		serial4 = &uart4;
23*7983e6c3SYao Zi		serial5 = &uart5;
24*7983e6c3SYao Zi		serial6 = &uart6;
25*7983e6c3SYao Zi		serial7 = &uart7;
26*7983e6c3SYao Zi	};
27*7983e6c3SYao Zi
28*7983e6c3SYao Zi	cpus {
29*7983e6c3SYao Zi		#address-cells = <1>;
30*7983e6c3SYao Zi		#size-cells = <0>;
31*7983e6c3SYao Zi
32*7983e6c3SYao Zi		cpu-map {
33*7983e6c3SYao Zi			cluster0 {
34*7983e6c3SYao Zi				core0 {
35*7983e6c3SYao Zi					cpu = <&cpu0>;
36*7983e6c3SYao Zi				};
37*7983e6c3SYao Zi				core1 {
38*7983e6c3SYao Zi					cpu = <&cpu1>;
39*7983e6c3SYao Zi				};
40*7983e6c3SYao Zi				core2 {
41*7983e6c3SYao Zi					cpu = <&cpu2>;
42*7983e6c3SYao Zi				};
43*7983e6c3SYao Zi				core3 {
44*7983e6c3SYao Zi					cpu = <&cpu3>;
45*7983e6c3SYao Zi				};
46*7983e6c3SYao Zi			};
47*7983e6c3SYao Zi		};
48*7983e6c3SYao Zi
49*7983e6c3SYao Zi		cpu0: cpu@0 {
50*7983e6c3SYao Zi			compatible = "arm,cortex-a53";
51*7983e6c3SYao Zi			reg = <0x0>;
52*7983e6c3SYao Zi			device_type = "cpu";
53*7983e6c3SYao Zi			enable-method = "psci";
54*7983e6c3SYao Zi		};
55*7983e6c3SYao Zi
56*7983e6c3SYao Zi		cpu1: cpu@1 {
57*7983e6c3SYao Zi			compatible = "arm,cortex-a53";
58*7983e6c3SYao Zi			reg = <0x1>;
59*7983e6c3SYao Zi			device_type = "cpu";
60*7983e6c3SYao Zi			enable-method = "psci";
61*7983e6c3SYao Zi		};
62*7983e6c3SYao Zi
63*7983e6c3SYao Zi		cpu2: cpu@2 {
64*7983e6c3SYao Zi			compatible = "arm,cortex-a53";
65*7983e6c3SYao Zi			reg = <0x2>;
66*7983e6c3SYao Zi			device_type = "cpu";
67*7983e6c3SYao Zi			enable-method = "psci";
68*7983e6c3SYao Zi		};
69*7983e6c3SYao Zi
70*7983e6c3SYao Zi		cpu3: cpu@3 {
71*7983e6c3SYao Zi			compatible = "arm,cortex-a53";
72*7983e6c3SYao Zi			reg = <0x3>;
73*7983e6c3SYao Zi			device_type = "cpu";
74*7983e6c3SYao Zi			enable-method = "psci";
75*7983e6c3SYao Zi		};
76*7983e6c3SYao Zi	};
77*7983e6c3SYao Zi
78*7983e6c3SYao Zi	psci {
79*7983e6c3SYao Zi		compatible = "arm,psci-1.0", "arm,psci-0.2";
80*7983e6c3SYao Zi		method = "smc";
81*7983e6c3SYao Zi	};
82*7983e6c3SYao Zi
83*7983e6c3SYao Zi	timer {
84*7983e6c3SYao Zi		compatible = "arm,armv8-timer";
85*7983e6c3SYao Zi		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
86*7983e6c3SYao Zi			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
87*7983e6c3SYao Zi			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
88*7983e6c3SYao Zi			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
89*7983e6c3SYao Zi	};
90*7983e6c3SYao Zi
91*7983e6c3SYao Zi	xin24m: clock-xin24m {
92*7983e6c3SYao Zi		compatible = "fixed-clock";
93*7983e6c3SYao Zi		clock-frequency = <24000000>;
94*7983e6c3SYao Zi		clock-output-names = "xin24m";
95*7983e6c3SYao Zi		#clock-cells = <0>;
96*7983e6c3SYao Zi	};
97*7983e6c3SYao Zi
98*7983e6c3SYao Zi	soc {
99*7983e6c3SYao Zi		compatible = "simple-bus";
100*7983e6c3SYao Zi		ranges = <0x0 0xfe000000 0x0 0xfe000000 0x0 0x2000000>;
101*7983e6c3SYao Zi		#address-cells = <2>;
102*7983e6c3SYao Zi		#size-cells = <2>;
103*7983e6c3SYao Zi
104*7983e6c3SYao Zi		gic: interrupt-controller@fed01000 {
105*7983e6c3SYao Zi			compatible = "arm,gic-400";
106*7983e6c3SYao Zi			reg = <0x0 0xfed01000 0 0x1000>,
107*7983e6c3SYao Zi			      <0x0 0xfed02000 0 0x2000>,
108*7983e6c3SYao Zi			      <0x0 0xfed04000 0 0x2000>,
109*7983e6c3SYao Zi			      <0x0 0xfed06000 0 0x2000>;
110*7983e6c3SYao Zi			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) |
111*7983e6c3SYao Zi						 IRQ_TYPE_LEVEL_LOW)>;
112*7983e6c3SYao Zi			interrupt-controller;
113*7983e6c3SYao Zi			#address-cells = <0>;
114*7983e6c3SYao Zi			#interrupt-cells = <3>;
115*7983e6c3SYao Zi		};
116*7983e6c3SYao Zi
117*7983e6c3SYao Zi		uart0: serial@ff9f0000 {
118*7983e6c3SYao Zi			compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
119*7983e6c3SYao Zi			reg = <0x0 0xff9f0000 0x0 0x100>;
120*7983e6c3SYao Zi			clock-frequency = <24000000>;
121*7983e6c3SYao Zi			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
122*7983e6c3SYao Zi			reg-io-width = <4>;
123*7983e6c3SYao Zi			reg-shift = <2>;
124*7983e6c3SYao Zi			status = "disabled";
125*7983e6c3SYao Zi		};
126*7983e6c3SYao Zi
127*7983e6c3SYao Zi		uart1: serial@ff9f8000 {
128*7983e6c3SYao Zi			compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
129*7983e6c3SYao Zi			reg = <0x0 0xff9f8000 0x0 0x100>;
130*7983e6c3SYao Zi			interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
131*7983e6c3SYao Zi			reg-io-width = <4>;
132*7983e6c3SYao Zi			reg-shift = <2>;
133*7983e6c3SYao Zi			status = "disabled";
134*7983e6c3SYao Zi		};
135*7983e6c3SYao Zi
136*7983e6c3SYao Zi		uart2: serial@ffa00000 {
137*7983e6c3SYao Zi			compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
138*7983e6c3SYao Zi			reg = <0x0 0xffa00000 0x0 0x100>;
139*7983e6c3SYao Zi			interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
140*7983e6c3SYao Zi			reg-io-width = <4>;
141*7983e6c3SYao Zi			reg-shift = <2>;
142*7983e6c3SYao Zi			status = "disabled";
143*7983e6c3SYao Zi		};
144*7983e6c3SYao Zi
145*7983e6c3SYao Zi		uart3: serial@ffa08000 {
146*7983e6c3SYao Zi			compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
147*7983e6c3SYao Zi			reg = <0x0 0xffa08000 0x0 0x100>;
148*7983e6c3SYao Zi			reg-io-width = <4>;
149*7983e6c3SYao Zi			reg-shift = <2>;
150*7983e6c3SYao Zi			status = "disabled";
151*7983e6c3SYao Zi		};
152*7983e6c3SYao Zi
153*7983e6c3SYao Zi		uart4: serial@ffa10000 {
154*7983e6c3SYao Zi			compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
155*7983e6c3SYao Zi			reg = <0x0 0xffa10000 0x0 0x100>;
156*7983e6c3SYao Zi			interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
157*7983e6c3SYao Zi			reg-io-width = <4>;
158*7983e6c3SYao Zi			reg-shift = <2>;
159*7983e6c3SYao Zi			status = "disabled";
160*7983e6c3SYao Zi		};
161*7983e6c3SYao Zi
162*7983e6c3SYao Zi		uart5: serial@ffa18000 {
163*7983e6c3SYao Zi			compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
164*7983e6c3SYao Zi			reg = <0x0 0xffa18000 0x0 0x100>;
165*7983e6c3SYao Zi			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
166*7983e6c3SYao Zi			reg-io-width = <4>;
167*7983e6c3SYao Zi			reg-shift = <2>;
168*7983e6c3SYao Zi			status = "disabled";
169*7983e6c3SYao Zi		};
170*7983e6c3SYao Zi
171*7983e6c3SYao Zi		uart6: serial@ffa20000 {
172*7983e6c3SYao Zi			compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
173*7983e6c3SYao Zi			reg = <0x0 0xffa20000 0x0 0x100>;
174*7983e6c3SYao Zi			interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
175*7983e6c3SYao Zi			reg-io-width = <4>;
176*7983e6c3SYao Zi			reg-shift = <2>;
177*7983e6c3SYao Zi			status = "disabled";
178*7983e6c3SYao Zi		};
179*7983e6c3SYao Zi
180*7983e6c3SYao Zi		uart7: serial@ffa28000 {
181*7983e6c3SYao Zi			compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
182*7983e6c3SYao Zi			reg = <0x0 0xffa28000 0x0 0x100>;
183*7983e6c3SYao Zi			interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
184*7983e6c3SYao Zi			reg-io-width = <4>;
185*7983e6c3SYao Zi			reg-shift = <2>;
186*7983e6c3SYao Zi			status = "disabled";
187*7983e6c3SYao Zi		};
188*7983e6c3SYao Zi	};
189*7983e6c3SYao Zi};
190