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