xref: /openbmc/linux/arch/arm64/boot/dts/sprd/sharkl3.dtsi (revision 4b4193256c8d3bc3a5397b5cd9494c2ad386317d)
1f1da5ea6SChunyan Zhang// SPDX-License-Identifier: GPL-2.0-only
2f1da5ea6SChunyan Zhang/*
3f1da5ea6SChunyan Zhang * Unisoc Sharkl3 platform DTS file
4f1da5ea6SChunyan Zhang *
5f1da5ea6SChunyan Zhang * Copyright (C) 2019, Unisoc Inc.
6f1da5ea6SChunyan Zhang */
7f1da5ea6SChunyan Zhang
8f1da5ea6SChunyan Zhang/ {
9f1da5ea6SChunyan Zhang	interrupt-parent = <&gic>;
10f1da5ea6SChunyan Zhang	#address-cells = <2>;
11f1da5ea6SChunyan Zhang	#size-cells = <2>;
12f1da5ea6SChunyan Zhang
13f1da5ea6SChunyan Zhang	soc: soc {
14f1da5ea6SChunyan Zhang		compatible = "simple-bus";
15f1da5ea6SChunyan Zhang		#address-cells = <2>;
16f1da5ea6SChunyan Zhang		#size-cells = <2>;
17f1da5ea6SChunyan Zhang		ranges;
18f1da5ea6SChunyan Zhang
19*78efc019SChunyan Zhang		ap_ahb_regs: syscon@20e00000 {
20*78efc019SChunyan Zhang			compatible = "sprd,sc9863a-glbregs", "syscon",
21*78efc019SChunyan Zhang				     "simple-mfd";
22*78efc019SChunyan Zhang			reg = <0 0x20e00000 0 0x4000>;
23*78efc019SChunyan Zhang			#address-cells = <1>;
24*78efc019SChunyan Zhang			#size-cells = <1>;
25*78efc019SChunyan Zhang			ranges = <0 0 0x20e00000 0x4000>;
26*78efc019SChunyan Zhang
27*78efc019SChunyan Zhang			apahb_gate: apahb-gate {
28*78efc019SChunyan Zhang				compatible = "sprd,sc9863a-apahb-gate";
29*78efc019SChunyan Zhang				reg = <0x0 0x1020>;
30*78efc019SChunyan Zhang				#clock-cells = <1>;
31*78efc019SChunyan Zhang			};
32*78efc019SChunyan Zhang		};
33*78efc019SChunyan Zhang
34*78efc019SChunyan Zhang		pmu_regs: syscon@402b0000 {
35*78efc019SChunyan Zhang			compatible = "sprd,sc9863a-glbregs", "syscon",
36*78efc019SChunyan Zhang				     "simple-mfd";
37*78efc019SChunyan Zhang			reg = <0 0x402b0000 0 0x4000>;
38*78efc019SChunyan Zhang			#address-cells = <1>;
39*78efc019SChunyan Zhang			#size-cells = <1>;
40*78efc019SChunyan Zhang			ranges = <0 0 0x402b0000 0x4000>;
41*78efc019SChunyan Zhang
42*78efc019SChunyan Zhang			pmu_gate: pmu-gate {
43*78efc019SChunyan Zhang				compatible = "sprd,sc9863a-pmu-gate";
44*78efc019SChunyan Zhang				reg = <0 0x1200>;
45*78efc019SChunyan Zhang				clocks = <&ext_26m>;
46*78efc019SChunyan Zhang				clock-names = "ext-26m";
47*78efc019SChunyan Zhang				#clock-cells = <1>;
48*78efc019SChunyan Zhang			};
49*78efc019SChunyan Zhang		};
50*78efc019SChunyan Zhang
51*78efc019SChunyan Zhang		aon_apb_regs: syscon@402e0000 {
52*78efc019SChunyan Zhang			compatible = "sprd,sc9863a-glbregs", "syscon",
53*78efc019SChunyan Zhang				     "simple-mfd";
54*78efc019SChunyan Zhang			reg = <0 0x402e0000 0 0x4000>;
55*78efc019SChunyan Zhang			#address-cells = <1>;
56*78efc019SChunyan Zhang			#size-cells = <1>;
57*78efc019SChunyan Zhang			ranges = <0 0 0x402e0000 0x4000>;
58*78efc019SChunyan Zhang
59*78efc019SChunyan Zhang			aonapb_gate: aonapb-gate {
60*78efc019SChunyan Zhang				compatible = "sprd,sc9863a-aonapb-gate";
61*78efc019SChunyan Zhang				reg = <0 0x1100>;
62*78efc019SChunyan Zhang				#clock-cells = <1>;
63*78efc019SChunyan Zhang			};
64*78efc019SChunyan Zhang		};
65*78efc019SChunyan Zhang
66*78efc019SChunyan Zhang		anlg_phy_g2_regs: syscon@40353000 {
67*78efc019SChunyan Zhang			compatible = "sprd,sc9863a-glbregs", "syscon",
68*78efc019SChunyan Zhang				     "simple-mfd";
69*78efc019SChunyan Zhang			reg = <0 0x40353000 0 0x3000>;
70*78efc019SChunyan Zhang			#address-cells = <1>;
71*78efc019SChunyan Zhang			#size-cells = <1>;
72*78efc019SChunyan Zhang			ranges = <0 0 0x40353000 0x3000>;
73*78efc019SChunyan Zhang
74*78efc019SChunyan Zhang			pll: pll {
75*78efc019SChunyan Zhang				compatible = "sprd,sc9863a-pll";
76*78efc019SChunyan Zhang				reg = <0 0x100>;
77*78efc019SChunyan Zhang				clocks = <&ext_26m>;
78*78efc019SChunyan Zhang				clock-names = "ext-26m";
79*78efc019SChunyan Zhang				#clock-cells = <1>;
80*78efc019SChunyan Zhang			};
81*78efc019SChunyan Zhang		};
82*78efc019SChunyan Zhang
83*78efc019SChunyan Zhang		anlg_phy_g4_regs: syscon@40359000 {
84*78efc019SChunyan Zhang			compatible = "sprd,sc9863a-glbregs", "syscon",
85*78efc019SChunyan Zhang				     "simple-mfd";
86*78efc019SChunyan Zhang			reg = <0 0x40359000 0 0x3000>;
87*78efc019SChunyan Zhang			#address-cells = <1>;
88*78efc019SChunyan Zhang			#size-cells = <1>;
89*78efc019SChunyan Zhang			ranges = <0 0 0x40359000 0x3000>;
90*78efc019SChunyan Zhang
91*78efc019SChunyan Zhang			mpll: mpll {
92*78efc019SChunyan Zhang				compatible = "sprd,sc9863a-mpll";
93*78efc019SChunyan Zhang				reg = <0 0x100>;
94*78efc019SChunyan Zhang				#clock-cells = <1>;
95*78efc019SChunyan Zhang			};
96*78efc019SChunyan Zhang		};
97*78efc019SChunyan Zhang
98*78efc019SChunyan Zhang		anlg_phy_g5_regs: syscon@4035c000 {
99*78efc019SChunyan Zhang			compatible = "sprd,sc9863a-glbregs", "syscon",
100*78efc019SChunyan Zhang				     "simple-mfd";
101*78efc019SChunyan Zhang			reg = <0 0x4035c000 0 0x3000>;
102*78efc019SChunyan Zhang			#address-cells = <1>;
103*78efc019SChunyan Zhang			#size-cells = <1>;
104*78efc019SChunyan Zhang			ranges = <0 0 0x4035c000 0x3000>;
105*78efc019SChunyan Zhang
106*78efc019SChunyan Zhang			rpll: rpll {
107*78efc019SChunyan Zhang				compatible = "sprd,sc9863a-rpll";
108*78efc019SChunyan Zhang				reg = <0 0x100>;
109*78efc019SChunyan Zhang				clocks = <&ext_26m>;
110*78efc019SChunyan Zhang				clock-names = "ext-26m";
111*78efc019SChunyan Zhang				#clock-cells = <1>;
112*78efc019SChunyan Zhang			};
113*78efc019SChunyan Zhang		};
114*78efc019SChunyan Zhang
115*78efc019SChunyan Zhang		anlg_phy_g7_regs: syscon@40363000 {
116*78efc019SChunyan Zhang			compatible = "sprd,sc9863a-glbregs", "syscon",
117*78efc019SChunyan Zhang				     "simple-mfd";
118*78efc019SChunyan Zhang			reg = <0 0x40363000 0 0x3000>;
119*78efc019SChunyan Zhang			#address-cells = <1>;
120*78efc019SChunyan Zhang			#size-cells = <1>;
121*78efc019SChunyan Zhang			ranges = <0 0 0x40363000 0x3000>;
122*78efc019SChunyan Zhang
123*78efc019SChunyan Zhang			dpll: dpll {
124*78efc019SChunyan Zhang				compatible = "sprd,sc9863a-dpll";
125*78efc019SChunyan Zhang				reg = <0 0x100>;
126*78efc019SChunyan Zhang				#clock-cells = <1>;
127*78efc019SChunyan Zhang			};
128*78efc019SChunyan Zhang		};
129*78efc019SChunyan Zhang
130*78efc019SChunyan Zhang		mm_ahb_regs: syscon@60800000 {
131*78efc019SChunyan Zhang			compatible = "sprd,sc9863a-glbregs", "syscon",
132*78efc019SChunyan Zhang				     "simple-mfd";
133*78efc019SChunyan Zhang			reg = <0 0x60800000 0 0x1000>;
134*78efc019SChunyan Zhang			#address-cells = <1>;
135*78efc019SChunyan Zhang			#size-cells = <1>;
136*78efc019SChunyan Zhang			ranges = <0 0 0x60800000 0x3000>;
137*78efc019SChunyan Zhang
138*78efc019SChunyan Zhang			mm_gate: mm-gate {
139*78efc019SChunyan Zhang				compatible = "sprd,sc9863a-mm-gate";
140*78efc019SChunyan Zhang				reg = <0 0x1100>;
141*78efc019SChunyan Zhang				#clock-cells = <1>;
142*78efc019SChunyan Zhang			};
143*78efc019SChunyan Zhang		};
144*78efc019SChunyan Zhang
145*78efc019SChunyan Zhang		ap_apb_regs: syscon@71300000 {
146*78efc019SChunyan Zhang			compatible = "sprd,sc9863a-glbregs", "syscon",
147*78efc019SChunyan Zhang				     "simple-mfd";
148*78efc019SChunyan Zhang			reg = <0 0x71300000 0 0x4000>;
149*78efc019SChunyan Zhang			#address-cells = <1>;
150*78efc019SChunyan Zhang			#size-cells = <1>;
151*78efc019SChunyan Zhang			ranges = <0 0 0x71300000 0x4000>;
152*78efc019SChunyan Zhang
153*78efc019SChunyan Zhang			apapb_gate: apapb-gate {
154*78efc019SChunyan Zhang				compatible = "sprd,sc9863a-apapb-gate";
155*78efc019SChunyan Zhang				reg = <0 0x1000>;
156*78efc019SChunyan Zhang				clocks = <&ext_26m>;
157*78efc019SChunyan Zhang				clock-names = "ext-26m";
158*78efc019SChunyan Zhang				#clock-cells = <1>;
159*78efc019SChunyan Zhang			};
160*78efc019SChunyan Zhang		};
161*78efc019SChunyan Zhang
162f1da5ea6SChunyan Zhang		apb@70000000 {
163f1da5ea6SChunyan Zhang			compatible = "simple-bus";
164f1da5ea6SChunyan Zhang			#address-cells = <1>;
165f1da5ea6SChunyan Zhang			#size-cells = <1>;
166f1da5ea6SChunyan Zhang			ranges = <0 0x0 0x70000000 0x10000000>;
167f1da5ea6SChunyan Zhang
168f1da5ea6SChunyan Zhang			uart0: serial@0 {
169f1da5ea6SChunyan Zhang				compatible = "sprd,sc9863a-uart",
170f1da5ea6SChunyan Zhang					     "sprd,sc9836-uart";
171f1da5ea6SChunyan Zhang				reg = <0x0 0x100>;
172f1da5ea6SChunyan Zhang				interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
173f1da5ea6SChunyan Zhang				clocks = <&ext_26m>;
174f1da5ea6SChunyan Zhang				status = "disabled";
175f1da5ea6SChunyan Zhang			};
176f1da5ea6SChunyan Zhang
177f1da5ea6SChunyan Zhang			uart1: serial@100000 {
178f1da5ea6SChunyan Zhang				compatible = "sprd,sc9863a-uart",
179f1da5ea6SChunyan Zhang					     "sprd,sc9836-uart";
180f1da5ea6SChunyan Zhang				reg = <0x100000 0x100>;
181f1da5ea6SChunyan Zhang				interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
182f1da5ea6SChunyan Zhang				clocks = <&ext_26m>;
183f1da5ea6SChunyan Zhang				status = "disabled";
184f1da5ea6SChunyan Zhang			};
185f1da5ea6SChunyan Zhang
186f1da5ea6SChunyan Zhang			uart2: serial@200000 {
187f1da5ea6SChunyan Zhang				compatible = "sprd,sc9863a-uart",
188f1da5ea6SChunyan Zhang					     "sprd,sc9836-uart";
189f1da5ea6SChunyan Zhang				reg = <0x200000 0x100>;
190f1da5ea6SChunyan Zhang				interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
191f1da5ea6SChunyan Zhang				clocks = <&ext_26m>;
192f1da5ea6SChunyan Zhang				status = "disabled";
193f1da5ea6SChunyan Zhang			};
194f1da5ea6SChunyan Zhang
195f1da5ea6SChunyan Zhang			uart3: serial@300000 {
196f1da5ea6SChunyan Zhang				compatible = "sprd,sc9863a-uart",
197f1da5ea6SChunyan Zhang					     "sprd,sc9836-uart";
198f1da5ea6SChunyan Zhang				reg = <0x300000 0x100>;
199f1da5ea6SChunyan Zhang				interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
200f1da5ea6SChunyan Zhang				clocks = <&ext_26m>;
201f1da5ea6SChunyan Zhang				status = "disabled";
202f1da5ea6SChunyan Zhang			};
203f1da5ea6SChunyan Zhang
204f1da5ea6SChunyan Zhang			uart4: serial@400000 {
205f1da5ea6SChunyan Zhang				compatible = "sprd,sc9863a-uart",
206f1da5ea6SChunyan Zhang					     "sprd,sc9836-uart";
207f1da5ea6SChunyan Zhang				reg = <0x400000 0x100>;
208f1da5ea6SChunyan Zhang				interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
209f1da5ea6SChunyan Zhang				clocks = <&ext_26m>;
210f1da5ea6SChunyan Zhang				status = "disabled";
211f1da5ea6SChunyan Zhang			};
212f1da5ea6SChunyan Zhang		};
213f1da5ea6SChunyan Zhang	};
214f1da5ea6SChunyan Zhang
215f1da5ea6SChunyan Zhang	ext_26m: ext-26m {
216f1da5ea6SChunyan Zhang		compatible = "fixed-clock";
217f1da5ea6SChunyan Zhang		#clock-cells = <0>;
218f1da5ea6SChunyan Zhang		clock-frequency = <26000000>;
219f1da5ea6SChunyan Zhang		clock-output-names = "ext-26m";
220f1da5ea6SChunyan Zhang	};
221*78efc019SChunyan Zhang
222*78efc019SChunyan Zhang	ext_32k: ext-32k {
223*78efc019SChunyan Zhang		compatible = "fixed-clock";
224*78efc019SChunyan Zhang		#clock-cells = <0>;
225*78efc019SChunyan Zhang		clock-frequency = <32768>;
226*78efc019SChunyan Zhang		clock-output-names = "ext-32k";
227*78efc019SChunyan Zhang	};
228*78efc019SChunyan Zhang
229*78efc019SChunyan Zhang	ext_4m: ext-4m {
230*78efc019SChunyan Zhang		compatible = "fixed-clock";
231*78efc019SChunyan Zhang		#clock-cells = <0>;
232*78efc019SChunyan Zhang		clock-frequency = <4000000>;
233*78efc019SChunyan Zhang		clock-output-names = "ext-4m";
234*78efc019SChunyan Zhang	};
235*78efc019SChunyan Zhang
236*78efc019SChunyan Zhang	rco_100m: rco-100m {
237*78efc019SChunyan Zhang		compatible = "fixed-clock";
238*78efc019SChunyan Zhang		#clock-cells = <0>;
239*78efc019SChunyan Zhang		clock-frequency = <100000000>;
240*78efc019SChunyan Zhang		clock-output-names = "rco-100m";
241*78efc019SChunyan Zhang	};
242f1da5ea6SChunyan Zhang};
243