xref: /freebsd/sys/contrib/device-tree/src/arm64/hisilicon/hi3660.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * dts file for Hisilicon Hi3660 SoC
4c66ec88fSEmmanuel Vadot *
55956d97fSEmmanuel Vadot * Copyright (C) 2016, HiSilicon Ltd.
6c66ec88fSEmmanuel Vadot */
7c66ec88fSEmmanuel Vadot
8c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
9c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/hi3660-clock.h>
10c66ec88fSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadot/ {
13c66ec88fSEmmanuel Vadot	compatible = "hisilicon,hi3660";
14c66ec88fSEmmanuel Vadot	interrupt-parent = <&gic>;
15c66ec88fSEmmanuel Vadot	#address-cells = <2>;
16c66ec88fSEmmanuel Vadot	#size-cells = <2>;
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel Vadot	psci {
19c66ec88fSEmmanuel Vadot		compatible = "arm,psci-0.2";
20c66ec88fSEmmanuel Vadot		method = "smc";
21c66ec88fSEmmanuel Vadot	};
22c66ec88fSEmmanuel Vadot
23c66ec88fSEmmanuel Vadot	cpus {
24c66ec88fSEmmanuel Vadot		#address-cells = <2>;
25c66ec88fSEmmanuel Vadot		#size-cells = <0>;
26c66ec88fSEmmanuel Vadot
27c66ec88fSEmmanuel Vadot		cpu-map {
28c66ec88fSEmmanuel Vadot			cluster0 {
29c66ec88fSEmmanuel Vadot				core0 {
30c66ec88fSEmmanuel Vadot					cpu = <&cpu0>;
31c66ec88fSEmmanuel Vadot				};
32c66ec88fSEmmanuel Vadot				core1 {
33c66ec88fSEmmanuel Vadot					cpu = <&cpu1>;
34c66ec88fSEmmanuel Vadot				};
35c66ec88fSEmmanuel Vadot				core2 {
36c66ec88fSEmmanuel Vadot					cpu = <&cpu2>;
37c66ec88fSEmmanuel Vadot				};
38c66ec88fSEmmanuel Vadot				core3 {
39c66ec88fSEmmanuel Vadot					cpu = <&cpu3>;
40c66ec88fSEmmanuel Vadot				};
41c66ec88fSEmmanuel Vadot			};
42c66ec88fSEmmanuel Vadot			cluster1 {
43c66ec88fSEmmanuel Vadot				core0 {
44c66ec88fSEmmanuel Vadot					cpu = <&cpu4>;
45c66ec88fSEmmanuel Vadot				};
46c66ec88fSEmmanuel Vadot				core1 {
47c66ec88fSEmmanuel Vadot					cpu = <&cpu5>;
48c66ec88fSEmmanuel Vadot				};
49c66ec88fSEmmanuel Vadot				core2 {
50c66ec88fSEmmanuel Vadot					cpu = <&cpu6>;
51c66ec88fSEmmanuel Vadot				};
52c66ec88fSEmmanuel Vadot				core3 {
53c66ec88fSEmmanuel Vadot					cpu = <&cpu7>;
54c66ec88fSEmmanuel Vadot				};
55c66ec88fSEmmanuel Vadot			};
56c66ec88fSEmmanuel Vadot		};
57c66ec88fSEmmanuel Vadot
58c66ec88fSEmmanuel Vadot		cpu0: cpu@0 {
59c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
60c66ec88fSEmmanuel Vadot			device_type = "cpu";
61c66ec88fSEmmanuel Vadot			reg = <0x0 0x0>;
62c66ec88fSEmmanuel Vadot			enable-method = "psci";
63c66ec88fSEmmanuel Vadot			next-level-cache = <&A53_L2>;
64c66ec88fSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
65c66ec88fSEmmanuel Vadot			capacity-dmips-mhz = <592>;
66c66ec88fSEmmanuel Vadot			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER0>;
67c66ec88fSEmmanuel Vadot			operating-points-v2 = <&cluster0_opp>;
68c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
69c66ec88fSEmmanuel Vadot			dynamic-power-coefficient = <110>;
70c66ec88fSEmmanuel Vadot		};
71c66ec88fSEmmanuel Vadot
72c66ec88fSEmmanuel Vadot		cpu1: cpu@1 {
73c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
74c66ec88fSEmmanuel Vadot			device_type = "cpu";
75c66ec88fSEmmanuel Vadot			reg = <0x0 0x1>;
76c66ec88fSEmmanuel Vadot			enable-method = "psci";
77c66ec88fSEmmanuel Vadot			next-level-cache = <&A53_L2>;
78c66ec88fSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
79c66ec88fSEmmanuel Vadot			capacity-dmips-mhz = <592>;
80c66ec88fSEmmanuel Vadot			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER0>;
81c66ec88fSEmmanuel Vadot			operating-points-v2 = <&cluster0_opp>;
82c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
83c66ec88fSEmmanuel Vadot		};
84c66ec88fSEmmanuel Vadot
85c66ec88fSEmmanuel Vadot		cpu2: cpu@2 {
86c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
87c66ec88fSEmmanuel Vadot			device_type = "cpu";
88c66ec88fSEmmanuel Vadot			reg = <0x0 0x2>;
89c66ec88fSEmmanuel Vadot			enable-method = "psci";
90c66ec88fSEmmanuel Vadot			next-level-cache = <&A53_L2>;
91c66ec88fSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
92c66ec88fSEmmanuel Vadot			capacity-dmips-mhz = <592>;
93c66ec88fSEmmanuel Vadot			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER0>;
94c66ec88fSEmmanuel Vadot			operating-points-v2 = <&cluster0_opp>;
95c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
96c66ec88fSEmmanuel Vadot		};
97c66ec88fSEmmanuel Vadot
98c66ec88fSEmmanuel Vadot		cpu3: cpu@3 {
99c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
100c66ec88fSEmmanuel Vadot			device_type = "cpu";
101c66ec88fSEmmanuel Vadot			reg = <0x0 0x3>;
102c66ec88fSEmmanuel Vadot			enable-method = "psci";
103c66ec88fSEmmanuel Vadot			next-level-cache = <&A53_L2>;
104c66ec88fSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
105c66ec88fSEmmanuel Vadot			capacity-dmips-mhz = <592>;
106c66ec88fSEmmanuel Vadot			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER0>;
107c66ec88fSEmmanuel Vadot			operating-points-v2 = <&cluster0_opp>;
108c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
109c66ec88fSEmmanuel Vadot		};
110c66ec88fSEmmanuel Vadot
111c66ec88fSEmmanuel Vadot		cpu4: cpu@100 {
112c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a73";
113c66ec88fSEmmanuel Vadot			device_type = "cpu";
114c66ec88fSEmmanuel Vadot			reg = <0x0 0x100>;
115c66ec88fSEmmanuel Vadot			enable-method = "psci";
116c66ec88fSEmmanuel Vadot			next-level-cache = <&A73_L2>;
117c66ec88fSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_1>;
118c66ec88fSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
119c66ec88fSEmmanuel Vadot			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
120c66ec88fSEmmanuel Vadot			operating-points-v2 = <&cluster1_opp>;
121c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
122c66ec88fSEmmanuel Vadot			dynamic-power-coefficient = <550>;
123c66ec88fSEmmanuel Vadot		};
124c66ec88fSEmmanuel Vadot
125c66ec88fSEmmanuel Vadot		cpu5: cpu@101 {
126c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a73";
127c66ec88fSEmmanuel Vadot			device_type = "cpu";
128c66ec88fSEmmanuel Vadot			reg = <0x0 0x101>;
129c66ec88fSEmmanuel Vadot			enable-method = "psci";
130c66ec88fSEmmanuel Vadot			next-level-cache = <&A73_L2>;
131c66ec88fSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_1>;
132c66ec88fSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
133c66ec88fSEmmanuel Vadot			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
134c66ec88fSEmmanuel Vadot			operating-points-v2 = <&cluster1_opp>;
135c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
136c66ec88fSEmmanuel Vadot		};
137c66ec88fSEmmanuel Vadot
138c66ec88fSEmmanuel Vadot		cpu6: cpu@102 {
139c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a73";
140c66ec88fSEmmanuel Vadot			device_type = "cpu";
141c66ec88fSEmmanuel Vadot			reg = <0x0 0x102>;
142c66ec88fSEmmanuel Vadot			enable-method = "psci";
143c66ec88fSEmmanuel Vadot			next-level-cache = <&A73_L2>;
144c66ec88fSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_1>;
145c66ec88fSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
146c66ec88fSEmmanuel Vadot			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
147c66ec88fSEmmanuel Vadot			operating-points-v2 = <&cluster1_opp>;
148c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
149c66ec88fSEmmanuel Vadot		};
150c66ec88fSEmmanuel Vadot
151c66ec88fSEmmanuel Vadot		cpu7: cpu@103 {
152c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a73";
153c66ec88fSEmmanuel Vadot			device_type = "cpu";
154c66ec88fSEmmanuel Vadot			reg = <0x0 0x103>;
155c66ec88fSEmmanuel Vadot			enable-method = "psci";
156c66ec88fSEmmanuel Vadot			next-level-cache = <&A73_L2>;
157c66ec88fSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_1 &CLUSTER_SLEEP_1>;
158c66ec88fSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
159c66ec88fSEmmanuel Vadot			clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
160c66ec88fSEmmanuel Vadot			operating-points-v2 = <&cluster1_opp>;
161c66ec88fSEmmanuel Vadot			#cooling-cells = <2>;
162c66ec88fSEmmanuel Vadot		};
163c66ec88fSEmmanuel Vadot
164c66ec88fSEmmanuel Vadot		idle-states {
165c66ec88fSEmmanuel Vadot			entry-method = "psci";
166c66ec88fSEmmanuel Vadot
167c66ec88fSEmmanuel Vadot			CPU_SLEEP_0: cpu-sleep-0 {
168c66ec88fSEmmanuel Vadot				compatible = "arm,idle-state";
169c66ec88fSEmmanuel Vadot				local-timer-stop;
170c66ec88fSEmmanuel Vadot				arm,psci-suspend-param = <0x0010000>;
171c66ec88fSEmmanuel Vadot				entry-latency-us = <400>;
172c66ec88fSEmmanuel Vadot				exit-latency-us = <650>;
173c66ec88fSEmmanuel Vadot				min-residency-us = <1500>;
174c66ec88fSEmmanuel Vadot			};
175c66ec88fSEmmanuel Vadot			CLUSTER_SLEEP_0: cluster-sleep-0 {
176c66ec88fSEmmanuel Vadot				compatible = "arm,idle-state";
177c66ec88fSEmmanuel Vadot				local-timer-stop;
178c66ec88fSEmmanuel Vadot				arm,psci-suspend-param = <0x1010000>;
179c66ec88fSEmmanuel Vadot				entry-latency-us = <500>;
180c66ec88fSEmmanuel Vadot				exit-latency-us = <1600>;
181c66ec88fSEmmanuel Vadot				min-residency-us = <3500>;
182c66ec88fSEmmanuel Vadot			};
183c66ec88fSEmmanuel Vadot
184c66ec88fSEmmanuel Vadot
185c66ec88fSEmmanuel Vadot			CPU_SLEEP_1: cpu-sleep-1 {
186c66ec88fSEmmanuel Vadot				compatible = "arm,idle-state";
187c66ec88fSEmmanuel Vadot				local-timer-stop;
188c66ec88fSEmmanuel Vadot				arm,psci-suspend-param = <0x0010000>;
189c66ec88fSEmmanuel Vadot				entry-latency-us = <400>;
190c66ec88fSEmmanuel Vadot				exit-latency-us = <550>;
191c66ec88fSEmmanuel Vadot				min-residency-us = <1500>;
192c66ec88fSEmmanuel Vadot			};
193c66ec88fSEmmanuel Vadot
194c66ec88fSEmmanuel Vadot			CLUSTER_SLEEP_1: cluster-sleep-1 {
195c66ec88fSEmmanuel Vadot				compatible = "arm,idle-state";
196c66ec88fSEmmanuel Vadot				local-timer-stop;
197c66ec88fSEmmanuel Vadot				arm,psci-suspend-param = <0x1010000>;
198c66ec88fSEmmanuel Vadot				entry-latency-us = <800>;
199c66ec88fSEmmanuel Vadot				exit-latency-us = <2900>;
200c66ec88fSEmmanuel Vadot				min-residency-us = <3500>;
201c66ec88fSEmmanuel Vadot			};
202c66ec88fSEmmanuel Vadot		};
203c66ec88fSEmmanuel Vadot
204c66ec88fSEmmanuel Vadot		A53_L2: l2-cache0 {
205c66ec88fSEmmanuel Vadot			compatible = "cache";
2068bab661aSEmmanuel Vadot			cache-level = <2>;
207*f126890aSEmmanuel Vadot			cache-unified;
208c66ec88fSEmmanuel Vadot		};
209c66ec88fSEmmanuel Vadot
210c66ec88fSEmmanuel Vadot		A73_L2: l2-cache1 {
211c66ec88fSEmmanuel Vadot			compatible = "cache";
2128bab661aSEmmanuel Vadot			cache-level = <2>;
213*f126890aSEmmanuel Vadot			cache-unified;
214c66ec88fSEmmanuel Vadot		};
215c66ec88fSEmmanuel Vadot	};
216c66ec88fSEmmanuel Vadot
2178cc087a1SEmmanuel Vadot	cluster0_opp: opp-table-0 {
218c66ec88fSEmmanuel Vadot		compatible = "operating-points-v2";
219c66ec88fSEmmanuel Vadot		opp-shared;
220c66ec88fSEmmanuel Vadot
221c66ec88fSEmmanuel Vadot		opp00 {
222c66ec88fSEmmanuel Vadot			opp-hz = /bits/ 64 <533000000>;
223c66ec88fSEmmanuel Vadot			opp-microvolt = <700000>;
224c66ec88fSEmmanuel Vadot			clock-latency-ns = <300000>;
225c66ec88fSEmmanuel Vadot		};
226c66ec88fSEmmanuel Vadot
227c66ec88fSEmmanuel Vadot		opp01 {
228c66ec88fSEmmanuel Vadot			opp-hz = /bits/ 64 <999000000>;
229c66ec88fSEmmanuel Vadot			opp-microvolt = <800000>;
230c66ec88fSEmmanuel Vadot			clock-latency-ns = <300000>;
231c66ec88fSEmmanuel Vadot		};
232c66ec88fSEmmanuel Vadot
233c66ec88fSEmmanuel Vadot		opp02 {
234c66ec88fSEmmanuel Vadot			opp-hz = /bits/ 64 <1402000000>;
235c66ec88fSEmmanuel Vadot			opp-microvolt = <900000>;
236c66ec88fSEmmanuel Vadot			clock-latency-ns = <300000>;
237c66ec88fSEmmanuel Vadot		};
238c66ec88fSEmmanuel Vadot
239c66ec88fSEmmanuel Vadot		opp03 {
240c66ec88fSEmmanuel Vadot			opp-hz = /bits/ 64 <1709000000>;
241c66ec88fSEmmanuel Vadot			opp-microvolt = <1000000>;
242c66ec88fSEmmanuel Vadot			clock-latency-ns = <300000>;
243c66ec88fSEmmanuel Vadot		};
244c66ec88fSEmmanuel Vadot
245c66ec88fSEmmanuel Vadot		opp04 {
246c66ec88fSEmmanuel Vadot			opp-hz = /bits/ 64 <1844000000>;
247c66ec88fSEmmanuel Vadot			opp-microvolt = <1100000>;
248c66ec88fSEmmanuel Vadot			clock-latency-ns = <300000>;
249c66ec88fSEmmanuel Vadot		};
250c66ec88fSEmmanuel Vadot	};
251c66ec88fSEmmanuel Vadot
2528cc087a1SEmmanuel Vadot	cluster1_opp: opp-table-1 {
253c66ec88fSEmmanuel Vadot		compatible = "operating-points-v2";
254c66ec88fSEmmanuel Vadot		opp-shared;
255c66ec88fSEmmanuel Vadot
256c66ec88fSEmmanuel Vadot		opp10 {
257c66ec88fSEmmanuel Vadot			opp-hz = /bits/ 64 <903000000>;
258c66ec88fSEmmanuel Vadot			opp-microvolt = <700000>;
259c66ec88fSEmmanuel Vadot			clock-latency-ns = <300000>;
260c66ec88fSEmmanuel Vadot		};
261c66ec88fSEmmanuel Vadot
262c66ec88fSEmmanuel Vadot		opp11 {
263c66ec88fSEmmanuel Vadot			opp-hz = /bits/ 64 <1421000000>;
264c66ec88fSEmmanuel Vadot			opp-microvolt = <800000>;
265c66ec88fSEmmanuel Vadot			clock-latency-ns = <300000>;
266c66ec88fSEmmanuel Vadot		};
267c66ec88fSEmmanuel Vadot
268c66ec88fSEmmanuel Vadot		opp12 {
269c66ec88fSEmmanuel Vadot			opp-hz = /bits/ 64 <1805000000>;
270c66ec88fSEmmanuel Vadot			opp-microvolt = <900000>;
271c66ec88fSEmmanuel Vadot			clock-latency-ns = <300000>;
272c66ec88fSEmmanuel Vadot		};
273c66ec88fSEmmanuel Vadot
274c66ec88fSEmmanuel Vadot		opp13 {
275c66ec88fSEmmanuel Vadot			opp-hz = /bits/ 64 <2112000000>;
276c66ec88fSEmmanuel Vadot			opp-microvolt = <1000000>;
277c66ec88fSEmmanuel Vadot			clock-latency-ns = <300000>;
278c66ec88fSEmmanuel Vadot		};
279c66ec88fSEmmanuel Vadot
280c66ec88fSEmmanuel Vadot		opp14 {
281c66ec88fSEmmanuel Vadot			opp-hz = /bits/ 64 <2362000000>;
282c66ec88fSEmmanuel Vadot			opp-microvolt = <1100000>;
283c66ec88fSEmmanuel Vadot			clock-latency-ns = <300000>;
284c66ec88fSEmmanuel Vadot		};
285c66ec88fSEmmanuel Vadot	};
286c66ec88fSEmmanuel Vadot
287c66ec88fSEmmanuel Vadot	gic: interrupt-controller@e82b0000 {
288c66ec88fSEmmanuel Vadot		compatible = "arm,gic-400";
289c66ec88fSEmmanuel Vadot		reg = <0x0 0xe82b1000 0 0x1000>, /* GICD */
290c66ec88fSEmmanuel Vadot		      <0x0 0xe82b2000 0 0x2000>, /* GICC */
291c66ec88fSEmmanuel Vadot		      <0x0 0xe82b4000 0 0x2000>, /* GICH */
292c66ec88fSEmmanuel Vadot		      <0x0 0xe82b6000 0 0x2000>; /* GICV */
293c66ec88fSEmmanuel Vadot		#address-cells = <0>;
294c66ec88fSEmmanuel Vadot		#interrupt-cells = <3>;
295c66ec88fSEmmanuel Vadot		interrupt-controller;
296c66ec88fSEmmanuel Vadot		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
297c66ec88fSEmmanuel Vadot					 IRQ_TYPE_LEVEL_HIGH)>;
298c66ec88fSEmmanuel Vadot	};
299c66ec88fSEmmanuel Vadot
300c66ec88fSEmmanuel Vadot	a53-pmu {
301c66ec88fSEmmanuel Vadot		compatible = "arm,cortex-a53-pmu";
302c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
303c66ec88fSEmmanuel Vadot			     <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
304c66ec88fSEmmanuel Vadot			     <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
305c66ec88fSEmmanuel Vadot			     <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
306c66ec88fSEmmanuel Vadot		interrupt-affinity = <&cpu0>,
307c66ec88fSEmmanuel Vadot				     <&cpu1>,
308c66ec88fSEmmanuel Vadot				     <&cpu2>,
309c66ec88fSEmmanuel Vadot				     <&cpu3>;
310c66ec88fSEmmanuel Vadot	};
311c66ec88fSEmmanuel Vadot
312c66ec88fSEmmanuel Vadot	a73-pmu {
313c66ec88fSEmmanuel Vadot		compatible = "arm,cortex-a73-pmu";
314c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
315c66ec88fSEmmanuel Vadot			     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
316c66ec88fSEmmanuel Vadot			     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
317c66ec88fSEmmanuel Vadot			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
318c66ec88fSEmmanuel Vadot		interrupt-affinity = <&cpu4>,
319c66ec88fSEmmanuel Vadot				     <&cpu5>,
320c66ec88fSEmmanuel Vadot				     <&cpu6>,
321c66ec88fSEmmanuel Vadot				     <&cpu7>;
322c66ec88fSEmmanuel Vadot	};
323c66ec88fSEmmanuel Vadot
324c66ec88fSEmmanuel Vadot	timer {
325c66ec88fSEmmanuel Vadot		compatible = "arm,armv8-timer";
326c66ec88fSEmmanuel Vadot		interrupt-parent = <&gic>;
327c66ec88fSEmmanuel Vadot		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) |
328c66ec88fSEmmanuel Vadot					  IRQ_TYPE_LEVEL_LOW)>,
329c66ec88fSEmmanuel Vadot			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) |
330c66ec88fSEmmanuel Vadot					  IRQ_TYPE_LEVEL_LOW)>,
331c66ec88fSEmmanuel Vadot			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) |
332c66ec88fSEmmanuel Vadot					  IRQ_TYPE_LEVEL_LOW)>,
333c66ec88fSEmmanuel Vadot			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) |
334c66ec88fSEmmanuel Vadot					  IRQ_TYPE_LEVEL_LOW)>;
335c66ec88fSEmmanuel Vadot	};
336c66ec88fSEmmanuel Vadot
337c66ec88fSEmmanuel Vadot	soc {
338c66ec88fSEmmanuel Vadot		compatible = "simple-bus";
339c66ec88fSEmmanuel Vadot		#address-cells = <2>;
340c66ec88fSEmmanuel Vadot		#size-cells = <2>;
341c66ec88fSEmmanuel Vadot		ranges;
342c66ec88fSEmmanuel Vadot
343c66ec88fSEmmanuel Vadot		crg_ctrl: crg_ctrl@fff35000 {
344c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3660-crgctrl", "syscon";
345c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff35000 0x0 0x1000>;
346c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
347c66ec88fSEmmanuel Vadot		};
348c66ec88fSEmmanuel Vadot
349c66ec88fSEmmanuel Vadot		crg_rst: crg_rst_controller {
350c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3660-reset";
351c66ec88fSEmmanuel Vadot			#reset-cells = <2>;
352c66ec88fSEmmanuel Vadot			hisi,rst-syscon = <&crg_ctrl>;
353c66ec88fSEmmanuel Vadot		};
354c66ec88fSEmmanuel Vadot
355c66ec88fSEmmanuel Vadot
356c66ec88fSEmmanuel Vadot		pctrl: pctrl@e8a09000 {
357c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3660-pctrl", "syscon";
358c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a09000 0x0 0x2000>;
359c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
360c66ec88fSEmmanuel Vadot		};
361c66ec88fSEmmanuel Vadot
362c66ec88fSEmmanuel Vadot		pmuctrl: crg_ctrl@fff34000 {
363c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3660-pmuctrl", "syscon";
364c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff34000 0x0 0x1000>;
365c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
366c66ec88fSEmmanuel Vadot		};
367c66ec88fSEmmanuel Vadot
368c66ec88fSEmmanuel Vadot		sctrl: sctrl@fff0a000 {
369c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3660-sctrl", "syscon";
370c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff0a000 0x0 0x1000>;
371c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
372c66ec88fSEmmanuel Vadot		};
373c66ec88fSEmmanuel Vadot
374c66ec88fSEmmanuel Vadot		iomcu: iomcu@ffd7e000 {
375c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3660-iomcu", "syscon";
376c66ec88fSEmmanuel Vadot			reg = <0x0 0xffd7e000 0x0 0x1000>;
377c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
378c66ec88fSEmmanuel Vadot
379c66ec88fSEmmanuel Vadot		};
380c66ec88fSEmmanuel Vadot
381c66ec88fSEmmanuel Vadot		iomcu_rst: reset {
382c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3660-reset";
383c66ec88fSEmmanuel Vadot			hisi,rst-syscon = <&iomcu>;
384c66ec88fSEmmanuel Vadot			#reset-cells = <2>;
385c66ec88fSEmmanuel Vadot		};
386c66ec88fSEmmanuel Vadot
387c66ec88fSEmmanuel Vadot		mailbox: mailbox@e896b000 {
388c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3660-mbox";
389c66ec88fSEmmanuel Vadot			reg = <0x0 0xe896b000 0x0 0x1000>;
390c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
391c66ec88fSEmmanuel Vadot				     <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
392c66ec88fSEmmanuel Vadot			#mbox-cells = <3>;
393c66ec88fSEmmanuel Vadot		};
394c66ec88fSEmmanuel Vadot
395c66ec88fSEmmanuel Vadot		stub_clock: stub_clock@e896b500 {
396c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3660-stub-clk";
397c66ec88fSEmmanuel Vadot			reg = <0x0 0xe896b500 0x0 0x0100>;
398c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
399c66ec88fSEmmanuel Vadot			mboxes = <&mailbox 13 3 0>;
400c66ec88fSEmmanuel Vadot		};
401c66ec88fSEmmanuel Vadot
402c66ec88fSEmmanuel Vadot		dual_timer0: timer@fff14000 {
403c66ec88fSEmmanuel Vadot			compatible = "arm,sp804", "arm,primecell";
404c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff14000 0x0 0x1000>;
405c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
406c66ec88fSEmmanuel Vadot				     <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
407c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_OSC32K>,
408c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3660_OSC32K>,
409c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3660_OSC32K>;
410c66ec88fSEmmanuel Vadot			clock-names = "timer1", "timer2", "apb_pclk";
411c66ec88fSEmmanuel Vadot		};
412c66ec88fSEmmanuel Vadot
413c66ec88fSEmmanuel Vadot		i2c0: i2c@ffd71000 {
414c66ec88fSEmmanuel Vadot			compatible = "snps,designware-i2c";
415c66ec88fSEmmanuel Vadot			reg = <0x0 0xffd71000 0x0 0x1000>;
416c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
417c66ec88fSEmmanuel Vadot			#address-cells = <1>;
418c66ec88fSEmmanuel Vadot			#size-cells = <0>;
419c66ec88fSEmmanuel Vadot			clock-frequency = <400000>;
420c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_GATE_I2C0>;
421c66ec88fSEmmanuel Vadot			resets = <&iomcu_rst 0x20 3>;
422c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
423c66ec88fSEmmanuel Vadot			pinctrl-0 = <&i2c0_pmx_func &i2c0_cfg_func>;
424c66ec88fSEmmanuel Vadot			status = "disabled";
425c66ec88fSEmmanuel Vadot		};
426c66ec88fSEmmanuel Vadot
427c66ec88fSEmmanuel Vadot		i2c1: i2c@ffd72000 {
428c66ec88fSEmmanuel Vadot			compatible = "snps,designware-i2c";
429c66ec88fSEmmanuel Vadot			reg = <0x0 0xffd72000 0x0 0x1000>;
430c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
431c66ec88fSEmmanuel Vadot			#address-cells = <1>;
432c66ec88fSEmmanuel Vadot			#size-cells = <0>;
433c66ec88fSEmmanuel Vadot			clock-frequency = <400000>;
434c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_GATE_I2C1>;
435c66ec88fSEmmanuel Vadot			resets = <&iomcu_rst 0x20 4>;
436c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
437c66ec88fSEmmanuel Vadot			pinctrl-0 = <&i2c1_pmx_func &i2c1_cfg_func>;
438c66ec88fSEmmanuel Vadot			status = "disabled";
439c66ec88fSEmmanuel Vadot		};
440c66ec88fSEmmanuel Vadot
441c66ec88fSEmmanuel Vadot		i2c3: i2c@fdf0c000 {
442c66ec88fSEmmanuel Vadot			compatible = "snps,designware-i2c";
443c66ec88fSEmmanuel Vadot			reg = <0x0 0xfdf0c000 0x0 0x1000>;
444c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
445c66ec88fSEmmanuel Vadot			#address-cells = <1>;
446c66ec88fSEmmanuel Vadot			#size-cells = <0>;
447c66ec88fSEmmanuel Vadot			clock-frequency = <400000>;
448c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_GATE_I2C3>;
449c66ec88fSEmmanuel Vadot			resets = <&crg_rst 0x78 7>;
450c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
451c66ec88fSEmmanuel Vadot			pinctrl-0 = <&i2c3_pmx_func &i2c3_cfg_func>;
452c66ec88fSEmmanuel Vadot			status = "disabled";
453c66ec88fSEmmanuel Vadot		};
454c66ec88fSEmmanuel Vadot
455c66ec88fSEmmanuel Vadot		i2c7: i2c@fdf0b000 {
456c66ec88fSEmmanuel Vadot			compatible = "snps,designware-i2c";
457c66ec88fSEmmanuel Vadot			reg = <0x0 0xfdf0b000 0x0 0x1000>;
458c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>;
459c66ec88fSEmmanuel Vadot			#address-cells = <1>;
460c66ec88fSEmmanuel Vadot			#size-cells = <0>;
461c66ec88fSEmmanuel Vadot			clock-frequency = <400000>;
462c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_GATE_I2C7>;
463c66ec88fSEmmanuel Vadot			resets = <&crg_rst 0x60 14>;
464c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
465c66ec88fSEmmanuel Vadot			pinctrl-0 = <&i2c7_pmx_func &i2c7_cfg_func>;
466c66ec88fSEmmanuel Vadot			status = "disabled";
467c66ec88fSEmmanuel Vadot		};
468c66ec88fSEmmanuel Vadot
469c66ec88fSEmmanuel Vadot		uart0: serial@fdf02000 {
470c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
471c66ec88fSEmmanuel Vadot			reg = <0x0 0xfdf02000 0x0 0x1000>;
472c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
473c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_MUX_UART0>,
474c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3660_PCLK>;
475c66ec88fSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
476c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
477c66ec88fSEmmanuel Vadot			pinctrl-0 = <&uart0_pmx_func &uart0_cfg_func>;
478c66ec88fSEmmanuel Vadot			status = "disabled";
479c66ec88fSEmmanuel Vadot		};
480c66ec88fSEmmanuel Vadot
481c66ec88fSEmmanuel Vadot		uart1: serial@fdf00000 {
482c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
483c66ec88fSEmmanuel Vadot			reg = <0x0 0xfdf00000 0x0 0x1000>;
484c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
485c66ec88fSEmmanuel Vadot			dma-names = "rx", "tx";
486c66ec88fSEmmanuel Vadot			dmas = <&dma0 2 &dma0 3>;
487c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_GATE_UART1>,
488c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3660_CLK_GATE_UART1>;
489c66ec88fSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
490c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
491c66ec88fSEmmanuel Vadot			pinctrl-0 = <&uart1_pmx_func &uart1_cfg_func>;
492c66ec88fSEmmanuel Vadot			status = "disabled";
493c66ec88fSEmmanuel Vadot		};
494c66ec88fSEmmanuel Vadot
495c66ec88fSEmmanuel Vadot		uart2: serial@fdf03000 {
496c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
497c66ec88fSEmmanuel Vadot			reg = <0x0 0xfdf03000 0x0 0x1000>;
498c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
499c66ec88fSEmmanuel Vadot			dma-names = "rx", "tx";
500c66ec88fSEmmanuel Vadot			dmas = <&dma0 4 &dma0 5>;
501c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_GATE_UART2>,
502c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3660_PCLK>;
503c66ec88fSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
504c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
505c66ec88fSEmmanuel Vadot			pinctrl-0 = <&uart2_pmx_func &uart2_cfg_func>;
506c66ec88fSEmmanuel Vadot			status = "disabled";
507c66ec88fSEmmanuel Vadot		};
508c66ec88fSEmmanuel Vadot
509c66ec88fSEmmanuel Vadot		uart3: serial@ffd74000 {
510c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
511c66ec88fSEmmanuel Vadot			reg = <0x0 0xffd74000 0x0 0x1000>;
512c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
513c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_FACTOR_UART3>,
514c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3660_PCLK>;
515c66ec88fSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
516c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
517c66ec88fSEmmanuel Vadot			pinctrl-0 = <&uart3_pmx_func &uart3_cfg_func>;
518c66ec88fSEmmanuel Vadot			status = "disabled";
519c66ec88fSEmmanuel Vadot		};
520c66ec88fSEmmanuel Vadot
521c66ec88fSEmmanuel Vadot		uart4: serial@fdf01000 {
522c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
523c66ec88fSEmmanuel Vadot			reg = <0x0 0xfdf01000 0x0 0x1000>;
524c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
525c66ec88fSEmmanuel Vadot			dma-names = "rx", "tx";
526c66ec88fSEmmanuel Vadot			dmas = <&dma0 6 &dma0 7>;
527c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_GATE_UART4>,
528c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3660_CLK_GATE_UART4>;
529c66ec88fSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
530c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
531c66ec88fSEmmanuel Vadot			pinctrl-0 = <&uart4_pmx_func &uart4_cfg_func>;
532c66ec88fSEmmanuel Vadot			status = "disabled";
533c66ec88fSEmmanuel Vadot		};
534c66ec88fSEmmanuel Vadot
535c66ec88fSEmmanuel Vadot		uart5: serial@fdf05000 {
536c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
537c66ec88fSEmmanuel Vadot			reg = <0x0 0xfdf05000 0x0 0x1000>;
538c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
539c66ec88fSEmmanuel Vadot			dma-names = "rx", "tx";
540c66ec88fSEmmanuel Vadot			dmas = <&dma0 8 &dma0 9>;
541c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_GATE_UART5>,
542c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3660_CLK_GATE_UART5>;
543c66ec88fSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
544c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
545c66ec88fSEmmanuel Vadot			pinctrl-0 = <&uart5_pmx_func &uart5_cfg_func>;
546c66ec88fSEmmanuel Vadot			status = "disabled";
547c66ec88fSEmmanuel Vadot		};
548c66ec88fSEmmanuel Vadot
549c66ec88fSEmmanuel Vadot		uart6: serial@fff32000 {
550c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
551c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff32000 0x0 0x1000>;
552c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
553c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_UART6>,
554c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3660_PCLK>;
555c66ec88fSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
556c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
557c66ec88fSEmmanuel Vadot			pinctrl-0 = <&uart6_pmx_func &uart6_cfg_func>;
558c66ec88fSEmmanuel Vadot			status = "disabled";
559c66ec88fSEmmanuel Vadot		};
560c66ec88fSEmmanuel Vadot
561c66ec88fSEmmanuel Vadot		dma0: dma@fdf30000 {
562c66ec88fSEmmanuel Vadot			compatible = "hisilicon,k3-dma-1.0";
563c66ec88fSEmmanuel Vadot			reg = <0x0 0xfdf30000 0x0 0x1000>;
564c66ec88fSEmmanuel Vadot			#dma-cells = <1>;
565c66ec88fSEmmanuel Vadot			dma-channels = <16>;
566c66ec88fSEmmanuel Vadot			dma-requests = <32>;
567c66ec88fSEmmanuel Vadot			dma-channel-mask = <0xfffe>;
568c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
569c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_GATE_DMAC>;
570c66ec88fSEmmanuel Vadot			dma-no-cci;
571c66ec88fSEmmanuel Vadot			dma-type = "hi3660_dma";
572c66ec88fSEmmanuel Vadot		};
573c66ec88fSEmmanuel Vadot
574c66ec88fSEmmanuel Vadot		asp_dmac: dma-controller@e804b000 {
575c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hisi-pcm-asp-dma-1.0";
576c66ec88fSEmmanuel Vadot			reg = <0x0 0xe804b000 0x0 0x1000>;
577c66ec88fSEmmanuel Vadot			#dma-cells = <1>;
578c66ec88fSEmmanuel Vadot			dma-channels = <16>;
579c66ec88fSEmmanuel Vadot			dma-requests = <32>;
580c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
581c66ec88fSEmmanuel Vadot			interrupt-names = "asp_dma_irq";
582c66ec88fSEmmanuel Vadot		};
583c66ec88fSEmmanuel Vadot
584c66ec88fSEmmanuel Vadot		rtc0: rtc@fff04000 {
585c66ec88fSEmmanuel Vadot			compatible = "arm,pl031", "arm,primecell";
586c66ec88fSEmmanuel Vadot			reg = <0x0 0Xfff04000 0x0 0x1000>;
587c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
588c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK>;
589c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
590c66ec88fSEmmanuel Vadot		};
591c66ec88fSEmmanuel Vadot
592c66ec88fSEmmanuel Vadot		gpio0: gpio@e8a0b000 {
593c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
594c66ec88fSEmmanuel Vadot			reg = <0 0xe8a0b000 0 0x1000>;
595c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
596c66ec88fSEmmanuel Vadot			gpio-controller;
597c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
598c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 1 0 7>;
599c66ec88fSEmmanuel Vadot			interrupt-controller;
600c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
601c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO0>;
602c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
603c66ec88fSEmmanuel Vadot		};
604c66ec88fSEmmanuel Vadot
605c66ec88fSEmmanuel Vadot		gpio1: gpio@e8a0c000 {
606c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
607c66ec88fSEmmanuel Vadot			reg = <0 0xe8a0c000 0 0x1000>;
608c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
609c66ec88fSEmmanuel Vadot			gpio-controller;
610c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
611c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 1 7 7>;
612c66ec88fSEmmanuel Vadot			interrupt-controller;
613c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
614c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO1>;
615c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
616c66ec88fSEmmanuel Vadot		};
617c66ec88fSEmmanuel Vadot
618c66ec88fSEmmanuel Vadot		gpio2: gpio@e8a0d000 {
619c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
620c66ec88fSEmmanuel Vadot			reg = <0 0xe8a0d000 0 0x1000>;
621c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
622c66ec88fSEmmanuel Vadot			gpio-controller;
623c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
624c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 14 8>;
625c66ec88fSEmmanuel Vadot			interrupt-controller;
626c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
627c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO2>;
628c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
629c66ec88fSEmmanuel Vadot		};
630c66ec88fSEmmanuel Vadot
631c66ec88fSEmmanuel Vadot		gpio3: gpio@e8a0e000 {
632c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
633c66ec88fSEmmanuel Vadot			reg = <0 0xe8a0e000 0 0x1000>;
634c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
635c66ec88fSEmmanuel Vadot			gpio-controller;
636c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
637c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 22 8>;
638c66ec88fSEmmanuel Vadot			interrupt-controller;
639c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
640c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO3>;
641c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
642c66ec88fSEmmanuel Vadot		};
643c66ec88fSEmmanuel Vadot
644c66ec88fSEmmanuel Vadot		gpio4: gpio@e8a0f000 {
645c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
646c66ec88fSEmmanuel Vadot			reg = <0 0xe8a0f000 0 0x1000>;
647c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
648c66ec88fSEmmanuel Vadot			gpio-controller;
649c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
650c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 30 8>;
651c66ec88fSEmmanuel Vadot			interrupt-controller;
652c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
653c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO4>;
654c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
655c66ec88fSEmmanuel Vadot		};
656c66ec88fSEmmanuel Vadot
657c66ec88fSEmmanuel Vadot		gpio5: gpio@e8a10000 {
658c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
659c66ec88fSEmmanuel Vadot			reg = <0 0xe8a10000 0 0x1000>;
660c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
661c66ec88fSEmmanuel Vadot			gpio-controller;
662c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
663c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 38 8>;
664c66ec88fSEmmanuel Vadot			interrupt-controller;
665c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
666c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO5>;
667c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
668c66ec88fSEmmanuel Vadot		};
669c66ec88fSEmmanuel Vadot
670c66ec88fSEmmanuel Vadot		gpio6: gpio@e8a11000 {
671c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
672c66ec88fSEmmanuel Vadot			reg = <0 0xe8a11000 0 0x1000>;
673c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
674c66ec88fSEmmanuel Vadot			gpio-controller;
675c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
676c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 46 8>;
677c66ec88fSEmmanuel Vadot			interrupt-controller;
678c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
679c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO6>;
680c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
681c66ec88fSEmmanuel Vadot		};
682c66ec88fSEmmanuel Vadot
683c66ec88fSEmmanuel Vadot		gpio7: gpio@e8a12000 {
684c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
685c66ec88fSEmmanuel Vadot			reg = <0 0xe8a12000 0 0x1000>;
686c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
687c66ec88fSEmmanuel Vadot			gpio-controller;
688c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
689c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 54 8>;
690c66ec88fSEmmanuel Vadot			interrupt-controller;
691c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
692c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO7>;
693c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
694c66ec88fSEmmanuel Vadot		};
695c66ec88fSEmmanuel Vadot
696c66ec88fSEmmanuel Vadot		gpio8: gpio@e8a13000 {
697c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
698c66ec88fSEmmanuel Vadot			reg = <0 0xe8a13000 0 0x1000>;
699c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
700c66ec88fSEmmanuel Vadot			gpio-controller;
701c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
702c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 62 8>;
703c66ec88fSEmmanuel Vadot			interrupt-controller;
704c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
705c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO8>;
706c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
707c66ec88fSEmmanuel Vadot		};
708c66ec88fSEmmanuel Vadot
709c66ec88fSEmmanuel Vadot		gpio9: gpio@e8a14000 {
710c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
711c66ec88fSEmmanuel Vadot			reg = <0 0xe8a14000 0 0x1000>;
712c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
713c66ec88fSEmmanuel Vadot			gpio-controller;
714c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
715c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 70 8>;
716c66ec88fSEmmanuel Vadot			interrupt-controller;
717c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
718c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO9>;
719c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
720c66ec88fSEmmanuel Vadot		};
721c66ec88fSEmmanuel Vadot
722c66ec88fSEmmanuel Vadot		gpio10: gpio@e8a15000 {
723c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
724c66ec88fSEmmanuel Vadot			reg = <0 0xe8a15000 0 0x1000>;
725c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
726c66ec88fSEmmanuel Vadot			gpio-controller;
727c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
728c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 78 8>;
729c66ec88fSEmmanuel Vadot			interrupt-controller;
730c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
731c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO10>;
732c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
733c66ec88fSEmmanuel Vadot		};
734c66ec88fSEmmanuel Vadot
735c66ec88fSEmmanuel Vadot		gpio11: gpio@e8a16000 {
736c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
737c66ec88fSEmmanuel Vadot			reg = <0 0xe8a16000 0 0x1000>;
738c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
739c66ec88fSEmmanuel Vadot			gpio-controller;
740c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
741c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 86 8>;
742c66ec88fSEmmanuel Vadot			interrupt-controller;
743c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
744c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO11>;
745c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
746c66ec88fSEmmanuel Vadot		};
747c66ec88fSEmmanuel Vadot
748c66ec88fSEmmanuel Vadot		gpio12: gpio@e8a17000 {
749c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
750c66ec88fSEmmanuel Vadot			reg = <0 0xe8a17000 0 0x1000>;
751c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
752c66ec88fSEmmanuel Vadot			gpio-controller;
753c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
754c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 94 3 &pmx0 7 101 1>;
755c66ec88fSEmmanuel Vadot			interrupt-controller;
756c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
757c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO12>;
758c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
759c66ec88fSEmmanuel Vadot		};
760c66ec88fSEmmanuel Vadot
761c66ec88fSEmmanuel Vadot		gpio13: gpio@e8a18000 {
762c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
763c66ec88fSEmmanuel Vadot			reg = <0 0xe8a18000 0 0x1000>;
764c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
765c66ec88fSEmmanuel Vadot			gpio-controller;
766c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
767c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 102 8>;
768c66ec88fSEmmanuel Vadot			interrupt-controller;
769c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
770c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO13>;
771c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
772c66ec88fSEmmanuel Vadot		};
773c66ec88fSEmmanuel Vadot
774c66ec88fSEmmanuel Vadot		gpio14: gpio@e8a19000 {
775c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
776c66ec88fSEmmanuel Vadot			reg = <0 0xe8a19000 0 0x1000>;
777c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
778c66ec88fSEmmanuel Vadot			gpio-controller;
779c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
780c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 110 8>;
781c66ec88fSEmmanuel Vadot			interrupt-controller;
782c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
783c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO14>;
784c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
785c66ec88fSEmmanuel Vadot		};
786c66ec88fSEmmanuel Vadot
787c66ec88fSEmmanuel Vadot		gpio15: gpio@e8a1a000 {
788c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
789c66ec88fSEmmanuel Vadot			reg = <0 0xe8a1a000 0 0x1000>;
790c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
791c66ec88fSEmmanuel Vadot			gpio-controller;
792c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
793c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 118 6>;
794c66ec88fSEmmanuel Vadot			interrupt-controller;
795c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
796c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO15>;
797c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
798c66ec88fSEmmanuel Vadot		};
799c66ec88fSEmmanuel Vadot
800c66ec88fSEmmanuel Vadot		gpio16: gpio@e8a1b000 {
801c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
802c66ec88fSEmmanuel Vadot			reg = <0 0xe8a1b000 0 0x1000>;
803c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
804c66ec88fSEmmanuel Vadot			gpio-controller;
805c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
806c66ec88fSEmmanuel Vadot			interrupt-controller;
807c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
808c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO16>;
809c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
810c66ec88fSEmmanuel Vadot		};
811c66ec88fSEmmanuel Vadot
812c66ec88fSEmmanuel Vadot		gpio17: gpio@e8a1c000 {
813c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
814c66ec88fSEmmanuel Vadot			reg = <0 0xe8a1c000 0 0x1000>;
815c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
816c66ec88fSEmmanuel Vadot			gpio-controller;
817c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
818c66ec88fSEmmanuel Vadot			interrupt-controller;
819c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
820c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO17>;
821c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
822c66ec88fSEmmanuel Vadot		};
823c66ec88fSEmmanuel Vadot
824c66ec88fSEmmanuel Vadot		gpio18: gpio@ff3b4000 {
825c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
826c66ec88fSEmmanuel Vadot			reg = <0 0xff3b4000 0 0x1000>;
827c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
828c66ec88fSEmmanuel Vadot			gpio-controller;
829c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
830c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx2 0 0 8>;
831c66ec88fSEmmanuel Vadot			interrupt-controller;
832c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
833c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO18>;
834c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
835c66ec88fSEmmanuel Vadot		};
836c66ec88fSEmmanuel Vadot
837c66ec88fSEmmanuel Vadot		gpio19: gpio@ff3b5000 {
838c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
839c66ec88fSEmmanuel Vadot			reg = <0 0xff3b5000 0 0x1000>;
840c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
841c66ec88fSEmmanuel Vadot			gpio-controller;
842c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
843c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx2 0 8 4>;
844c66ec88fSEmmanuel Vadot			interrupt-controller;
845c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
846c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO19>;
847c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
848c66ec88fSEmmanuel Vadot		};
849c66ec88fSEmmanuel Vadot
850c66ec88fSEmmanuel Vadot		gpio20: gpio@e8a1f000 {
851c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
852c66ec88fSEmmanuel Vadot			reg = <0 0xe8a1f000 0 0x1000>;
853c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
854c66ec88fSEmmanuel Vadot			gpio-controller;
855c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
856c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx1 0 0 6>;
857c66ec88fSEmmanuel Vadot			interrupt-controller;
858c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
859c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO20>;
860c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
861c66ec88fSEmmanuel Vadot		};
862c66ec88fSEmmanuel Vadot
863c66ec88fSEmmanuel Vadot		gpio21: gpio@e8a20000 {
864c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
865c66ec88fSEmmanuel Vadot			reg = <0 0xe8a20000 0 0x1000>;
866c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
867c66ec88fSEmmanuel Vadot			gpio-controller;
868c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
869c66ec88fSEmmanuel Vadot			interrupt-controller;
870c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
871c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx3 0 0 6>;
872c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCLK_GPIO21>;
873c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
874c66ec88fSEmmanuel Vadot		};
875c66ec88fSEmmanuel Vadot
876c66ec88fSEmmanuel Vadot		gpio22: gpio@fff0b000 {
877c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
878c66ec88fSEmmanuel Vadot			reg = <0 0xfff0b000 0 0x1000>;
879c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
880c66ec88fSEmmanuel Vadot			gpio-controller;
881c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
882c66ec88fSEmmanuel Vadot			/* GPIO176 */
883c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx4 2 0 6>;
884c66ec88fSEmmanuel Vadot			interrupt-controller;
885c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
886c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3660_PCLK_AO_GPIO0>;
887c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
888c66ec88fSEmmanuel Vadot		};
889c66ec88fSEmmanuel Vadot
890c66ec88fSEmmanuel Vadot		gpio23: gpio@fff0c000 {
891c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
892c66ec88fSEmmanuel Vadot			reg = <0 0xfff0c000 0 0x1000>;
893c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
894c66ec88fSEmmanuel Vadot			gpio-controller;
895c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
896c66ec88fSEmmanuel Vadot			/* GPIO184 */
897c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx4 0 6 7>;
898c66ec88fSEmmanuel Vadot			interrupt-controller;
899c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
900c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3660_PCLK_AO_GPIO1>;
901c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
902c66ec88fSEmmanuel Vadot		};
903c66ec88fSEmmanuel Vadot
904c66ec88fSEmmanuel Vadot		gpio24: gpio@fff0d000 {
905c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
906c66ec88fSEmmanuel Vadot			reg = <0 0xfff0d000 0 0x1000>;
907c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
908c66ec88fSEmmanuel Vadot			gpio-controller;
909c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
910c66ec88fSEmmanuel Vadot			/* GPIO192 */
911c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx4 0 13 8>;
912c66ec88fSEmmanuel Vadot			interrupt-controller;
913c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
914c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3660_PCLK_AO_GPIO2>;
915c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
916c66ec88fSEmmanuel Vadot		};
917c66ec88fSEmmanuel Vadot
918c66ec88fSEmmanuel Vadot		gpio25: gpio@fff0e000 {
919c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
920c66ec88fSEmmanuel Vadot			reg = <0 0xfff0e000 0 0x1000>;
921c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
922c66ec88fSEmmanuel Vadot			gpio-controller;
923c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
924c66ec88fSEmmanuel Vadot			/* GPIO200 */
925c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx4 0 21 4 &pmx4 5 25 3>;
926c66ec88fSEmmanuel Vadot			interrupt-controller;
927c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
928c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3660_PCLK_AO_GPIO3>;
929c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
930c66ec88fSEmmanuel Vadot		};
931c66ec88fSEmmanuel Vadot
932c66ec88fSEmmanuel Vadot		gpio26: gpio@fff0f000 {
933c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
934c66ec88fSEmmanuel Vadot			reg = <0 0xfff0f000 0 0x1000>;
935c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
936c66ec88fSEmmanuel Vadot			gpio-controller;
937c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
938c66ec88fSEmmanuel Vadot			/* GPIO208 */
939c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx4 0 28 8>;
940c66ec88fSEmmanuel Vadot			interrupt-controller;
941c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
942c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3660_PCLK_AO_GPIO4>;
943c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
944c66ec88fSEmmanuel Vadot		};
945c66ec88fSEmmanuel Vadot
946c66ec88fSEmmanuel Vadot		gpio27: gpio@fff10000 {
947c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
948c66ec88fSEmmanuel Vadot			reg = <0 0xfff10000 0 0x1000>;
949c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
950c66ec88fSEmmanuel Vadot			gpio-controller;
951c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
952c66ec88fSEmmanuel Vadot			/* GPIO216 */
953c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx4 0 36 6>;
954c66ec88fSEmmanuel Vadot			interrupt-controller;
955c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
956c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3660_PCLK_AO_GPIO5>;
957c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
958c66ec88fSEmmanuel Vadot		};
959c66ec88fSEmmanuel Vadot
960c66ec88fSEmmanuel Vadot		gpio28: gpio@fff1d000 {
961c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
962c66ec88fSEmmanuel Vadot			reg = <0 0xfff1d000 0 0x1000>;
963c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
964c66ec88fSEmmanuel Vadot			gpio-controller;
965c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
966c66ec88fSEmmanuel Vadot			interrupt-controller;
967c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
968c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3660_PCLK_AO_GPIO6>;
969c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
970c66ec88fSEmmanuel Vadot		};
971c66ec88fSEmmanuel Vadot
972c66ec88fSEmmanuel Vadot		spi2: spi@ffd68000 {
973c66ec88fSEmmanuel Vadot			compatible = "arm,pl022", "arm,primecell";
974c66ec88fSEmmanuel Vadot			reg = <0x0 0xffd68000 0x0 0x1000>;
975c66ec88fSEmmanuel Vadot			#address-cells = <1>;
976c66ec88fSEmmanuel Vadot			#size-cells = <0>;
977c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
9785def4c47SEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_GATE_SPI2>, <&crg_ctrl HI3660_CLK_GATE_SPI2>;
9795def4c47SEmmanuel Vadot			clock-names = "sspclk", "apb_pclk";
980c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
981c66ec88fSEmmanuel Vadot			pinctrl-0 = <&spi2_pmx_func &spi2_cfg_func>;
982c66ec88fSEmmanuel Vadot			num-cs = <1>;
983c66ec88fSEmmanuel Vadot			cs-gpios = <&gpio27 2 0>;
984c66ec88fSEmmanuel Vadot			status = "disabled";
985c66ec88fSEmmanuel Vadot		};
986c66ec88fSEmmanuel Vadot
987c66ec88fSEmmanuel Vadot		spi3: spi@ff3b3000 {
988c66ec88fSEmmanuel Vadot			compatible = "arm,pl022", "arm,primecell";
989c66ec88fSEmmanuel Vadot			reg = <0x0 0xff3b3000 0x0 0x1000>;
990c66ec88fSEmmanuel Vadot			#address-cells = <1>;
991c66ec88fSEmmanuel Vadot			#size-cells = <0>;
992c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>;
9935def4c47SEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_GATE_SPI3>, <&crg_ctrl HI3660_CLK_GATE_SPI3>;
9945def4c47SEmmanuel Vadot			clock-names = "sspclk", "apb_pclk";
995c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
996c66ec88fSEmmanuel Vadot			pinctrl-0 = <&spi3_pmx_func &spi3_cfg_func>;
997c66ec88fSEmmanuel Vadot			num-cs = <1>;
998c66ec88fSEmmanuel Vadot			cs-gpios = <&gpio18 5 0>;
999c66ec88fSEmmanuel Vadot			status = "disabled";
1000c66ec88fSEmmanuel Vadot		};
1001c66ec88fSEmmanuel Vadot
1002c66ec88fSEmmanuel Vadot		pcie@f4000000 {
1003c66ec88fSEmmanuel Vadot			compatible = "hisilicon,kirin960-pcie";
1004c66ec88fSEmmanuel Vadot			reg = <0x0 0xf4000000 0x0 0x1000>,
1005c66ec88fSEmmanuel Vadot			      <0x0 0xff3fe000 0x0 0x1000>,
1006c66ec88fSEmmanuel Vadot			      <0x0 0xf3f20000 0x0 0x40000>,
1007c66ec88fSEmmanuel Vadot			      <0x0 0xf5000000 0x0 0x2000>;
1008c66ec88fSEmmanuel Vadot			reg-names = "dbi", "apb", "phy", "config";
1009354d7675SEmmanuel Vadot			bus-range = <0x0 0xff>;
1010c66ec88fSEmmanuel Vadot			#address-cells = <3>;
1011c66ec88fSEmmanuel Vadot			#size-cells = <2>;
1012c66ec88fSEmmanuel Vadot			device_type = "pci";
1013c66ec88fSEmmanuel Vadot			ranges = <0x02000000 0x0 0x00000000
1014c66ec88fSEmmanuel Vadot				  0x0 0xf6000000
1015c66ec88fSEmmanuel Vadot				  0x0 0x02000000>;
1016c66ec88fSEmmanuel Vadot			num-lanes = <1>;
1017c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
1018c66ec88fSEmmanuel Vadot			interrupts = <0 283 4>;
1019c66ec88fSEmmanuel Vadot			interrupt-names = "msi";
1020c66ec88fSEmmanuel Vadot			interrupt-map-mask = <0xf800 0 0 7>;
1021c66ec88fSEmmanuel Vadot			interrupt-map = <0x0 0 0 1
1022c66ec88fSEmmanuel Vadot					 &gic GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
1023c66ec88fSEmmanuel Vadot					<0x0 0 0 2
1024c66ec88fSEmmanuel Vadot					 &gic GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
1025c66ec88fSEmmanuel Vadot					<0x0 0 0 3
1026c66ec88fSEmmanuel Vadot					 &gic GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
1027c66ec88fSEmmanuel Vadot					<0x0 0 0 4
1028c66ec88fSEmmanuel Vadot					 &gic GIC_SPI 285 IRQ_TYPE_LEVEL_HIGH>;
1029c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_PCIEPHY_REF>,
1030c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3660_CLK_GATE_PCIEAUX>,
1031c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3660_PCLK_GATE_PCIE_PHY>,
1032c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3660_PCLK_GATE_PCIE_SYS>,
1033c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3660_ACLK_GATE_PCIE>;
1034c66ec88fSEmmanuel Vadot			clock-names = "pcie_phy_ref", "pcie_aux",
1035c66ec88fSEmmanuel Vadot				      "pcie_apb_phy", "pcie_apb_sys",
1036c66ec88fSEmmanuel Vadot				      "pcie_aclk";
1037c66ec88fSEmmanuel Vadot			reset-gpios = <&gpio11 1 0 >;
1038c66ec88fSEmmanuel Vadot		};
1039c66ec88fSEmmanuel Vadot
1040c66ec88fSEmmanuel Vadot		/* UFS */
1041c66ec88fSEmmanuel Vadot		ufs: ufs@ff3b0000 {
1042c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3660-ufs", "jedec,ufs-1.1";
1043c66ec88fSEmmanuel Vadot			/* 0: HCI standard */
1044c66ec88fSEmmanuel Vadot			/* 1: UFS SYS CTRL */
1045c66ec88fSEmmanuel Vadot			reg = <0x0 0xff3b0000 0x0 0x1000>,
1046c66ec88fSEmmanuel Vadot				<0x0 0xff3b1000 0x0 0x1000>;
1047c66ec88fSEmmanuel Vadot			interrupt-parent = <&gic>;
1048c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>;
1049c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_GATE_UFSIO_REF>,
1050c66ec88fSEmmanuel Vadot				<&crg_ctrl HI3660_CLK_GATE_UFSPHY_CFG>;
1051c66ec88fSEmmanuel Vadot			clock-names = "ref_clk", "phy_clk";
1052d5b0e70fSEmmanuel Vadot			freq-table-hz = <0 0>,
1053d5b0e70fSEmmanuel Vadot					<0 0>;
1054c66ec88fSEmmanuel Vadot			/* offset: 0x84; bit: 12 */
1055c66ec88fSEmmanuel Vadot			resets = <&crg_rst 0x84 12>;
1056c66ec88fSEmmanuel Vadot			reset-names = "rst";
1057c66ec88fSEmmanuel Vadot		};
1058c66ec88fSEmmanuel Vadot
1059c66ec88fSEmmanuel Vadot		/* SD */
1060c66ec88fSEmmanuel Vadot		dwmmc1: dwmmc1@ff37f000 {
1061c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3660-dw-mshc";
1062c66ec88fSEmmanuel Vadot			reg = <0x0 0xff37f000 0x0 0x1000>;
1063c66ec88fSEmmanuel Vadot			#address-cells = <1>;
1064c66ec88fSEmmanuel Vadot			#size-cells = <0>;
1065c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
1066c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_GATE_SD>,
1067c66ec88fSEmmanuel Vadot				<&crg_ctrl HI3660_HCLK_GATE_SD>;
1068c66ec88fSEmmanuel Vadot			clock-names = "ciu", "biu";
1069c66ec88fSEmmanuel Vadot			clock-frequency = <3200000>;
1070c66ec88fSEmmanuel Vadot			resets = <&crg_rst 0x94 18>;
1071c66ec88fSEmmanuel Vadot			reset-names = "reset";
1072c66ec88fSEmmanuel Vadot			hisilicon,peripheral-syscon = <&sctrl>;
1073c66ec88fSEmmanuel Vadot			card-detect-delay = <200>;
1074c66ec88fSEmmanuel Vadot			status = "disabled";
1075c66ec88fSEmmanuel Vadot		};
1076c66ec88fSEmmanuel Vadot
1077c66ec88fSEmmanuel Vadot		/* SDIO */
1078c66ec88fSEmmanuel Vadot		dwmmc2: dwmmc2@ff3ff000 {
1079c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3660-dw-mshc";
1080c66ec88fSEmmanuel Vadot			reg = <0x0 0xff3ff000 0x0 0x1000>;
1081c66ec88fSEmmanuel Vadot			#address-cells = <0x1>;
1082c66ec88fSEmmanuel Vadot			#size-cells = <0x0>;
1083c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
1084c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_GATE_SDIO0>,
1085c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3660_HCLK_GATE_SDIO0>;
1086c66ec88fSEmmanuel Vadot			clock-names = "ciu", "biu";
1087c66ec88fSEmmanuel Vadot			resets = <&crg_rst 0x94 20>;
1088c66ec88fSEmmanuel Vadot			reset-names = "reset";
1089c66ec88fSEmmanuel Vadot			card-detect-delay = <200>;
1090c66ec88fSEmmanuel Vadot			status = "disabled";
1091c66ec88fSEmmanuel Vadot		};
1092c66ec88fSEmmanuel Vadot
1093c66ec88fSEmmanuel Vadot		watchdog0: watchdog@e8a06000 {
10948cc087a1SEmmanuel Vadot			compatible = "arm,sp805", "arm,primecell";
1095c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a06000 0x0 0x1000>;
1096c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
10976be33864SEmmanuel Vadot			clocks = <&crg_ctrl HI3660_OSC32K>,
10986be33864SEmmanuel Vadot				 <&crg_ctrl HI3660_OSC32K>;
10996be33864SEmmanuel Vadot			clock-names = "wdog_clk", "apb_pclk";
1100c66ec88fSEmmanuel Vadot		};
1101c66ec88fSEmmanuel Vadot
1102c66ec88fSEmmanuel Vadot		watchdog1: watchdog@e8a07000 {
11038cc087a1SEmmanuel Vadot			compatible = "arm,sp805", "arm,primecell";
1104c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a07000 0x0 0x1000>;
1105c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
11066be33864SEmmanuel Vadot			clocks = <&crg_ctrl HI3660_OSC32K>,
11076be33864SEmmanuel Vadot				 <&crg_ctrl HI3660_OSC32K>;
11086be33864SEmmanuel Vadot			clock-names = "wdog_clk", "apb_pclk";
1109c66ec88fSEmmanuel Vadot		};
1110c66ec88fSEmmanuel Vadot
1111c66ec88fSEmmanuel Vadot		tsensor: tsensor@fff30000 {
1112c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3660-tsensor";
1113c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff30000 0x0 0x1000>;
1114c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
1115c66ec88fSEmmanuel Vadot			#thermal-sensor-cells = <1>;
1116c66ec88fSEmmanuel Vadot		};
1117c66ec88fSEmmanuel Vadot
1118c66ec88fSEmmanuel Vadot		thermal-zones {
1119c66ec88fSEmmanuel Vadot
11205def4c47SEmmanuel Vadot			cls0: cls0-thermal {
1121c66ec88fSEmmanuel Vadot				polling-delay = <1000>;
1122c66ec88fSEmmanuel Vadot				polling-delay-passive = <100>;
1123c66ec88fSEmmanuel Vadot				sustainable-power = <4500>;
1124c66ec88fSEmmanuel Vadot
1125c66ec88fSEmmanuel Vadot				/* sensor ID */
1126c66ec88fSEmmanuel Vadot				thermal-sensors = <&tsensor 1>;
1127c66ec88fSEmmanuel Vadot
1128c66ec88fSEmmanuel Vadot				trips {
11295def4c47SEmmanuel Vadot					threshold: trip-point0 {
1130c66ec88fSEmmanuel Vadot						temperature = <65000>;
1131c66ec88fSEmmanuel Vadot						hysteresis = <1000>;
1132c66ec88fSEmmanuel Vadot						type = "passive";
1133c66ec88fSEmmanuel Vadot					};
1134c66ec88fSEmmanuel Vadot
11355def4c47SEmmanuel Vadot					target: trip-point1 {
1136c66ec88fSEmmanuel Vadot						temperature = <75000>;
1137c66ec88fSEmmanuel Vadot						hysteresis = <1000>;
1138c66ec88fSEmmanuel Vadot						type = "passive";
1139c66ec88fSEmmanuel Vadot					};
1140c66ec88fSEmmanuel Vadot				};
1141c66ec88fSEmmanuel Vadot
1142c66ec88fSEmmanuel Vadot				cooling-maps {
1143c66ec88fSEmmanuel Vadot					map0 {
1144c66ec88fSEmmanuel Vadot						trip = <&target>;
1145c66ec88fSEmmanuel Vadot						contribution = <1024>;
1146c66ec88fSEmmanuel Vadot						cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1147c66ec88fSEmmanuel Vadot								 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1148c66ec88fSEmmanuel Vadot								 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1149c66ec88fSEmmanuel Vadot								 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1150c66ec88fSEmmanuel Vadot					};
1151c66ec88fSEmmanuel Vadot					map1 {
1152c66ec88fSEmmanuel Vadot						trip = <&target>;
1153c66ec88fSEmmanuel Vadot						contribution = <512>;
1154c66ec88fSEmmanuel Vadot						cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1155c66ec88fSEmmanuel Vadot								 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1156c66ec88fSEmmanuel Vadot								 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1157c66ec88fSEmmanuel Vadot								 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1158c66ec88fSEmmanuel Vadot					};
1159c66ec88fSEmmanuel Vadot				};
1160c66ec88fSEmmanuel Vadot			};
1161c66ec88fSEmmanuel Vadot		};
1162c66ec88fSEmmanuel Vadot
1163c66ec88fSEmmanuel Vadot		usb3_otg_bc: usb3_otg_bc@ff200000 {
1164c66ec88fSEmmanuel Vadot			compatible = "syscon", "simple-mfd";
1165c66ec88fSEmmanuel Vadot			reg = <0x0 0xff200000 0x0 0x1000>;
1166c66ec88fSEmmanuel Vadot
1167c66ec88fSEmmanuel Vadot			usb_phy: usb-phy {
1168c66ec88fSEmmanuel Vadot				compatible = "hisilicon,hi3660-usb-phy";
1169c66ec88fSEmmanuel Vadot				#phy-cells = <0>;
1170c66ec88fSEmmanuel Vadot				hisilicon,pericrg-syscon = <&crg_ctrl>;
1171c66ec88fSEmmanuel Vadot				hisilicon,pctrl-syscon = <&pctrl>;
1172c66ec88fSEmmanuel Vadot				hisilicon,eye-diagram-param = <0x22466e4>;
1173c66ec88fSEmmanuel Vadot			};
1174c66ec88fSEmmanuel Vadot		};
1175c66ec88fSEmmanuel Vadot
11765def4c47SEmmanuel Vadot		dwc3: usb@ff100000 {
1177c66ec88fSEmmanuel Vadot			compatible = "snps,dwc3";
1178c66ec88fSEmmanuel Vadot			reg = <0x0 0xff100000 0x0 0x100000>;
1179c66ec88fSEmmanuel Vadot
1180c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3660_CLK_ABB_USB>,
1181c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>;
1182c66ec88fSEmmanuel Vadot			clock-names = "ref", "bus_early";
1183c66ec88fSEmmanuel Vadot
1184c66ec88fSEmmanuel Vadot			assigned-clocks = <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>;
1185c66ec88fSEmmanuel Vadot			assigned-clock-rates = <229000000>;
1186c66ec88fSEmmanuel Vadot
1187c66ec88fSEmmanuel Vadot			resets = <&crg_rst 0x90 8>,
1188c66ec88fSEmmanuel Vadot				 <&crg_rst 0x90 7>,
1189c66ec88fSEmmanuel Vadot				 <&crg_rst 0x90 6>,
1190c66ec88fSEmmanuel Vadot				 <&crg_rst 0x90 5>;
1191c66ec88fSEmmanuel Vadot
1192c66ec88fSEmmanuel Vadot			interrupts = <0 159 4>, <0 161 4>;
1193c66ec88fSEmmanuel Vadot			phys = <&usb_phy>;
1194c66ec88fSEmmanuel Vadot			phy-names = "usb3-phy";
1195c66ec88fSEmmanuel Vadot		};
1196c66ec88fSEmmanuel Vadot	};
1197c66ec88fSEmmanuel Vadot};
1198c66ec88fSEmmanuel Vadot
1199c66ec88fSEmmanuel Vadot#include "hi3660-coresight.dtsi"
1200