xref: /freebsd-src/sys/contrib/device-tree/src/arm64/hisilicon/hi3670.dtsi (revision b97ee269eae3cbaf35c18f51a459aea581c2a7dc)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * dts file for Hisilicon Hi3670 SoC
4c66ec88fSEmmanuel Vadot *
55956d97fSEmmanuel Vadot * Copyright (C) 2016, HiSilicon Ltd.
6c66ec88fSEmmanuel Vadot * Copyright (C) 2018, Linaro Ltd.
7c66ec88fSEmmanuel Vadot */
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
10c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/hi3670-clock.h>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadot/ {
13c66ec88fSEmmanuel Vadot	compatible = "hisilicon,hi3670";
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		};
64c66ec88fSEmmanuel Vadot
65c66ec88fSEmmanuel Vadot		cpu1: cpu@1 {
66c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
67c66ec88fSEmmanuel Vadot			device_type = "cpu";
68c66ec88fSEmmanuel Vadot			reg = <0x0 0x1>;
69c66ec88fSEmmanuel Vadot			enable-method = "psci";
70c66ec88fSEmmanuel Vadot		};
71c66ec88fSEmmanuel Vadot
72c66ec88fSEmmanuel Vadot		cpu2: cpu@2 {
73c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
74c66ec88fSEmmanuel Vadot			device_type = "cpu";
75c66ec88fSEmmanuel Vadot			reg = <0x0 0x2>;
76c66ec88fSEmmanuel Vadot			enable-method = "psci";
77c66ec88fSEmmanuel Vadot		};
78c66ec88fSEmmanuel Vadot
79c66ec88fSEmmanuel Vadot		cpu3: cpu@3 {
80c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
81c66ec88fSEmmanuel Vadot			device_type = "cpu";
82c66ec88fSEmmanuel Vadot			reg = <0x0 0x3>;
83c66ec88fSEmmanuel Vadot			enable-method = "psci";
84c66ec88fSEmmanuel Vadot		};
85c66ec88fSEmmanuel Vadot
86c66ec88fSEmmanuel Vadot		cpu4: cpu@100 {
87c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a73";
88c66ec88fSEmmanuel Vadot			device_type = "cpu";
89c66ec88fSEmmanuel Vadot			reg = <0x0 0x100>;
90c66ec88fSEmmanuel Vadot			enable-method = "psci";
91c66ec88fSEmmanuel Vadot		};
92c66ec88fSEmmanuel Vadot
93c66ec88fSEmmanuel Vadot		cpu5: cpu@101 {
94c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a73";
95c66ec88fSEmmanuel Vadot			device_type = "cpu";
96c66ec88fSEmmanuel Vadot			reg = <0x0 0x101>;
97c66ec88fSEmmanuel Vadot			enable-method = "psci";
98c66ec88fSEmmanuel Vadot		};
99c66ec88fSEmmanuel Vadot
100c66ec88fSEmmanuel Vadot		cpu6: cpu@102 {
101c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a73";
102c66ec88fSEmmanuel Vadot			device_type = "cpu";
103c66ec88fSEmmanuel Vadot			reg = <0x0 0x102>;
104c66ec88fSEmmanuel Vadot			enable-method = "psci";
105c66ec88fSEmmanuel Vadot		};
106c66ec88fSEmmanuel Vadot
107c66ec88fSEmmanuel Vadot		cpu7: cpu@103 {
108c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a73";
109c66ec88fSEmmanuel Vadot			device_type = "cpu";
110c66ec88fSEmmanuel Vadot			reg = <0x0 0x103>;
111c66ec88fSEmmanuel Vadot			enable-method = "psci";
112c66ec88fSEmmanuel Vadot		};
113c66ec88fSEmmanuel Vadot	};
114c66ec88fSEmmanuel Vadot
115c66ec88fSEmmanuel Vadot	gic: interrupt-controller@e82b0000 {
116c66ec88fSEmmanuel Vadot		compatible = "arm,gic-400";
117c66ec88fSEmmanuel Vadot		reg = <0x0 0xe82b1000 0 0x1000>, /* GICD */
118c66ec88fSEmmanuel Vadot		      <0x0 0xe82b2000 0 0x2000>, /* GICC */
119c66ec88fSEmmanuel Vadot		      <0x0 0xe82b4000 0 0x2000>, /* GICH */
120c66ec88fSEmmanuel Vadot		      <0x0 0xe82b6000 0 0x2000>; /* GICV */
121c66ec88fSEmmanuel Vadot		#interrupt-cells = <3>;
122c66ec88fSEmmanuel Vadot		#address-cells = <0>;
123c66ec88fSEmmanuel Vadot		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
124c66ec88fSEmmanuel Vadot					 IRQ_TYPE_LEVEL_HIGH)>;
125c66ec88fSEmmanuel Vadot		interrupt-controller;
126c66ec88fSEmmanuel Vadot	};
127c66ec88fSEmmanuel Vadot
128c66ec88fSEmmanuel Vadot	timer {
129c66ec88fSEmmanuel Vadot		compatible = "arm,armv8-timer";
130c66ec88fSEmmanuel Vadot		interrupt-parent = <&gic>;
131c66ec88fSEmmanuel Vadot		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) |
132c66ec88fSEmmanuel Vadot					  IRQ_TYPE_LEVEL_LOW)>,
133c66ec88fSEmmanuel Vadot			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) |
134c66ec88fSEmmanuel Vadot					  IRQ_TYPE_LEVEL_LOW)>,
135c66ec88fSEmmanuel Vadot			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) |
136c66ec88fSEmmanuel Vadot					  IRQ_TYPE_LEVEL_LOW)>,
137c66ec88fSEmmanuel Vadot			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) |
138c66ec88fSEmmanuel Vadot					  IRQ_TYPE_LEVEL_LOW)>;
139c66ec88fSEmmanuel Vadot		clock-frequency = <1920000>;
140c66ec88fSEmmanuel Vadot	};
141c66ec88fSEmmanuel Vadot
142c66ec88fSEmmanuel Vadot	soc {
143c66ec88fSEmmanuel Vadot		compatible = "simple-bus";
144c66ec88fSEmmanuel Vadot		#address-cells = <2>;
145c66ec88fSEmmanuel Vadot		#size-cells = <2>;
146c66ec88fSEmmanuel Vadot		ranges;
147c66ec88fSEmmanuel Vadot
148c66ec88fSEmmanuel Vadot		crg_ctrl: crg_ctrl@fff35000 {
149c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3670-crgctrl", "syscon";
150c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff35000 0x0 0x1000>;
151c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
152c66ec88fSEmmanuel Vadot		};
153c66ec88fSEmmanuel Vadot
154c66ec88fSEmmanuel Vadot		crg_rst: crg_rst_controller {
155c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3670-reset",
156c66ec88fSEmmanuel Vadot				     "hisilicon,hi3660-reset";
157c66ec88fSEmmanuel Vadot			#reset-cells = <2>;
158c66ec88fSEmmanuel Vadot			hisi,rst-syscon = <&crg_ctrl>;
159c66ec88fSEmmanuel Vadot		};
160c66ec88fSEmmanuel Vadot
161c66ec88fSEmmanuel Vadot		pctrl: pctrl@e8a09000 {
162c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3670-pctrl", "syscon";
163c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a09000 0x0 0x1000>;
164c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
165c66ec88fSEmmanuel Vadot		};
166c66ec88fSEmmanuel Vadot
167c66ec88fSEmmanuel Vadot		pmuctrl: crg_ctrl@fff34000 {
168c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3670-pmuctrl", "syscon";
169c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff34000 0x0 0x1000>;
170c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
171c66ec88fSEmmanuel Vadot		};
172c66ec88fSEmmanuel Vadot
173c66ec88fSEmmanuel Vadot		sctrl: sctrl@fff0a000 {
174c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3670-sctrl", "syscon";
175c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff0a000 0x0 0x1000>;
176c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
177c66ec88fSEmmanuel Vadot		};
178c66ec88fSEmmanuel Vadot
179c66ec88fSEmmanuel Vadot		iomcu: iomcu@ffd7e000 {
180c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3670-iomcu", "syscon";
181c66ec88fSEmmanuel Vadot			reg = <0x0 0xffd7e000 0x0 0x1000>;
182c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
183c66ec88fSEmmanuel Vadot		};
184c66ec88fSEmmanuel Vadot
185c66ec88fSEmmanuel Vadot		media1_crg: media1_crgctrl@e87ff000 {
186c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3670-media1-crg", "syscon";
187c66ec88fSEmmanuel Vadot			reg = <0x0 0xe87ff000 0x0 0x1000>;
188c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
189c66ec88fSEmmanuel Vadot		};
190c66ec88fSEmmanuel Vadot
191c66ec88fSEmmanuel Vadot		media2_crg: media2_crgctrl@e8900000 {
192c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3670-media2-crg","syscon";
193c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8900000 0x0 0x1000>;
194c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
195c66ec88fSEmmanuel Vadot		};
196c66ec88fSEmmanuel Vadot
1975def4c47SEmmanuel Vadot		iomcu_rst: reset {
1985def4c47SEmmanuel Vadot			compatible = "hisilicon,hi3660-reset";
1995def4c47SEmmanuel Vadot			hisi,rst-syscon = <&iomcu>;
2005def4c47SEmmanuel Vadot			#reset-cells = <2>;
2015def4c47SEmmanuel Vadot		};
2025def4c47SEmmanuel Vadot
203c66ec88fSEmmanuel Vadot		uart0: serial@fdf02000 {
204c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
205c66ec88fSEmmanuel Vadot			reg = <0x0 0xfdf02000 0x0 0x1000>;
206c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
207c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_CLK_GATE_UART0>,
208c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3670_PCLK>;
209c66ec88fSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
210c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
211c66ec88fSEmmanuel Vadot			pinctrl-0 = <&uart0_pmx_func &uart0_cfg_func>;
212c66ec88fSEmmanuel Vadot			status = "disabled";
213c66ec88fSEmmanuel Vadot		};
214c66ec88fSEmmanuel Vadot
215c66ec88fSEmmanuel Vadot		uart1: serial@fdf00000 {
216c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
217c66ec88fSEmmanuel Vadot			reg = <0x0 0xfdf00000 0x0 0x1000>;
218c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
219c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_CLK_GATE_UART1>,
220c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3670_PCLK>;
221c66ec88fSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
222c66ec88fSEmmanuel Vadot			status = "disabled";
223c66ec88fSEmmanuel Vadot		};
224c66ec88fSEmmanuel Vadot
225c66ec88fSEmmanuel Vadot		uart2: serial@fdf03000 {
226c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
227c66ec88fSEmmanuel Vadot			reg = <0x0 0xfdf03000 0x0 0x1000>;
228c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
229c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_CLK_GATE_UART2>,
230c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3670_PCLK>;
231c66ec88fSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
232c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
233c66ec88fSEmmanuel Vadot			pinctrl-0 = <&uart2_pmx_func &uart2_cfg_func>;
234c66ec88fSEmmanuel Vadot			status = "disabled";
235c66ec88fSEmmanuel Vadot		};
236c66ec88fSEmmanuel Vadot
237c66ec88fSEmmanuel Vadot		uart3: serial@ffd74000 {
238c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
239c66ec88fSEmmanuel Vadot			reg = <0x0 0xffd74000 0x0 0x1000>;
240c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
241c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_CLK_GATE_UART3>,
242c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3670_PCLK>;
243c66ec88fSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
244c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
245c66ec88fSEmmanuel Vadot			pinctrl-0 = <&uart3_pmx_func &uart3_cfg_func>;
246c66ec88fSEmmanuel Vadot			status = "disabled";
247c66ec88fSEmmanuel Vadot		};
248c66ec88fSEmmanuel Vadot
249c66ec88fSEmmanuel Vadot		uart4: serial@fdf01000 {
250c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
251c66ec88fSEmmanuel Vadot			reg = <0x0 0xfdf01000 0x0 0x1000>;
252c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
253c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_CLK_GATE_UART4>,
254c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3670_PCLK>;
255c66ec88fSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
256c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
257c66ec88fSEmmanuel Vadot			pinctrl-0 = <&uart4_pmx_func &uart4_cfg_func>;
258c66ec88fSEmmanuel Vadot			status = "disabled";
259c66ec88fSEmmanuel Vadot		};
260c66ec88fSEmmanuel Vadot
261c66ec88fSEmmanuel Vadot		uart5: serial@fdf05000 {
262c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
263c66ec88fSEmmanuel Vadot			reg = <0x0 0xfdf05000 0x0 0x1000>;
264c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
265c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_CLK_GATE_UART5>,
266c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3670_PCLK>;
267c66ec88fSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
268c66ec88fSEmmanuel Vadot			status = "disabled";
269c66ec88fSEmmanuel Vadot		};
270c66ec88fSEmmanuel Vadot
271c66ec88fSEmmanuel Vadot		uart6: serial@fff32000 {
272c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
273c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff32000 0x0 0x1000>;
274c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
275c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_CLK_UART6>,
276c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3670_PCLK>;
277c66ec88fSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
278c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
279c66ec88fSEmmanuel Vadot			pinctrl-0 = <&uart6_pmx_func &uart6_cfg_func>;
280c66ec88fSEmmanuel Vadot			status = "disabled";
281c66ec88fSEmmanuel Vadot		};
282c66ec88fSEmmanuel Vadot
283c66ec88fSEmmanuel Vadot		gpio0: gpio@e8a0b000 {
284c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
285c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a0b000 0x0 0x1000>;
286c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
287c66ec88fSEmmanuel Vadot			gpio-controller;
288c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
289c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 1 0 1 &pmx0 3 1 5>;
290c66ec88fSEmmanuel Vadot			interrupt-controller;
291c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
292c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO0>;
293c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
294c66ec88fSEmmanuel Vadot		};
295c66ec88fSEmmanuel Vadot
296c66ec88fSEmmanuel Vadot		gpio1: gpio@e8a0c000 {
297c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
298c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a0c000 0x0 0x1000>;
299c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
300c66ec88fSEmmanuel Vadot			gpio-controller;
301c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
302c66ec88fSEmmanuel Vadot			interrupt-controller;
303c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
304c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO1>;
305c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
306c66ec88fSEmmanuel Vadot		};
307c66ec88fSEmmanuel Vadot
308c66ec88fSEmmanuel Vadot		gpio2: gpio@e8a0d000 {
309c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
310c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a0d000 0x0 0x1000>;
311c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
312c66ec88fSEmmanuel Vadot			gpio-controller;
313c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
314c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 1 6 7>;
315c66ec88fSEmmanuel Vadot			interrupt-controller;
316c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
317c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO2>;
318c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
319c66ec88fSEmmanuel Vadot		};
320c66ec88fSEmmanuel Vadot
321c66ec88fSEmmanuel Vadot		gpio3: gpio@e8a0e000 {
322c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
323c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a0e000 0x0 0x1000>;
324c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
325c66ec88fSEmmanuel Vadot			gpio-controller;
326c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
327c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 13 4 &pmx0 7 17 1>;
328c66ec88fSEmmanuel Vadot			interrupt-controller;
329c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
330c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO3>;
331c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
332c66ec88fSEmmanuel Vadot		};
333c66ec88fSEmmanuel Vadot
334c66ec88fSEmmanuel Vadot		gpio4: gpio@e8a0f000 {
335c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
336c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a0f000 0x0 0x1000>;
337c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
338c66ec88fSEmmanuel Vadot			gpio-controller;
339c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
340c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 18 8>;
341c66ec88fSEmmanuel Vadot			interrupt-controller;
342c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
343c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO4>;
344c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
345c66ec88fSEmmanuel Vadot		};
346c66ec88fSEmmanuel Vadot
347c66ec88fSEmmanuel Vadot		gpio5: gpio@e8a10000 {
348c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
349c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a10000 0x0 0x1000>;
350c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
351c66ec88fSEmmanuel Vadot			gpio-controller;
352c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
353c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 26 8>;
354c66ec88fSEmmanuel Vadot			interrupt-controller;
355c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
356c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO5>;
357c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
358c66ec88fSEmmanuel Vadot		};
359c66ec88fSEmmanuel Vadot
360c66ec88fSEmmanuel Vadot		gpio6: gpio@e8a11000 {
361c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
362c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a11000 0x0 0x1000>;
363c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
364c66ec88fSEmmanuel Vadot			gpio-controller;
365c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
366c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 1 34 7>;
367c66ec88fSEmmanuel Vadot			interrupt-controller;
368c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
369c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO6>;
370c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
371c66ec88fSEmmanuel Vadot		};
372c66ec88fSEmmanuel Vadot
373c66ec88fSEmmanuel Vadot		gpio7: gpio@e8a12000 {
374c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
375c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a12000 0x0 0x1000>;
376c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
377c66ec88fSEmmanuel Vadot			gpio-controller;
378c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
379c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 41 8>;
380c66ec88fSEmmanuel Vadot			interrupt-controller;
381c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
382c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO7>;
383c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
384c66ec88fSEmmanuel Vadot		};
385c66ec88fSEmmanuel Vadot
386c66ec88fSEmmanuel Vadot		gpio8: gpio@e8a13000 {
387c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
388c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a13000 0x0 0x1000>;
389c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
390c66ec88fSEmmanuel Vadot			gpio-controller;
391c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
392c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 49 8>;
393c66ec88fSEmmanuel Vadot			interrupt-controller;
394c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
395c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO8>;
396c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
397c66ec88fSEmmanuel Vadot		};
398c66ec88fSEmmanuel Vadot
399c66ec88fSEmmanuel Vadot		gpio9: gpio@e8a14000 {
400c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
401c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a14000 0x0 0x1000>;
402c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
403c66ec88fSEmmanuel Vadot			gpio-controller;
404c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
405c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 57 8>;
406c66ec88fSEmmanuel Vadot			interrupt-controller;
407c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
408c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO9>;
409c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
410c66ec88fSEmmanuel Vadot		};
411c66ec88fSEmmanuel Vadot
412c66ec88fSEmmanuel Vadot		gpio10: gpio@e8a15000 {
413c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
414c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a15000 0x0 0x1000>;
415c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
416c66ec88fSEmmanuel Vadot			gpio-controller;
417c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
418c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 65 8>;
419c66ec88fSEmmanuel Vadot			interrupt-controller;
420c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
421c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO10>;
422c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
423c66ec88fSEmmanuel Vadot		};
424c66ec88fSEmmanuel Vadot
425c66ec88fSEmmanuel Vadot		gpio11: gpio@e8a16000 {
426c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
427c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a16000 0x0 0x1000>;
428c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
429c66ec88fSEmmanuel Vadot			gpio-controller;
430c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
431c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 73 8>;
432c66ec88fSEmmanuel Vadot			interrupt-controller;
433c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
434c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO11>;
435c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
436c66ec88fSEmmanuel Vadot		};
437c66ec88fSEmmanuel Vadot
438c66ec88fSEmmanuel Vadot		gpio12: gpio@e8a17000 {
439c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
440c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a17000 0x0 0x1000>;
441c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
442c66ec88fSEmmanuel Vadot			gpio-controller;
443c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
444c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 81 1>;
445c66ec88fSEmmanuel Vadot			interrupt-controller;
446c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
447c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO12>;
448c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
449c66ec88fSEmmanuel Vadot		};
450c66ec88fSEmmanuel Vadot
451c66ec88fSEmmanuel Vadot		gpio13: gpio@e8a18000 {
452c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
453c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a18000 0x0 0x1000>;
454c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
455c66ec88fSEmmanuel Vadot			gpio-controller;
456c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
457c66ec88fSEmmanuel Vadot			interrupt-controller;
458c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
459c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO13>;
460c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
461c66ec88fSEmmanuel Vadot		};
462c66ec88fSEmmanuel Vadot
463c66ec88fSEmmanuel Vadot		gpio14: gpio@e8a19000 {
464c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
465c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a19000 0x0 0x1000>;
466c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
467c66ec88fSEmmanuel Vadot			gpio-controller;
468c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
469c66ec88fSEmmanuel Vadot			interrupt-controller;
470c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
471c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO14>;
472c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
473c66ec88fSEmmanuel Vadot		};
474c66ec88fSEmmanuel Vadot
475c66ec88fSEmmanuel Vadot		gpio15: gpio@e8a1a000 {
476c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
477c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a1a000 0x0 0x1000>;
478c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
479c66ec88fSEmmanuel Vadot			gpio-controller;
480c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
481c66ec88fSEmmanuel Vadot			interrupt-controller;
482c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
483c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO15>;
484c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
485c66ec88fSEmmanuel Vadot		};
486c66ec88fSEmmanuel Vadot
487c66ec88fSEmmanuel Vadot		gpio16: gpio@e8a1b000 {
488c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
489c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a1b000 0x0 0x1000>;
490c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
491c66ec88fSEmmanuel Vadot			gpio-controller;
492c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
493c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx5 0 0 8>;
494c66ec88fSEmmanuel Vadot			interrupt-controller;
495c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
496c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO16>;
497c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
498c66ec88fSEmmanuel Vadot		};
499c66ec88fSEmmanuel Vadot
500c66ec88fSEmmanuel Vadot		gpio17: gpio@e8a1c000 {
501c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
502c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a1c000 0x0 0x1000>;
503c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
504c66ec88fSEmmanuel Vadot			gpio-controller;
505c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
506c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx5 0 8 2>;
507c66ec88fSEmmanuel Vadot			interrupt-controller;
508c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
509c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO17>;
510c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
511c66ec88fSEmmanuel Vadot		};
512c66ec88fSEmmanuel Vadot
513c66ec88fSEmmanuel Vadot		gpio18: gpio@fff28000 {
514c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
515c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff28000 0x0 0x1000>;
516c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
517c66ec88fSEmmanuel Vadot			gpio-controller;
518c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
519c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx1 4 42 4>;
520c66ec88fSEmmanuel Vadot			interrupt-controller;
521c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
522c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3670_PCLK_GPIO18>;
523c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
524c66ec88fSEmmanuel Vadot		};
525c66ec88fSEmmanuel Vadot
526c66ec88fSEmmanuel Vadot		gpio19: gpio@fff29000 {
527c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
528c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff29000 0x0 0x1000>;
529c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
530c66ec88fSEmmanuel Vadot			gpio-controller;
531c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
532c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx1 0 61 2>;
533c66ec88fSEmmanuel Vadot			interrupt-controller;
534c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
535c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3670_PCLK_GPIO19>;
536c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
537c66ec88fSEmmanuel Vadot		};
538c66ec88fSEmmanuel Vadot
539c66ec88fSEmmanuel Vadot		gpio20: gpio@e8a1f000 {
540c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
541c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a1f000 0x0 0x1000>;
542c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
543c66ec88fSEmmanuel Vadot			gpio-controller;
544c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
545c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx7 0 0 8>;
546c66ec88fSEmmanuel Vadot			interrupt-controller;
547c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
548c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO20>;
549c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
550c66ec88fSEmmanuel Vadot		};
551c66ec88fSEmmanuel Vadot
552c66ec88fSEmmanuel Vadot		gpio21: gpio@e8a20000 {
553c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
554c66ec88fSEmmanuel Vadot			reg = <0x0 0xe8a20000 0x0 0x1000>;
555c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
556c66ec88fSEmmanuel Vadot			gpio-controller;
557c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
558c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx7 0 8 4>;
559c66ec88fSEmmanuel Vadot			interrupt-controller;
560c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
561c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_PCLK_GPIO21>;
562c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
563c66ec88fSEmmanuel Vadot		};
564c66ec88fSEmmanuel Vadot
565c66ec88fSEmmanuel Vadot		gpio22: gpio@fff0b000 {
566c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
567c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff0b000 0x0 0x1000>;
568c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
569c66ec88fSEmmanuel Vadot			gpio-controller;
570c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
571c66ec88fSEmmanuel Vadot			/* GPIO176 */
572c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx1 2 0 6>;
573c66ec88fSEmmanuel Vadot			interrupt-controller;
574c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
575c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3670_PCLK_AO_GPIO0>;
576c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
577c66ec88fSEmmanuel Vadot		};
578c66ec88fSEmmanuel Vadot
579c66ec88fSEmmanuel Vadot		gpio23: gpio@fff0c000 {
580c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
581c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff0c000 0x0 0x1000>;
582c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
583c66ec88fSEmmanuel Vadot			gpio-controller;
584c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
585c66ec88fSEmmanuel Vadot			/* GPIO184 */
586c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx1 0 6 8>;
587c66ec88fSEmmanuel Vadot			interrupt-controller;
588c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
589c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3670_PCLK_AO_GPIO1>;
590c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
591c66ec88fSEmmanuel Vadot		};
592c66ec88fSEmmanuel Vadot
593c66ec88fSEmmanuel Vadot		gpio24: gpio@fff0d000 {
594c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
595c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff0d000 0x0 0x1000>;
596c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
597c66ec88fSEmmanuel Vadot			gpio-controller;
598c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
599c66ec88fSEmmanuel Vadot			/* GPIO192 */
600c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx1 0 14 8>;
601c66ec88fSEmmanuel Vadot			interrupt-controller;
602c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
603c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3670_PCLK_AO_GPIO2>;
604c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
605c66ec88fSEmmanuel Vadot		};
606c66ec88fSEmmanuel Vadot
607c66ec88fSEmmanuel Vadot		gpio25: gpio@fff0e000 {
608c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
609c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff0e000 0x0 0x1000>;
610c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
611c66ec88fSEmmanuel Vadot			gpio-controller;
612c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
613c66ec88fSEmmanuel Vadot			/* GPIO200 */
614c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx1 0 22 8>;
615c66ec88fSEmmanuel Vadot			interrupt-controller;
616c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
617c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3670_PCLK_AO_GPIO3>;
618c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
619c66ec88fSEmmanuel Vadot		};
620c66ec88fSEmmanuel Vadot
621c66ec88fSEmmanuel Vadot		gpio26: gpio@fff0f000 {
622c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
623c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff0f000 0x0 0x1000>;
624c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
625c66ec88fSEmmanuel Vadot			gpio-controller;
626c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
627c66ec88fSEmmanuel Vadot			/* GPIO208 */
628c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx1 0 30 1>;
629c66ec88fSEmmanuel Vadot			interrupt-controller;
630c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
631c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3670_PCLK_AO_GPIO4>;
632c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
633c66ec88fSEmmanuel Vadot		};
634c66ec88fSEmmanuel Vadot
635c66ec88fSEmmanuel Vadot		gpio27: gpio@fff10000 {
636c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
637c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff10000 0x0 0x1000>;
638c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
639c66ec88fSEmmanuel Vadot			gpio-controller;
640c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
641c66ec88fSEmmanuel Vadot			/* GPIO216 */
642c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx1 4 31 4>;
643c66ec88fSEmmanuel Vadot			interrupt-controller;
644c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
645c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3670_PCLK_AO_GPIO5>;
646c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
647c66ec88fSEmmanuel Vadot		};
648c66ec88fSEmmanuel Vadot
649c66ec88fSEmmanuel Vadot		gpio28: gpio@fff1d000 {
650c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
651c66ec88fSEmmanuel Vadot			reg = <0x0 0xfff1d000 0x0 0x1000>;
652c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
653c66ec88fSEmmanuel Vadot			gpio-controller;
654c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
655c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx1 1 35 7>;
656c66ec88fSEmmanuel Vadot			interrupt-controller;
657c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
658c66ec88fSEmmanuel Vadot			clocks = <&sctrl HI3670_PCLK_AO_GPIO6>;
659c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
660c66ec88fSEmmanuel Vadot		};
661c66ec88fSEmmanuel Vadot
662c66ec88fSEmmanuel Vadot		/* UFS */
663c66ec88fSEmmanuel Vadot		ufs: ufs@ff3c0000 {
664c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3670-ufs", "jedec,ufs-2.1";
665c66ec88fSEmmanuel Vadot			/* 0: HCI standard */
666c66ec88fSEmmanuel Vadot			/* 1: UFS SYS CTRL */
667c66ec88fSEmmanuel Vadot			reg = <0x0 0xff3c0000 0x0 0x1000>,
668c66ec88fSEmmanuel Vadot				<0x0 0xff3e0000 0x0 0x1000>;
669c66ec88fSEmmanuel Vadot			interrupt-parent = <&gic>;
670c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>;
671c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_CLK_GATE_UFSIO_REF>,
672c66ec88fSEmmanuel Vadot				 <&crg_ctrl HI3670_CLK_GATE_UFS_SUBSYS>;
673c66ec88fSEmmanuel Vadot			clock-names = "ref_clk", "phy_clk";
674*d5b0e70fSEmmanuel Vadot			freq-table-hz = <0 0>,
675*d5b0e70fSEmmanuel Vadot					<0 0>;
676c66ec88fSEmmanuel Vadot			/* offset: 0x84; bit: 12 */
677c66ec88fSEmmanuel Vadot			resets = <&crg_rst 0x84 12>;
678c66ec88fSEmmanuel Vadot			reset-names = "rst";
679c66ec88fSEmmanuel Vadot		};
680c66ec88fSEmmanuel Vadot
681c66ec88fSEmmanuel Vadot		/* SD */
682c66ec88fSEmmanuel Vadot		dwmmc1: dwmmc1@ff37f000 {
683c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3670-dw-mshc",
684c66ec88fSEmmanuel Vadot				     "hisilicon,hi3660-dw-mshc";
685c66ec88fSEmmanuel Vadot			reg = <0x0 0xff37f000 0x0 0x1000>;
686c66ec88fSEmmanuel Vadot			#address-cells = <1>;
687c66ec88fSEmmanuel Vadot			#size-cells = <0>;
688c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
689c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_CLK_GATE_SD>,
690c66ec88fSEmmanuel Vadot				<&crg_ctrl HI3670_HCLK_GATE_SD>;
691c66ec88fSEmmanuel Vadot			clock-names = "ciu", "biu";
692c66ec88fSEmmanuel Vadot			clock-frequency = <3200000>;
693c66ec88fSEmmanuel Vadot			resets = <&crg_rst 0x94 18>;
694c66ec88fSEmmanuel Vadot			reset-names = "reset";
695c66ec88fSEmmanuel Vadot			hisilicon,peripheral-syscon = <&sctrl>;
696c66ec88fSEmmanuel Vadot			card-detect-delay = <200>;
697c66ec88fSEmmanuel Vadot			status = "disabled";
698c66ec88fSEmmanuel Vadot		};
699c66ec88fSEmmanuel Vadot
700c66ec88fSEmmanuel Vadot		/* SDIO */
701c66ec88fSEmmanuel Vadot		dwmmc2: dwmmc2@fc183000 {
702c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3670-dw-mshc",
703c66ec88fSEmmanuel Vadot				     "hisilicon,hi3660-dw-mshc";
704c66ec88fSEmmanuel Vadot			reg = <0x0 0xfc183000 0x0 0x1000>;
705c66ec88fSEmmanuel Vadot			#address-cells = <1>;
706c66ec88fSEmmanuel Vadot			#size-cells = <0>;
707c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
708c66ec88fSEmmanuel Vadot			clocks = <&crg_ctrl HI3670_CLK_GATE_SDIO>,
709c66ec88fSEmmanuel Vadot				<&crg_ctrl HI3670_HCLK_GATE_SDIO>;
710c66ec88fSEmmanuel Vadot			clock-names = "ciu", "biu";
711c66ec88fSEmmanuel Vadot			clock-frequency = <3200000>;
712c66ec88fSEmmanuel Vadot			resets = <&crg_rst 0x94 20>;
713c66ec88fSEmmanuel Vadot			reset-names = "reset";
714c66ec88fSEmmanuel Vadot			card-detect-delay = <200>;
715c66ec88fSEmmanuel Vadot			status = "disabled";
716c66ec88fSEmmanuel Vadot		};
7175def4c47SEmmanuel Vadot
7185def4c47SEmmanuel Vadot		/* I2C */
7195def4c47SEmmanuel Vadot		i2c0: i2c@ffd71000 {
7205def4c47SEmmanuel Vadot			compatible = "snps,designware-i2c";
7215def4c47SEmmanuel Vadot			reg = <0x0 0xffd71000 0x0 0x1000>;
7225def4c47SEmmanuel Vadot			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
7235def4c47SEmmanuel Vadot			#address-cells = <1>;
7245def4c47SEmmanuel Vadot			#size-cells = <0>;
7255def4c47SEmmanuel Vadot			clock-frequency = <400000>;
7265def4c47SEmmanuel Vadot			clocks = <&iomcu HI3670_CLK_GATE_I2C0>;
7275def4c47SEmmanuel Vadot			resets = <&iomcu_rst 0x20 3>;
7285def4c47SEmmanuel Vadot			pinctrl-names = "default";
7295def4c47SEmmanuel Vadot			pinctrl-0 = <&i2c0_pmx_func &i2c0_cfg_func>;
7305def4c47SEmmanuel Vadot			status = "disabled";
7315def4c47SEmmanuel Vadot		};
7325def4c47SEmmanuel Vadot
7335def4c47SEmmanuel Vadot		i2c1: i2c@ffd72000 {
7345def4c47SEmmanuel Vadot			compatible = "snps,designware-i2c";
7355def4c47SEmmanuel Vadot			reg = <0x0 0xffd72000 0x0 0x1000>;
7365def4c47SEmmanuel Vadot			interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
7375def4c47SEmmanuel Vadot			#address-cells = <1>;
7385def4c47SEmmanuel Vadot			#size-cells = <0>;
7395def4c47SEmmanuel Vadot			clock-frequency = <400000>;
7405def4c47SEmmanuel Vadot			clocks = <&iomcu HI3670_CLK_GATE_I2C1>;
7415def4c47SEmmanuel Vadot			resets = <&iomcu_rst 0x20 4>;
7425def4c47SEmmanuel Vadot			pinctrl-names = "default";
7435def4c47SEmmanuel Vadot			pinctrl-0 = <&i2c1_pmx_func &i2c1_cfg_func>;
7445def4c47SEmmanuel Vadot			status = "disabled";
7455def4c47SEmmanuel Vadot		};
7465def4c47SEmmanuel Vadot
7475def4c47SEmmanuel Vadot		i2c2: i2c@ffd73000 {
7485def4c47SEmmanuel Vadot			compatible = "snps,designware-i2c";
7495def4c47SEmmanuel Vadot			reg = <0x0 0xffd73000 0x0 0x1000>;
7505def4c47SEmmanuel Vadot			interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
7515def4c47SEmmanuel Vadot			#address-cells = <1>;
7525def4c47SEmmanuel Vadot			#size-cells = <0>;
7535def4c47SEmmanuel Vadot			clock-frequency = <400000>;
7545def4c47SEmmanuel Vadot			clocks = <&iomcu HI3670_CLK_GATE_I2C2>;
7555def4c47SEmmanuel Vadot			resets = <&iomcu_rst 0x20 5>;
7565def4c47SEmmanuel Vadot			pinctrl-names = "default";
7575def4c47SEmmanuel Vadot			pinctrl-0 = <&i2c2_pmx_func &i2c2_cfg_func>;
7585def4c47SEmmanuel Vadot			status = "disabled";
7595def4c47SEmmanuel Vadot		};
7605def4c47SEmmanuel Vadot
7615def4c47SEmmanuel Vadot		i2c3: i2c@fdf0c000 {
7625def4c47SEmmanuel Vadot			compatible = "snps,designware-i2c";
7635def4c47SEmmanuel Vadot			reg = <0x0 0xfdf0c000 0x0 0x1000>;
7645def4c47SEmmanuel Vadot			interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
7655def4c47SEmmanuel Vadot			#address-cells = <1>;
7665def4c47SEmmanuel Vadot			#size-cells = <0>;
7675def4c47SEmmanuel Vadot			clock-frequency = <400000>;
7685def4c47SEmmanuel Vadot			clocks = <&crg_ctrl HI3670_CLK_GATE_I2C3>;
7695def4c47SEmmanuel Vadot			resets = <&crg_rst 0x78 7>;
7705def4c47SEmmanuel Vadot			pinctrl-names = "default";
7715def4c47SEmmanuel Vadot			pinctrl-0 = <&i2c3_pmx_func &i2c3_cfg_func>;
7725def4c47SEmmanuel Vadot			status = "disabled";
7735def4c47SEmmanuel Vadot		};
7745def4c47SEmmanuel Vadot
7755def4c47SEmmanuel Vadot		i2c4: i2c@fdf0d000 {
7765def4c47SEmmanuel Vadot			compatible = "snps,designware-i2c";
7775def4c47SEmmanuel Vadot			reg = <0x0 0xfdf0d000 0x0 0x1000>;
7785def4c47SEmmanuel Vadot			interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
7795def4c47SEmmanuel Vadot			#address-cells = <1>;
7805def4c47SEmmanuel Vadot			#size-cells = <0>;
7815def4c47SEmmanuel Vadot			clock-frequency = <400000>;
7825def4c47SEmmanuel Vadot			clocks = <&crg_ctrl HI3670_CLK_GATE_I2C4>;
7835def4c47SEmmanuel Vadot			resets = <&crg_rst 0x78 27>;
7845def4c47SEmmanuel Vadot			pinctrl-names = "default";
7855def4c47SEmmanuel Vadot			pinctrl-0 = <&i2c4_pmx_func &i2c4_cfg_func>;
7865def4c47SEmmanuel Vadot			status = "disabled";
7875def4c47SEmmanuel Vadot		};
788c66ec88fSEmmanuel Vadot	};
789c66ec88fSEmmanuel Vadot};
790