xref: /freebsd/sys/contrib/device-tree/src/arm64/hisilicon/hi3798cv200.dtsi (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * DTS File for HiSilicon Hi3798cv200 SoC.
4c66ec88fSEmmanuel Vadot *
5c66ec88fSEmmanuel Vadot * Copyright (c) 2016-2017 HiSilicon Technologies Co., Ltd.
6c66ec88fSEmmanuel Vadot */
7c66ec88fSEmmanuel Vadot
8c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/histb-clock.h>
9c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
10c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
11c66ec88fSEmmanuel Vadot#include <dt-bindings/phy/phy.h>
12c66ec88fSEmmanuel Vadot#include <dt-bindings/reset/ti-syscon.h>
13c66ec88fSEmmanuel Vadot
14c66ec88fSEmmanuel Vadot/ {
15c66ec88fSEmmanuel Vadot	compatible = "hisilicon,hi3798cv200";
16c66ec88fSEmmanuel Vadot	interrupt-parent = <&gic>;
17c66ec88fSEmmanuel Vadot	#address-cells = <2>;
18c66ec88fSEmmanuel Vadot	#size-cells = <2>;
19c66ec88fSEmmanuel Vadot
20c66ec88fSEmmanuel Vadot	psci {
21c66ec88fSEmmanuel Vadot		compatible = "arm,psci-0.2";
22c66ec88fSEmmanuel Vadot		method = "smc";
23c66ec88fSEmmanuel Vadot	};
24c66ec88fSEmmanuel Vadot
25c66ec88fSEmmanuel Vadot	cpus {
26c66ec88fSEmmanuel Vadot		#address-cells = <2>;
27c66ec88fSEmmanuel Vadot		#size-cells = <0>;
28c66ec88fSEmmanuel Vadot
29c66ec88fSEmmanuel Vadot		cpu@0 {
30c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
31c66ec88fSEmmanuel Vadot			device_type = "cpu";
32c66ec88fSEmmanuel Vadot			reg = <0x0 0x0>;
33c66ec88fSEmmanuel Vadot			enable-method = "psci";
34*7d0873ebSEmmanuel Vadot			d-cache-size = <0x8000>; /* 32 KiB */
35*7d0873ebSEmmanuel Vadot			d-cache-line-size = <64>;
36*7d0873ebSEmmanuel Vadot			d-cache-sets = <128>;
37*7d0873ebSEmmanuel Vadot			i-cache-size = <0x8000>; /* 32 KiB */
38*7d0873ebSEmmanuel Vadot			i-cache-line-size = <64>;
39*7d0873ebSEmmanuel Vadot			i-cache-sets = <256>;
40*7d0873ebSEmmanuel Vadot			next-level-cache = <&L2>;
41c66ec88fSEmmanuel Vadot		};
42c66ec88fSEmmanuel Vadot
43c66ec88fSEmmanuel Vadot		cpu@1 {
44c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
45c66ec88fSEmmanuel Vadot			device_type = "cpu";
46c66ec88fSEmmanuel Vadot			reg = <0x0 0x1>;
47c66ec88fSEmmanuel Vadot			enable-method = "psci";
48*7d0873ebSEmmanuel Vadot			d-cache-size = <0x8000>; /* 32 KiB */
49*7d0873ebSEmmanuel Vadot			d-cache-line-size = <64>;
50*7d0873ebSEmmanuel Vadot			d-cache-sets = <128>;
51*7d0873ebSEmmanuel Vadot			i-cache-size = <0x8000>; /* 32 KiB */
52*7d0873ebSEmmanuel Vadot			i-cache-line-size = <64>;
53*7d0873ebSEmmanuel Vadot			i-cache-sets = <256>;
54*7d0873ebSEmmanuel Vadot			next-level-cache = <&L2>;
55c66ec88fSEmmanuel Vadot		};
56c66ec88fSEmmanuel Vadot
57c66ec88fSEmmanuel Vadot		cpu@2 {
58c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
59c66ec88fSEmmanuel Vadot			device_type = "cpu";
60c66ec88fSEmmanuel Vadot			reg = <0x0 0x2>;
61c66ec88fSEmmanuel Vadot			enable-method = "psci";
62*7d0873ebSEmmanuel Vadot			d-cache-size = <0x8000>; /* 32 KiB */
63*7d0873ebSEmmanuel Vadot			d-cache-line-size = <64>;
64*7d0873ebSEmmanuel Vadot			d-cache-sets = <128>;
65*7d0873ebSEmmanuel Vadot			i-cache-size = <0x8000>; /* 32 KiB */
66*7d0873ebSEmmanuel Vadot			i-cache-line-size = <64>;
67*7d0873ebSEmmanuel Vadot			i-cache-sets = <256>;
68*7d0873ebSEmmanuel Vadot			next-level-cache = <&L2>;
69c66ec88fSEmmanuel Vadot		};
70c66ec88fSEmmanuel Vadot
71c66ec88fSEmmanuel Vadot		cpu@3 {
72c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a53";
73c66ec88fSEmmanuel Vadot			device_type = "cpu";
74c66ec88fSEmmanuel Vadot			reg = <0x0 0x3>;
75c66ec88fSEmmanuel Vadot			enable-method = "psci";
76*7d0873ebSEmmanuel Vadot			d-cache-size = <0x8000>; /* 32 KiB */
77*7d0873ebSEmmanuel Vadot			d-cache-line-size = <64>;
78*7d0873ebSEmmanuel Vadot			d-cache-sets = <128>;
79*7d0873ebSEmmanuel Vadot			i-cache-size = <0x8000>; /* 32 KiB */
80*7d0873ebSEmmanuel Vadot			i-cache-line-size = <64>;
81*7d0873ebSEmmanuel Vadot			i-cache-sets = <256>;
82*7d0873ebSEmmanuel Vadot			next-level-cache = <&L2>;
83c66ec88fSEmmanuel Vadot		};
84c66ec88fSEmmanuel Vadot	};
85c66ec88fSEmmanuel Vadot
86*7d0873ebSEmmanuel Vadot	L2: l2-cache {
87*7d0873ebSEmmanuel Vadot		compatible = "cache";
88*7d0873ebSEmmanuel Vadot		cache-unified;
89*7d0873ebSEmmanuel Vadot		cache-size = <0x80000>; /* 512 KiB */
90*7d0873ebSEmmanuel Vadot		cache-line-size = <64>;
91*7d0873ebSEmmanuel Vadot		cache-sets = <512>;
92*7d0873ebSEmmanuel Vadot		cache-level = <2>;
93*7d0873ebSEmmanuel Vadot	};
94*7d0873ebSEmmanuel Vadot
95c66ec88fSEmmanuel Vadot	gic: interrupt-controller@f1001000 {
96c66ec88fSEmmanuel Vadot		compatible = "arm,gic-400";
97c66ec88fSEmmanuel Vadot		reg = <0x0 0xf1001000 0x0 0x1000>,  /* GICD */
98*7d0873ebSEmmanuel Vadot		      <0x0 0xf1002000 0x0 0x2000>,  /* GICC */
99*7d0873ebSEmmanuel Vadot		      <0x0 0xf1004000 0x0 0x2000>,  /* GICH */
100*7d0873ebSEmmanuel Vadot		      <0x0 0xf1006000 0x0 0x2000>;  /* GICV */
101*7d0873ebSEmmanuel Vadot		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) |
102*7d0873ebSEmmanuel Vadot			      IRQ_TYPE_LEVEL_HIGH)>;
103c66ec88fSEmmanuel Vadot		#address-cells = <0>;
104c66ec88fSEmmanuel Vadot		#interrupt-cells = <3>;
105c66ec88fSEmmanuel Vadot		interrupt-controller;
106c66ec88fSEmmanuel Vadot	};
107c66ec88fSEmmanuel Vadot
108c66ec88fSEmmanuel Vadot	timer {
109c66ec88fSEmmanuel Vadot		compatible = "arm,armv8-timer";
110c66ec88fSEmmanuel Vadot		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) |
111c66ec88fSEmmanuel Vadot			      IRQ_TYPE_LEVEL_LOW)>,
112c66ec88fSEmmanuel Vadot			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) |
113c66ec88fSEmmanuel Vadot			      IRQ_TYPE_LEVEL_LOW)>,
114c66ec88fSEmmanuel Vadot			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) |
115c66ec88fSEmmanuel Vadot			      IRQ_TYPE_LEVEL_LOW)>,
116c66ec88fSEmmanuel Vadot			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) |
117c66ec88fSEmmanuel Vadot			      IRQ_TYPE_LEVEL_LOW)>;
118c66ec88fSEmmanuel Vadot	};
119c66ec88fSEmmanuel Vadot
120c66ec88fSEmmanuel Vadot	soc: soc@f0000000 {
121c66ec88fSEmmanuel Vadot		compatible = "simple-bus";
122c66ec88fSEmmanuel Vadot		#address-cells = <1>;
123c66ec88fSEmmanuel Vadot		#size-cells = <1>;
124c66ec88fSEmmanuel Vadot		ranges = <0x0 0x0 0xf0000000 0x10000000>;
125c66ec88fSEmmanuel Vadot
126c66ec88fSEmmanuel Vadot		crg: clock-reset-controller@8a22000 {
127c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3798cv200-crg", "syscon", "simple-mfd";
128c66ec88fSEmmanuel Vadot			reg = <0x8a22000 0x1000>;
129c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
130c66ec88fSEmmanuel Vadot			#reset-cells = <2>;
131c66ec88fSEmmanuel Vadot
132c66ec88fSEmmanuel Vadot			gmacphyrst: reset-controller {
133c66ec88fSEmmanuel Vadot				compatible = "ti,syscon-reset";
134c66ec88fSEmmanuel Vadot				#reset-cells = <1>;
1355def4c47SEmmanuel Vadot				ti,reset-bits = <
1365def4c47SEmmanuel Vadot					0xcc 12 0xcc 12 0 0 (ASSERT_CLEAR | DEASSERT_SET | STATUS_NONE)
1375def4c47SEmmanuel Vadot					0xcc 13 0xcc 13 0 0 (ASSERT_CLEAR | DEASSERT_SET | STATUS_NONE)
1385def4c47SEmmanuel Vadot				>;
139c66ec88fSEmmanuel Vadot			};
140c66ec88fSEmmanuel Vadot		};
141c66ec88fSEmmanuel Vadot
142c66ec88fSEmmanuel Vadot		sysctrl: system-controller@8000000 {
143c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3798cv200-sysctrl", "syscon";
144c66ec88fSEmmanuel Vadot			reg = <0x8000000 0x1000>;
145c66ec88fSEmmanuel Vadot			#clock-cells = <1>;
146c66ec88fSEmmanuel Vadot			#reset-cells = <2>;
147c66ec88fSEmmanuel Vadot		};
148c66ec88fSEmmanuel Vadot
149c66ec88fSEmmanuel Vadot		perictrl: peripheral-controller@8a20000 {
150c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3798cv200-perictrl", "syscon",
151c66ec88fSEmmanuel Vadot				     "simple-mfd";
152c66ec88fSEmmanuel Vadot			reg = <0x8a20000 0x1000>;
153c66ec88fSEmmanuel Vadot			#address-cells = <1>;
154c66ec88fSEmmanuel Vadot			#size-cells = <1>;
155c66ec88fSEmmanuel Vadot			ranges = <0x0 0x8a20000 0x1000>;
156c66ec88fSEmmanuel Vadot
1575def4c47SEmmanuel Vadot			usb2_phy1: usb2_phy@120 {
158c66ec88fSEmmanuel Vadot				compatible = "hisilicon,hi3798cv200-usb2-phy";
159c66ec88fSEmmanuel Vadot				reg = <0x120 0x4>;
160c66ec88fSEmmanuel Vadot				clocks = <&crg HISTB_USB2_PHY1_REF_CLK>;
161c66ec88fSEmmanuel Vadot				resets = <&crg 0xbc 4>;
162c66ec88fSEmmanuel Vadot				#address-cells = <1>;
163c66ec88fSEmmanuel Vadot				#size-cells = <0>;
164c66ec88fSEmmanuel Vadot
165c66ec88fSEmmanuel Vadot				usb2_phy1_port0: phy@0 {
166c66ec88fSEmmanuel Vadot					reg = <0>;
167c66ec88fSEmmanuel Vadot					#phy-cells = <0>;
168c66ec88fSEmmanuel Vadot					resets = <&crg 0xbc 8>;
169c66ec88fSEmmanuel Vadot				};
170c66ec88fSEmmanuel Vadot
171c66ec88fSEmmanuel Vadot				usb2_phy1_port1: phy@1 {
172c66ec88fSEmmanuel Vadot					reg = <1>;
173c66ec88fSEmmanuel Vadot					#phy-cells = <0>;
174c66ec88fSEmmanuel Vadot					resets = <&crg 0xbc 9>;
175c66ec88fSEmmanuel Vadot				};
176c66ec88fSEmmanuel Vadot			};
177c66ec88fSEmmanuel Vadot
1785def4c47SEmmanuel Vadot			usb2_phy2: usb2_phy@124 {
179c66ec88fSEmmanuel Vadot				compatible = "hisilicon,hi3798cv200-usb2-phy";
180c66ec88fSEmmanuel Vadot				reg = <0x124 0x4>;
181c66ec88fSEmmanuel Vadot				clocks = <&crg HISTB_USB2_PHY2_REF_CLK>;
182c66ec88fSEmmanuel Vadot				resets = <&crg 0xbc 6>;
183c66ec88fSEmmanuel Vadot				#address-cells = <1>;
184c66ec88fSEmmanuel Vadot				#size-cells = <0>;
185c66ec88fSEmmanuel Vadot
186c66ec88fSEmmanuel Vadot				usb2_phy2_port0: phy@0 {
187c66ec88fSEmmanuel Vadot					reg = <0>;
188c66ec88fSEmmanuel Vadot					#phy-cells = <0>;
189c66ec88fSEmmanuel Vadot					resets = <&crg 0xbc 10>;
190c66ec88fSEmmanuel Vadot				};
191c66ec88fSEmmanuel Vadot			};
192c66ec88fSEmmanuel Vadot
193c66ec88fSEmmanuel Vadot			combphy0: phy@850 {
194c66ec88fSEmmanuel Vadot				compatible = "hisilicon,hi3798cv200-combphy";
195c66ec88fSEmmanuel Vadot				reg = <0x850 0x8>;
196c66ec88fSEmmanuel Vadot				#phy-cells = <1>;
197c66ec88fSEmmanuel Vadot				clocks = <&crg HISTB_COMBPHY0_CLK>;
198c66ec88fSEmmanuel Vadot				resets = <&crg 0x188 4>;
199c66ec88fSEmmanuel Vadot				assigned-clocks = <&crg HISTB_COMBPHY0_CLK>;
200c66ec88fSEmmanuel Vadot				assigned-clock-rates = <100000000>;
201c66ec88fSEmmanuel Vadot				hisilicon,fixed-mode = <PHY_TYPE_USB3>;
202c66ec88fSEmmanuel Vadot			};
203c66ec88fSEmmanuel Vadot
204c66ec88fSEmmanuel Vadot			combphy1: phy@858 {
205c66ec88fSEmmanuel Vadot				compatible = "hisilicon,hi3798cv200-combphy";
206c66ec88fSEmmanuel Vadot				reg = <0x858 0x8>;
207c66ec88fSEmmanuel Vadot				#phy-cells = <1>;
208c66ec88fSEmmanuel Vadot				clocks = <&crg HISTB_COMBPHY1_CLK>;
209c66ec88fSEmmanuel Vadot				resets = <&crg 0x188 12>;
210c66ec88fSEmmanuel Vadot				assigned-clocks = <&crg HISTB_COMBPHY1_CLK>;
211c66ec88fSEmmanuel Vadot				assigned-clock-rates = <100000000>;
212c66ec88fSEmmanuel Vadot				hisilicon,mode-select-bits = <0x0008 11 (0x3 << 11)>;
213c66ec88fSEmmanuel Vadot			};
214c66ec88fSEmmanuel Vadot		};
215c66ec88fSEmmanuel Vadot
216c66ec88fSEmmanuel Vadot		pmx0: pinconf@8a21000 {
217c66ec88fSEmmanuel Vadot			compatible = "pinconf-single";
218c66ec88fSEmmanuel Vadot			reg = <0x8a21000 0x180>;
219c66ec88fSEmmanuel Vadot			pinctrl-single,register-width = <32>;
220c66ec88fSEmmanuel Vadot			pinctrl-single,function-mask = <7>;
221c66ec88fSEmmanuel Vadot			pinctrl-single,gpio-range = <
222c66ec88fSEmmanuel Vadot				&range 0  8 2  /* GPIO 0 */
223c66ec88fSEmmanuel Vadot				&range 8  1 0  /* GPIO 1 */
224c66ec88fSEmmanuel Vadot				&range 9  4 2
225c66ec88fSEmmanuel Vadot				&range 13 1 0
226c66ec88fSEmmanuel Vadot				&range 14 1 1
227c66ec88fSEmmanuel Vadot				&range 15 1 0
228c66ec88fSEmmanuel Vadot				&range 16 5 0  /* GPIO 2 */
229c66ec88fSEmmanuel Vadot				&range 21 3 1
230c66ec88fSEmmanuel Vadot				&range 24 4 1  /* GPIO 3 */
231c66ec88fSEmmanuel Vadot				&range 28 2 2
232c66ec88fSEmmanuel Vadot				&range 86 1 1
233c66ec88fSEmmanuel Vadot				&range 87 1 0
234c66ec88fSEmmanuel Vadot				&range 30 4 2  /* GPIO 4 */
235c66ec88fSEmmanuel Vadot				&range 34 3 0
236c66ec88fSEmmanuel Vadot				&range 37 1 2
237c66ec88fSEmmanuel Vadot				&range 38 3 2  /* GPIO 6 */
238c66ec88fSEmmanuel Vadot				&range 41 5 0
239c66ec88fSEmmanuel Vadot				&range 46 8 1  /* GPIO 7 */
240c66ec88fSEmmanuel Vadot				&range 54 8 1  /* GPIO 8 */
241c66ec88fSEmmanuel Vadot				&range 64 7 1  /* GPIO 9 */
242c66ec88fSEmmanuel Vadot				&range 71 1 0
243c66ec88fSEmmanuel Vadot				&range 72 6 1  /* GPIO 10 */
244c66ec88fSEmmanuel Vadot				&range 78 1 0
245c66ec88fSEmmanuel Vadot				&range 79 1 1
246c66ec88fSEmmanuel Vadot				&range 80 6 1  /* GPIO 11 */
247c66ec88fSEmmanuel Vadot				&range 70 2 1
248c66ec88fSEmmanuel Vadot				&range 88 8 0  /* GPIO 12 */
249c66ec88fSEmmanuel Vadot			>;
250c66ec88fSEmmanuel Vadot
251c66ec88fSEmmanuel Vadot			range: gpio-range {
252c66ec88fSEmmanuel Vadot				#pinctrl-single,gpio-range-cells = <3>;
253c66ec88fSEmmanuel Vadot			};
254c66ec88fSEmmanuel Vadot		};
255c66ec88fSEmmanuel Vadot
256c66ec88fSEmmanuel Vadot		uart0: serial@8b00000 {
257c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
258c66ec88fSEmmanuel Vadot			reg = <0x8b00000 0x1000>;
259c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
2605def4c47SEmmanuel Vadot			clocks = <&sysctrl HISTB_UART0_CLK>, <&sysctrl HISTB_UART0_CLK>;
2615def4c47SEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
262c66ec88fSEmmanuel Vadot			status = "disabled";
263c66ec88fSEmmanuel Vadot		};
264c66ec88fSEmmanuel Vadot
265c66ec88fSEmmanuel Vadot		uart2: serial@8b02000 {
266c66ec88fSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
267c66ec88fSEmmanuel Vadot			reg = <0x8b02000 0x1000>;
268c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
2695def4c47SEmmanuel Vadot			clocks = <&crg HISTB_UART2_CLK>, <&crg HISTB_UART2_CLK>;
2705def4c47SEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
271c66ec88fSEmmanuel Vadot			status = "disabled";
272c66ec88fSEmmanuel Vadot		};
273c66ec88fSEmmanuel Vadot
274c66ec88fSEmmanuel Vadot		i2c0: i2c@8b10000 {
275c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hix5hd2-i2c";
276c66ec88fSEmmanuel Vadot			reg = <0x8b10000 0x1000>;
277c66ec88fSEmmanuel Vadot			#address-cells = <1>;
278c66ec88fSEmmanuel Vadot			#size-cells = <0>;
279c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
280c66ec88fSEmmanuel Vadot			clock-frequency = <400000>;
281c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_I2C0_CLK>;
282c66ec88fSEmmanuel Vadot			status = "disabled";
283c66ec88fSEmmanuel Vadot		};
284c66ec88fSEmmanuel Vadot
285c66ec88fSEmmanuel Vadot		i2c1: i2c@8b11000 {
286c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hix5hd2-i2c";
287c66ec88fSEmmanuel Vadot			reg = <0x8b11000 0x1000>;
288c66ec88fSEmmanuel Vadot			#address-cells = <1>;
289c66ec88fSEmmanuel Vadot			#size-cells = <0>;
290c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
291c66ec88fSEmmanuel Vadot			clock-frequency = <400000>;
292c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_I2C1_CLK>;
293c66ec88fSEmmanuel Vadot			status = "disabled";
294c66ec88fSEmmanuel Vadot		};
295c66ec88fSEmmanuel Vadot
296c66ec88fSEmmanuel Vadot		i2c2: i2c@8b12000 {
297c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hix5hd2-i2c";
298c66ec88fSEmmanuel Vadot			reg = <0x8b12000 0x1000>;
299c66ec88fSEmmanuel Vadot			#address-cells = <1>;
300c66ec88fSEmmanuel Vadot			#size-cells = <0>;
301c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
302c66ec88fSEmmanuel Vadot			clock-frequency = <400000>;
303c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_I2C2_CLK>;
304c66ec88fSEmmanuel Vadot			status = "disabled";
305c66ec88fSEmmanuel Vadot		};
306c66ec88fSEmmanuel Vadot
307c66ec88fSEmmanuel Vadot		i2c3: i2c@8b13000 {
308c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hix5hd2-i2c";
309c66ec88fSEmmanuel Vadot			reg = <0x8b13000 0x1000>;
310c66ec88fSEmmanuel Vadot			#address-cells = <1>;
311c66ec88fSEmmanuel Vadot			#size-cells = <0>;
312c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
313c66ec88fSEmmanuel Vadot			clock-frequency = <400000>;
314c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_I2C3_CLK>;
315c66ec88fSEmmanuel Vadot			status = "disabled";
316c66ec88fSEmmanuel Vadot		};
317c66ec88fSEmmanuel Vadot
318c66ec88fSEmmanuel Vadot		i2c4: i2c@8b14000 {
319c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hix5hd2-i2c";
320c66ec88fSEmmanuel Vadot			reg = <0x8b14000 0x1000>;
321c66ec88fSEmmanuel Vadot			#address-cells = <1>;
322c66ec88fSEmmanuel Vadot			#size-cells = <0>;
323c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
324c66ec88fSEmmanuel Vadot			clock-frequency = <400000>;
325c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_I2C4_CLK>;
326c66ec88fSEmmanuel Vadot			status = "disabled";
327c66ec88fSEmmanuel Vadot		};
328c66ec88fSEmmanuel Vadot
329c66ec88fSEmmanuel Vadot		spi0: spi@8b1a000 {
330c66ec88fSEmmanuel Vadot			compatible = "arm,pl022", "arm,primecell";
331c66ec88fSEmmanuel Vadot			reg = <0x8b1a000 0x1000>;
332c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
333c66ec88fSEmmanuel Vadot			num-cs = <1>;
334c66ec88fSEmmanuel Vadot			cs-gpios = <&gpio7 1 0>;
3355def4c47SEmmanuel Vadot			clocks = <&crg HISTB_SPI0_CLK>, <&crg HISTB_SPI0_CLK>;
3365def4c47SEmmanuel Vadot			clock-names = "sspclk", "apb_pclk";
337c66ec88fSEmmanuel Vadot			#address-cells = <1>;
338c66ec88fSEmmanuel Vadot			#size-cells = <0>;
339c66ec88fSEmmanuel Vadot			status = "disabled";
340c66ec88fSEmmanuel Vadot		};
341c66ec88fSEmmanuel Vadot
342c66ec88fSEmmanuel Vadot		sd0: mmc@9820000 {
343c66ec88fSEmmanuel Vadot			compatible = "snps,dw-mshc";
344c66ec88fSEmmanuel Vadot			reg = <0x9820000 0x10000>;
345c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
346aa1a8ff2SEmmanuel Vadot			clocks = <&crg HISTB_SDIO0_BIU_CLK>,
347aa1a8ff2SEmmanuel Vadot				 <&crg HISTB_SDIO0_CIU_CLK>;
3485def4c47SEmmanuel Vadot			clock-names = "biu", "ciu";
349c66ec88fSEmmanuel Vadot			resets = <&crg 0x9c 4>;
350c66ec88fSEmmanuel Vadot			reset-names = "reset";
351c66ec88fSEmmanuel Vadot			status = "disabled";
352c66ec88fSEmmanuel Vadot		};
353c66ec88fSEmmanuel Vadot
354c66ec88fSEmmanuel Vadot		emmc: mmc@9830000 {
355c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3798cv200-dw-mshc";
356c66ec88fSEmmanuel Vadot			reg = <0x9830000 0x10000>;
357c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
358c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_MMC_CIU_CLK>,
359c66ec88fSEmmanuel Vadot				 <&crg HISTB_MMC_BIU_CLK>,
360c66ec88fSEmmanuel Vadot				 <&crg HISTB_MMC_SAMPLE_CLK>,
361c66ec88fSEmmanuel Vadot				 <&crg HISTB_MMC_DRV_CLK>;
362c66ec88fSEmmanuel Vadot			clock-names = "ciu", "biu", "ciu-sample", "ciu-drive";
363c66ec88fSEmmanuel Vadot			resets = <&crg 0xa0 4>;
364c66ec88fSEmmanuel Vadot			reset-names = "reset";
365c66ec88fSEmmanuel Vadot			status = "disabled";
366c66ec88fSEmmanuel Vadot		};
367c66ec88fSEmmanuel Vadot
368c66ec88fSEmmanuel Vadot		gpio0: gpio@8b20000 {
369c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
370c66ec88fSEmmanuel Vadot			reg = <0x8b20000 0x1000>;
371c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
372c66ec88fSEmmanuel Vadot			gpio-controller;
373c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
374c66ec88fSEmmanuel Vadot			interrupt-controller;
375c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
376c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 0 8>;
377c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_APB_CLK>;
378c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
379c66ec88fSEmmanuel Vadot			status = "disabled";
380c66ec88fSEmmanuel Vadot		};
381c66ec88fSEmmanuel Vadot
382c66ec88fSEmmanuel Vadot		gpio1: gpio@8b21000 {
383c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
384c66ec88fSEmmanuel Vadot			reg = <0x8b21000 0x1000>;
385c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
386c66ec88fSEmmanuel Vadot			gpio-controller;
387c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
388c66ec88fSEmmanuel Vadot			interrupt-controller;
389c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
390c66ec88fSEmmanuel Vadot			gpio-ranges = <
391c66ec88fSEmmanuel Vadot				&pmx0 0 8 1
392c66ec88fSEmmanuel Vadot				&pmx0 1 9 4
393c66ec88fSEmmanuel Vadot				&pmx0 5 13 1
394c66ec88fSEmmanuel Vadot				&pmx0 6 14 1
395c66ec88fSEmmanuel Vadot				&pmx0 7 15 1
396c66ec88fSEmmanuel Vadot			>;
397c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_APB_CLK>;
398c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
399c66ec88fSEmmanuel Vadot			status = "disabled";
400c66ec88fSEmmanuel Vadot		};
401c66ec88fSEmmanuel Vadot
402c66ec88fSEmmanuel Vadot		gpio2: gpio@8b22000 {
403c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
404c66ec88fSEmmanuel Vadot			reg = <0x8b22000 0x1000>;
405c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
406c66ec88fSEmmanuel Vadot			gpio-controller;
407c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
408c66ec88fSEmmanuel Vadot			interrupt-controller;
409c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
410c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 16 5 &pmx0 5 21 3>;
411c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_APB_CLK>;
412c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
413c66ec88fSEmmanuel Vadot			status = "disabled";
414c66ec88fSEmmanuel Vadot		};
415c66ec88fSEmmanuel Vadot
416c66ec88fSEmmanuel Vadot		gpio3: gpio@8b23000 {
417c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
418c66ec88fSEmmanuel Vadot			reg = <0x8b23000 0x1000>;
419c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
420c66ec88fSEmmanuel Vadot			gpio-controller;
421c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
422c66ec88fSEmmanuel Vadot			interrupt-controller;
423c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
424c66ec88fSEmmanuel Vadot			gpio-ranges = <
425c66ec88fSEmmanuel Vadot				&pmx0 0 24 4
426c66ec88fSEmmanuel Vadot				&pmx0 4 28 2
427c66ec88fSEmmanuel Vadot				&pmx0 6 86 1
428c66ec88fSEmmanuel Vadot				&pmx0 7 87 1
429c66ec88fSEmmanuel Vadot			>;
430c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_APB_CLK>;
431c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
432c66ec88fSEmmanuel Vadot			status = "disabled";
433c66ec88fSEmmanuel Vadot		};
434c66ec88fSEmmanuel Vadot
435c66ec88fSEmmanuel Vadot		gpio4: gpio@8b24000 {
436c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
437c66ec88fSEmmanuel Vadot			reg = <0x8b24000 0x1000>;
438c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
439c66ec88fSEmmanuel Vadot			gpio-controller;
440c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
441c66ec88fSEmmanuel Vadot			interrupt-controller;
442c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
443c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 30 4 &pmx0 4 34 3 &pmx0 7 37 1>;
444c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_APB_CLK>;
445c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
446c66ec88fSEmmanuel Vadot			status = "disabled";
447c66ec88fSEmmanuel Vadot		};
448c66ec88fSEmmanuel Vadot
449c66ec88fSEmmanuel Vadot		gpio5: gpio@8004000 {
450c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
451c66ec88fSEmmanuel Vadot			reg = <0x8004000 0x1000>;
452c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
453c66ec88fSEmmanuel Vadot			gpio-controller;
454c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
455c66ec88fSEmmanuel Vadot			interrupt-controller;
456c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
457c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_APB_CLK>;
458c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
459c66ec88fSEmmanuel Vadot			status = "disabled";
460c66ec88fSEmmanuel Vadot		};
461c66ec88fSEmmanuel Vadot
462c66ec88fSEmmanuel Vadot		gpio6: gpio@8b26000 {
463c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
464c66ec88fSEmmanuel Vadot			reg = <0x8b26000 0x1000>;
465c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
466c66ec88fSEmmanuel Vadot			gpio-controller;
467c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
468c66ec88fSEmmanuel Vadot			interrupt-controller;
469c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
470c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 38 3 &pmx0 0 41 5>;
471c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_APB_CLK>;
472c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
473c66ec88fSEmmanuel Vadot			status = "disabled";
474c66ec88fSEmmanuel Vadot		};
475c66ec88fSEmmanuel Vadot
476c66ec88fSEmmanuel Vadot		gpio7: gpio@8b27000 {
477c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
478c66ec88fSEmmanuel Vadot			reg = <0x8b27000 0x1000>;
479c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
480c66ec88fSEmmanuel Vadot			gpio-controller;
481c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
482c66ec88fSEmmanuel Vadot			interrupt-controller;
483c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
484c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 46 8>;
485c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_APB_CLK>;
486c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
487c66ec88fSEmmanuel Vadot			status = "disabled";
488c66ec88fSEmmanuel Vadot		};
489c66ec88fSEmmanuel Vadot
490c66ec88fSEmmanuel Vadot		gpio8: gpio@8b28000 {
491c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
492c66ec88fSEmmanuel Vadot			reg = <0x8b28000 0x1000>;
493c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
494c66ec88fSEmmanuel Vadot			gpio-controller;
495c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
496c66ec88fSEmmanuel Vadot			interrupt-controller;
497c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
498c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 54 8>;
499c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_APB_CLK>;
500c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
501c66ec88fSEmmanuel Vadot			status = "disabled";
502c66ec88fSEmmanuel Vadot		};
503c66ec88fSEmmanuel Vadot
504c66ec88fSEmmanuel Vadot		gpio9: gpio@8b29000 {
505c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
506c66ec88fSEmmanuel Vadot			reg = <0x8b29000 0x1000>;
507c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
508c66ec88fSEmmanuel Vadot			gpio-controller;
509c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
510c66ec88fSEmmanuel Vadot			interrupt-controller;
511c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
512c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 64 7 &pmx0 71 1>;
513c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_APB_CLK>;
514c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
515c66ec88fSEmmanuel Vadot			status = "disabled";
516c66ec88fSEmmanuel Vadot		};
517c66ec88fSEmmanuel Vadot
518c66ec88fSEmmanuel Vadot		gpio10: gpio@8b2a000 {
519c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
520c66ec88fSEmmanuel Vadot			reg = <0x8b2a000 0x1000>;
521c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
522c66ec88fSEmmanuel Vadot			gpio-controller;
523c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
524c66ec88fSEmmanuel Vadot			interrupt-controller;
525c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
526c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 72 6 &pmx0 6 78 1 &pmx0 7 79 1>;
527c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_APB_CLK>;
528c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
529c66ec88fSEmmanuel Vadot			status = "disabled";
530c66ec88fSEmmanuel Vadot		};
531c66ec88fSEmmanuel Vadot
532c66ec88fSEmmanuel Vadot		gpio11: gpio@8b2b000 {
533c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
534c66ec88fSEmmanuel Vadot			reg = <0x8b2b000 0x1000>;
535c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
536c66ec88fSEmmanuel Vadot			gpio-controller;
537c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
538c66ec88fSEmmanuel Vadot			interrupt-controller;
539c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
540c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 80 6 &pmx0 6 70 2>;
541c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_APB_CLK>;
542c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
543c66ec88fSEmmanuel Vadot			status = "disabled";
544c66ec88fSEmmanuel Vadot		};
545c66ec88fSEmmanuel Vadot
546c66ec88fSEmmanuel Vadot		gpio12: gpio@8b2c000 {
547c66ec88fSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
548c66ec88fSEmmanuel Vadot			reg = <0x8b2c000 0x1000>;
549c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
550c66ec88fSEmmanuel Vadot			gpio-controller;
551c66ec88fSEmmanuel Vadot			#gpio-cells = <2>;
552c66ec88fSEmmanuel Vadot			interrupt-controller;
553c66ec88fSEmmanuel Vadot			#interrupt-cells = <2>;
554c66ec88fSEmmanuel Vadot			gpio-ranges = <&pmx0 0 88 8>;
555c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_APB_CLK>;
556c66ec88fSEmmanuel Vadot			clock-names = "apb_pclk";
557c66ec88fSEmmanuel Vadot			status = "disabled";
558c66ec88fSEmmanuel Vadot		};
559c66ec88fSEmmanuel Vadot
560c66ec88fSEmmanuel Vadot		gmac0: ethernet@9840000 {
561c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3798cv200-gmac", "hisilicon,hisi-gmac-v2";
562c66ec88fSEmmanuel Vadot			reg = <0x9840000 0x1000>,
563c66ec88fSEmmanuel Vadot			      <0x984300c 0x4>;
564c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
565c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_ETH0_MAC_CLK>,
566c66ec88fSEmmanuel Vadot				 <&crg HISTB_ETH0_MACIF_CLK>;
567c66ec88fSEmmanuel Vadot			clock-names = "mac_core", "mac_ifc";
568c66ec88fSEmmanuel Vadot			resets = <&crg 0xcc 8>,
569c66ec88fSEmmanuel Vadot				 <&crg 0xcc 10>,
570c66ec88fSEmmanuel Vadot				 <&gmacphyrst 0>;
571c66ec88fSEmmanuel Vadot			reset-names = "mac_core", "mac_ifc", "phy";
572c66ec88fSEmmanuel Vadot			status = "disabled";
573c66ec88fSEmmanuel Vadot		};
574c66ec88fSEmmanuel Vadot
575c66ec88fSEmmanuel Vadot		gmac1: ethernet@9841000 {
576c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3798cv200-gmac", "hisilicon,hisi-gmac-v2";
577c66ec88fSEmmanuel Vadot			reg = <0x9841000 0x1000>,
578c66ec88fSEmmanuel Vadot			      <0x9843010 0x4>;
579c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
580c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_ETH1_MAC_CLK>,
581c66ec88fSEmmanuel Vadot				 <&crg HISTB_ETH1_MACIF_CLK>;
582c66ec88fSEmmanuel Vadot			clock-names = "mac_core", "mac_ifc";
583c66ec88fSEmmanuel Vadot			resets = <&crg 0xcc 9>,
584c66ec88fSEmmanuel Vadot				 <&crg 0xcc 11>,
585c66ec88fSEmmanuel Vadot				 <&gmacphyrst 1>;
586c66ec88fSEmmanuel Vadot			reset-names = "mac_core", "mac_ifc", "phy";
587c66ec88fSEmmanuel Vadot			status = "disabled";
588c66ec88fSEmmanuel Vadot		};
589c66ec88fSEmmanuel Vadot
590c66ec88fSEmmanuel Vadot		ir: ir@8001000 {
591c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hix5hd2-ir";
592c66ec88fSEmmanuel Vadot			reg = <0x8001000 0x1000>;
593c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
594c66ec88fSEmmanuel Vadot			clocks = <&sysctrl HISTB_IR_CLK>;
595c66ec88fSEmmanuel Vadot			status = "disabled";
596c66ec88fSEmmanuel Vadot		};
597c66ec88fSEmmanuel Vadot
598c66ec88fSEmmanuel Vadot		pcie: pcie@9860000 {
599c66ec88fSEmmanuel Vadot			compatible = "hisilicon,hi3798cv200-pcie";
600c66ec88fSEmmanuel Vadot			reg = <0x9860000 0x1000>,
601c66ec88fSEmmanuel Vadot			      <0x0 0x2000>,
602c66ec88fSEmmanuel Vadot			      <0x2000000 0x01000000>;
603c66ec88fSEmmanuel Vadot			reg-names = "control", "rc-dbi", "config";
604c66ec88fSEmmanuel Vadot			#address-cells = <3>;
605c66ec88fSEmmanuel Vadot			#size-cells = <2>;
606c66ec88fSEmmanuel Vadot			device_type = "pci";
607c66ec88fSEmmanuel Vadot			bus-range = <0x00 0xff>;
608c66ec88fSEmmanuel Vadot			num-lanes = <1>;
6095def4c47SEmmanuel Vadot			ranges = <0x81000000 0x0 0x00000000 0x4f00000 0x0 0x100000>,
6105def4c47SEmmanuel Vadot				 <0x82000000 0x0 0x3000000 0x3000000 0x0 0x01f00000>;
611c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
612c66ec88fSEmmanuel Vadot			interrupt-names = "msi";
613c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
614c66ec88fSEmmanuel Vadot			interrupt-map-mask = <0 0 0 0>;
615c66ec88fSEmmanuel Vadot			interrupt-map = <0 0 0 0 &gic 0 131 IRQ_TYPE_LEVEL_HIGH>;
616c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_PCIE_AUX_CLK>,
617c66ec88fSEmmanuel Vadot				 <&crg HISTB_PCIE_PIPE_CLK>,
618c66ec88fSEmmanuel Vadot				 <&crg HISTB_PCIE_SYS_CLK>,
619c66ec88fSEmmanuel Vadot				 <&crg HISTB_PCIE_BUS_CLK>;
620c66ec88fSEmmanuel Vadot			clock-names = "aux", "pipe", "sys", "bus";
621c66ec88fSEmmanuel Vadot			resets = <&crg 0x18c 6>, <&crg 0x18c 5>, <&crg 0x18c 4>;
622c66ec88fSEmmanuel Vadot			reset-names = "soft", "sys", "bus";
623c66ec88fSEmmanuel Vadot			phys = <&combphy1 PHY_TYPE_PCIE>;
624c66ec88fSEmmanuel Vadot			phy-names = "phy";
625c66ec88fSEmmanuel Vadot			status = "disabled";
626c66ec88fSEmmanuel Vadot		};
627c66ec88fSEmmanuel Vadot
6285def4c47SEmmanuel Vadot		ohci: usb@9880000 {
629c66ec88fSEmmanuel Vadot			compatible = "generic-ohci";
630c66ec88fSEmmanuel Vadot			reg = <0x9880000 0x10000>;
631c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
632c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_USB2_BUS_CLK>,
633c66ec88fSEmmanuel Vadot				 <&crg HISTB_USB2_12M_CLK>,
634c66ec88fSEmmanuel Vadot				 <&crg HISTB_USB2_48M_CLK>;
635c66ec88fSEmmanuel Vadot			clock-names = "bus", "clk12", "clk48";
636c66ec88fSEmmanuel Vadot			resets = <&crg 0xb8 12>;
637c66ec88fSEmmanuel Vadot			reset-names = "bus";
638c66ec88fSEmmanuel Vadot			phys = <&usb2_phy1_port0>;
639c66ec88fSEmmanuel Vadot			phy-names = "usb";
640c66ec88fSEmmanuel Vadot			status = "disabled";
641c66ec88fSEmmanuel Vadot		};
642c66ec88fSEmmanuel Vadot
6435def4c47SEmmanuel Vadot		ehci: usb@9890000 {
644c66ec88fSEmmanuel Vadot			compatible = "generic-ehci";
645c66ec88fSEmmanuel Vadot			reg = <0x9890000 0x10000>;
646c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
647c66ec88fSEmmanuel Vadot			clocks = <&crg HISTB_USB2_BUS_CLK>,
648c66ec88fSEmmanuel Vadot				 <&crg HISTB_USB2_PHY_CLK>,
649c66ec88fSEmmanuel Vadot				 <&crg HISTB_USB2_UTMI_CLK>;
650c66ec88fSEmmanuel Vadot			clock-names = "bus", "phy", "utmi";
651c66ec88fSEmmanuel Vadot			resets = <&crg 0xb8 12>,
652c66ec88fSEmmanuel Vadot				 <&crg 0xb8 16>,
653c66ec88fSEmmanuel Vadot				 <&crg 0xb8 13>;
654c66ec88fSEmmanuel Vadot			reset-names = "bus", "phy", "utmi";
655c66ec88fSEmmanuel Vadot			phys = <&usb2_phy1_port0>;
656c66ec88fSEmmanuel Vadot			phy-names = "usb";
657c66ec88fSEmmanuel Vadot			status = "disabled";
658c66ec88fSEmmanuel Vadot		};
659c66ec88fSEmmanuel Vadot	};
660c66ec88fSEmmanuel Vadot};
661