xref: /rk3399_rockchip-uboot/arch/arm/dts/hi3798cv200.dtsi (revision ccaa83f8026a2359aabc9925a8a1f0e60f0b3fce)
1*ccaa83f8SJorge Ramirez-Ortiz/*
2*ccaa83f8SJorge Ramirez-Ortiz * DTS File for HiSilicon Hi3798cv200 SoC.
3*ccaa83f8SJorge Ramirez-Ortiz *
4*ccaa83f8SJorge Ramirez-Ortiz * Copyright (c) 2016-2017 HiSilicon Technologies Co., Ltd.
5*ccaa83f8SJorge Ramirez-Ortiz *
6*ccaa83f8SJorge Ramirez-Ortiz * Released under the GPLv2 only.
7*ccaa83f8SJorge Ramirez-Ortiz * SPDX-License-Identifier: GPL-2.0
8*ccaa83f8SJorge Ramirez-Ortiz */
9*ccaa83f8SJorge Ramirez-Ortiz
10*ccaa83f8SJorge Ramirez-Ortiz#include <dt-bindings/clock/histb-clock.h>
11*ccaa83f8SJorge Ramirez-Ortiz#include <dt-bindings/interrupt-controller/arm-gic.h>
12*ccaa83f8SJorge Ramirez-Ortiz#include <dt-bindings/reset/ti-syscon.h>
13*ccaa83f8SJorge Ramirez-Ortiz
14*ccaa83f8SJorge Ramirez-Ortiz/ {
15*ccaa83f8SJorge Ramirez-Ortiz	compatible = "hisilicon,hi3798cv200";
16*ccaa83f8SJorge Ramirez-Ortiz	interrupt-parent = <&gic>;
17*ccaa83f8SJorge Ramirez-Ortiz	#address-cells = <2>;
18*ccaa83f8SJorge Ramirez-Ortiz	#size-cells = <2>;
19*ccaa83f8SJorge Ramirez-Ortiz
20*ccaa83f8SJorge Ramirez-Ortiz	psci {
21*ccaa83f8SJorge Ramirez-Ortiz		compatible = "arm,psci-0.2";
22*ccaa83f8SJorge Ramirez-Ortiz		method = "smc";
23*ccaa83f8SJorge Ramirez-Ortiz	};
24*ccaa83f8SJorge Ramirez-Ortiz
25*ccaa83f8SJorge Ramirez-Ortiz	cpus {
26*ccaa83f8SJorge Ramirez-Ortiz		#address-cells = <2>;
27*ccaa83f8SJorge Ramirez-Ortiz		#size-cells = <0>;
28*ccaa83f8SJorge Ramirez-Ortiz
29*ccaa83f8SJorge Ramirez-Ortiz		cpu@0 {
30*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,cortex-a53";
31*ccaa83f8SJorge Ramirez-Ortiz			device_type = "cpu";
32*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x0 0x0>;
33*ccaa83f8SJorge Ramirez-Ortiz			enable-method = "psci";
34*ccaa83f8SJorge Ramirez-Ortiz		};
35*ccaa83f8SJorge Ramirez-Ortiz
36*ccaa83f8SJorge Ramirez-Ortiz		cpu@1 {
37*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,cortex-a53";
38*ccaa83f8SJorge Ramirez-Ortiz			device_type = "cpu";
39*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x0 0x1>;
40*ccaa83f8SJorge Ramirez-Ortiz			enable-method = "psci";
41*ccaa83f8SJorge Ramirez-Ortiz		};
42*ccaa83f8SJorge Ramirez-Ortiz
43*ccaa83f8SJorge Ramirez-Ortiz		cpu@2 {
44*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,cortex-a53";
45*ccaa83f8SJorge Ramirez-Ortiz			device_type = "cpu";
46*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x0 0x2>;
47*ccaa83f8SJorge Ramirez-Ortiz			enable-method = "psci";
48*ccaa83f8SJorge Ramirez-Ortiz		};
49*ccaa83f8SJorge Ramirez-Ortiz
50*ccaa83f8SJorge Ramirez-Ortiz		cpu@3 {
51*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,cortex-a53";
52*ccaa83f8SJorge Ramirez-Ortiz			device_type = "cpu";
53*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x0 0x3>;
54*ccaa83f8SJorge Ramirez-Ortiz			enable-method = "psci";
55*ccaa83f8SJorge Ramirez-Ortiz		};
56*ccaa83f8SJorge Ramirez-Ortiz	};
57*ccaa83f8SJorge Ramirez-Ortiz
58*ccaa83f8SJorge Ramirez-Ortiz	gic: interrupt-controller@f1001000 {
59*ccaa83f8SJorge Ramirez-Ortiz		compatible = "arm,gic-400";
60*ccaa83f8SJorge Ramirez-Ortiz		reg = <0x0 0xf1001000 0x0 0x1000>,  /* GICD */
61*ccaa83f8SJorge Ramirez-Ortiz		      <0x0 0xf1002000 0x0 0x100>;   /* GICC */
62*ccaa83f8SJorge Ramirez-Ortiz		#address-cells = <0>;
63*ccaa83f8SJorge Ramirez-Ortiz		#interrupt-cells = <3>;
64*ccaa83f8SJorge Ramirez-Ortiz		interrupt-controller;
65*ccaa83f8SJorge Ramirez-Ortiz	};
66*ccaa83f8SJorge Ramirez-Ortiz
67*ccaa83f8SJorge Ramirez-Ortiz	timer {
68*ccaa83f8SJorge Ramirez-Ortiz		compatible = "arm,armv8-timer";
69*ccaa83f8SJorge Ramirez-Ortiz		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) |
70*ccaa83f8SJorge Ramirez-Ortiz			      IRQ_TYPE_LEVEL_LOW)>,
71*ccaa83f8SJorge Ramirez-Ortiz			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) |
72*ccaa83f8SJorge Ramirez-Ortiz			      IRQ_TYPE_LEVEL_LOW)>,
73*ccaa83f8SJorge Ramirez-Ortiz			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) |
74*ccaa83f8SJorge Ramirez-Ortiz			      IRQ_TYPE_LEVEL_LOW)>,
75*ccaa83f8SJorge Ramirez-Ortiz			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) |
76*ccaa83f8SJorge Ramirez-Ortiz			      IRQ_TYPE_LEVEL_LOW)>;
77*ccaa83f8SJorge Ramirez-Ortiz	};
78*ccaa83f8SJorge Ramirez-Ortiz
79*ccaa83f8SJorge Ramirez-Ortiz	soc: soc@f0000000 {
80*ccaa83f8SJorge Ramirez-Ortiz		compatible = "simple-bus";
81*ccaa83f8SJorge Ramirez-Ortiz		#address-cells = <1>;
82*ccaa83f8SJorge Ramirez-Ortiz		#size-cells = <1>;
83*ccaa83f8SJorge Ramirez-Ortiz		ranges = <0x0 0x0 0xf0000000 0x10000000>;
84*ccaa83f8SJorge Ramirez-Ortiz
85*ccaa83f8SJorge Ramirez-Ortiz		crg: clock-reset-controller@8a22000 {
86*ccaa83f8SJorge Ramirez-Ortiz			compatible = "hisilicon,hi3798cv200-crg", "syscon", "simple-mfd";
87*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8a22000 0x1000>;
88*ccaa83f8SJorge Ramirez-Ortiz			#clock-cells = <1>;
89*ccaa83f8SJorge Ramirez-Ortiz			#reset-cells = <2>;
90*ccaa83f8SJorge Ramirez-Ortiz
91*ccaa83f8SJorge Ramirez-Ortiz			gmacphyrst: reset-controller {
92*ccaa83f8SJorge Ramirez-Ortiz				compatible = "ti,syscon-reset";
93*ccaa83f8SJorge Ramirez-Ortiz				#reset-cells = <1>;
94*ccaa83f8SJorge Ramirez-Ortiz				ti,reset-bits =
95*ccaa83f8SJorge Ramirez-Ortiz					<0xcc 12 0xcc 12 0 0 (ASSERT_CLEAR |
96*ccaa83f8SJorge Ramirez-Ortiz					 DEASSERT_SET|STATUS_NONE)>,
97*ccaa83f8SJorge Ramirez-Ortiz					<0xcc 13 0xcc 13 0 0 (ASSERT_CLEAR |
98*ccaa83f8SJorge Ramirez-Ortiz					 DEASSERT_SET|STATUS_NONE)>;
99*ccaa83f8SJorge Ramirez-Ortiz			};
100*ccaa83f8SJorge Ramirez-Ortiz		};
101*ccaa83f8SJorge Ramirez-Ortiz
102*ccaa83f8SJorge Ramirez-Ortiz		sysctrl: system-controller@8000000 {
103*ccaa83f8SJorge Ramirez-Ortiz			compatible = "hisilicon,hi3798cv200-sysctrl", "syscon";
104*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8000000 0x1000>;
105*ccaa83f8SJorge Ramirez-Ortiz			#clock-cells = <1>;
106*ccaa83f8SJorge Ramirez-Ortiz			#reset-cells = <2>;
107*ccaa83f8SJorge Ramirez-Ortiz		};
108*ccaa83f8SJorge Ramirez-Ortiz
109*ccaa83f8SJorge Ramirez-Ortiz		uart0: serial@8b00000 {
110*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl011", "arm,primecell";
111*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b00000 0x1000>;
112*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
113*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&sysctrl HISTB_UART0_CLK>;
114*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
115*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
116*ccaa83f8SJorge Ramirez-Ortiz		};
117*ccaa83f8SJorge Ramirez-Ortiz
118*ccaa83f8SJorge Ramirez-Ortiz		uart2: serial@8b02000 {
119*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl011", "arm,primecell";
120*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b02000 0x1000>;
121*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
122*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_UART2_CLK>;
123*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
124*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
125*ccaa83f8SJorge Ramirez-Ortiz		};
126*ccaa83f8SJorge Ramirez-Ortiz
127*ccaa83f8SJorge Ramirez-Ortiz		i2c0: i2c@8b10000 {
128*ccaa83f8SJorge Ramirez-Ortiz			compatible = "hisilicon,hix5hd2-i2c";
129*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b10000 0x1000>;
130*ccaa83f8SJorge Ramirez-Ortiz			#address-cells = <1>;
131*ccaa83f8SJorge Ramirez-Ortiz			#size-cells = <0>;
132*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
133*ccaa83f8SJorge Ramirez-Ortiz			clock-frequency = <400000>;
134*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_I2C0_CLK>;
135*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
136*ccaa83f8SJorge Ramirez-Ortiz		};
137*ccaa83f8SJorge Ramirez-Ortiz
138*ccaa83f8SJorge Ramirez-Ortiz		i2c1: i2c@8b11000 {
139*ccaa83f8SJorge Ramirez-Ortiz			compatible = "hisilicon,hix5hd2-i2c";
140*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b11000 0x1000>;
141*ccaa83f8SJorge Ramirez-Ortiz			#address-cells = <1>;
142*ccaa83f8SJorge Ramirez-Ortiz			#size-cells = <0>;
143*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
144*ccaa83f8SJorge Ramirez-Ortiz			clock-frequency = <400000>;
145*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_I2C1_CLK>;
146*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
147*ccaa83f8SJorge Ramirez-Ortiz		};
148*ccaa83f8SJorge Ramirez-Ortiz
149*ccaa83f8SJorge Ramirez-Ortiz		i2c2: i2c@8b12000 {
150*ccaa83f8SJorge Ramirez-Ortiz			compatible = "hisilicon,hix5hd2-i2c";
151*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b12000 0x1000>;
152*ccaa83f8SJorge Ramirez-Ortiz			#address-cells = <1>;
153*ccaa83f8SJorge Ramirez-Ortiz			#size-cells = <0>;
154*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
155*ccaa83f8SJorge Ramirez-Ortiz			clock-frequency = <400000>;
156*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_I2C2_CLK>;
157*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
158*ccaa83f8SJorge Ramirez-Ortiz		};
159*ccaa83f8SJorge Ramirez-Ortiz
160*ccaa83f8SJorge Ramirez-Ortiz		i2c3: i2c@8b13000 {
161*ccaa83f8SJorge Ramirez-Ortiz			compatible = "hisilicon,hix5hd2-i2c";
162*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b13000 0x1000>;
163*ccaa83f8SJorge Ramirez-Ortiz			#address-cells = <1>;
164*ccaa83f8SJorge Ramirez-Ortiz			#size-cells = <0>;
165*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
166*ccaa83f8SJorge Ramirez-Ortiz			clock-frequency = <400000>;
167*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_I2C3_CLK>;
168*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
169*ccaa83f8SJorge Ramirez-Ortiz		};
170*ccaa83f8SJorge Ramirez-Ortiz
171*ccaa83f8SJorge Ramirez-Ortiz		i2c4: i2c@8b14000 {
172*ccaa83f8SJorge Ramirez-Ortiz			compatible = "hisilicon,hix5hd2-i2c";
173*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b14000 0x1000>;
174*ccaa83f8SJorge Ramirez-Ortiz			#address-cells = <1>;
175*ccaa83f8SJorge Ramirez-Ortiz			#size-cells = <0>;
176*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
177*ccaa83f8SJorge Ramirez-Ortiz			clock-frequency = <400000>;
178*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_I2C4_CLK>;
179*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
180*ccaa83f8SJorge Ramirez-Ortiz		};
181*ccaa83f8SJorge Ramirez-Ortiz
182*ccaa83f8SJorge Ramirez-Ortiz		spi0: spi@8b1a000 {
183*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl022", "arm,primecell";
184*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b1a000 0x1000>;
185*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
186*ccaa83f8SJorge Ramirez-Ortiz			num-cs = <1>;
187*ccaa83f8SJorge Ramirez-Ortiz			cs-gpios = <&gpio7 1 0>;
188*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_SPI0_CLK>;
189*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
190*ccaa83f8SJorge Ramirez-Ortiz			#address-cells = <1>;
191*ccaa83f8SJorge Ramirez-Ortiz			#size-cells = <0>;
192*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
193*ccaa83f8SJorge Ramirez-Ortiz		};
194*ccaa83f8SJorge Ramirez-Ortiz
195*ccaa83f8SJorge Ramirez-Ortiz		emmc: mmc@9830000 {
196*ccaa83f8SJorge Ramirez-Ortiz			compatible = "snps,dw-mshc";
197*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x9830000 0x10000>;
198*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
199*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_MMC_CIU_CLK>,
200*ccaa83f8SJorge Ramirez-Ortiz				 <&crg HISTB_MMC_BIU_CLK>;
201*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "ciu", "biu";
202*ccaa83f8SJorge Ramirez-Ortiz		};
203*ccaa83f8SJorge Ramirez-Ortiz
204*ccaa83f8SJorge Ramirez-Ortiz		gpio0: gpio@8b20000 {
205*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl061", "arm,primecell";
206*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b20000 0x1000>;
207*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
208*ccaa83f8SJorge Ramirez-Ortiz			gpio-controller;
209*ccaa83f8SJorge Ramirez-Ortiz			#gpio-cells = <2>;
210*ccaa83f8SJorge Ramirez-Ortiz			interrupt-controller;
211*ccaa83f8SJorge Ramirez-Ortiz			#interrupt-cells = <2>;
212*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_APB_CLK>;
213*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
214*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
215*ccaa83f8SJorge Ramirez-Ortiz		};
216*ccaa83f8SJorge Ramirez-Ortiz
217*ccaa83f8SJorge Ramirez-Ortiz		gpio1: gpio@8b21000 {
218*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl061", "arm,primecell";
219*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b21000 0x1000>;
220*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
221*ccaa83f8SJorge Ramirez-Ortiz			gpio-controller;
222*ccaa83f8SJorge Ramirez-Ortiz			#gpio-cells = <2>;
223*ccaa83f8SJorge Ramirez-Ortiz			interrupt-controller;
224*ccaa83f8SJorge Ramirez-Ortiz			#interrupt-cells = <2>;
225*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_APB_CLK>;
226*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
227*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
228*ccaa83f8SJorge Ramirez-Ortiz		};
229*ccaa83f8SJorge Ramirez-Ortiz
230*ccaa83f8SJorge Ramirez-Ortiz		gpio2: gpio@8b22000 {
231*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl061", "arm,primecell";
232*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b22000 0x1000>;
233*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
234*ccaa83f8SJorge Ramirez-Ortiz			gpio-controller;
235*ccaa83f8SJorge Ramirez-Ortiz			#gpio-cells = <2>;
236*ccaa83f8SJorge Ramirez-Ortiz			interrupt-controller;
237*ccaa83f8SJorge Ramirez-Ortiz			#interrupt-cells = <2>;
238*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_APB_CLK>;
239*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
240*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
241*ccaa83f8SJorge Ramirez-Ortiz		};
242*ccaa83f8SJorge Ramirez-Ortiz
243*ccaa83f8SJorge Ramirez-Ortiz		gpio3: gpio@8b23000 {
244*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl061", "arm,primecell";
245*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b23000 0x1000>;
246*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
247*ccaa83f8SJorge Ramirez-Ortiz			gpio-controller;
248*ccaa83f8SJorge Ramirez-Ortiz			#gpio-cells = <2>;
249*ccaa83f8SJorge Ramirez-Ortiz			interrupt-controller;
250*ccaa83f8SJorge Ramirez-Ortiz			#interrupt-cells = <2>;
251*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_APB_CLK>;
252*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
253*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
254*ccaa83f8SJorge Ramirez-Ortiz		};
255*ccaa83f8SJorge Ramirez-Ortiz
256*ccaa83f8SJorge Ramirez-Ortiz		gpio4: gpio@8b24000 {
257*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl061", "arm,primecell";
258*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b24000 0x1000>;
259*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
260*ccaa83f8SJorge Ramirez-Ortiz			gpio-controller;
261*ccaa83f8SJorge Ramirez-Ortiz			#gpio-cells = <2>;
262*ccaa83f8SJorge Ramirez-Ortiz			interrupt-controller;
263*ccaa83f8SJorge Ramirez-Ortiz			#interrupt-cells = <2>;
264*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_APB_CLK>;
265*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
266*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
267*ccaa83f8SJorge Ramirez-Ortiz		};
268*ccaa83f8SJorge Ramirez-Ortiz
269*ccaa83f8SJorge Ramirez-Ortiz		gpio5: gpio@8004000 {
270*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl061", "arm,primecell";
271*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8004000 0x1000>;
272*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
273*ccaa83f8SJorge Ramirez-Ortiz			gpio-controller;
274*ccaa83f8SJorge Ramirez-Ortiz			#gpio-cells = <2>;
275*ccaa83f8SJorge Ramirez-Ortiz			interrupt-controller;
276*ccaa83f8SJorge Ramirez-Ortiz			#interrupt-cells = <2>;
277*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_APB_CLK>;
278*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
279*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
280*ccaa83f8SJorge Ramirez-Ortiz		};
281*ccaa83f8SJorge Ramirez-Ortiz
282*ccaa83f8SJorge Ramirez-Ortiz		gpio6: gpio@8b26000 {
283*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl061", "arm,primecell";
284*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b26000 0x1000>;
285*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
286*ccaa83f8SJorge Ramirez-Ortiz			gpio-controller;
287*ccaa83f8SJorge Ramirez-Ortiz			#gpio-cells = <2>;
288*ccaa83f8SJorge Ramirez-Ortiz			interrupt-controller;
289*ccaa83f8SJorge Ramirez-Ortiz			#interrupt-cells = <2>;
290*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_APB_CLK>;
291*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
292*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
293*ccaa83f8SJorge Ramirez-Ortiz		};
294*ccaa83f8SJorge Ramirez-Ortiz
295*ccaa83f8SJorge Ramirez-Ortiz		gpio7: gpio@8b27000 {
296*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl061", "arm,primecell";
297*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b27000 0x1000>;
298*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
299*ccaa83f8SJorge Ramirez-Ortiz			gpio-controller;
300*ccaa83f8SJorge Ramirez-Ortiz			#gpio-cells = <2>;
301*ccaa83f8SJorge Ramirez-Ortiz			interrupt-controller;
302*ccaa83f8SJorge Ramirez-Ortiz			#interrupt-cells = <2>;
303*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_APB_CLK>;
304*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
305*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
306*ccaa83f8SJorge Ramirez-Ortiz		};
307*ccaa83f8SJorge Ramirez-Ortiz
308*ccaa83f8SJorge Ramirez-Ortiz		gpio8: gpio@8b28000 {
309*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl061", "arm,primecell";
310*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b28000 0x1000>;
311*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
312*ccaa83f8SJorge Ramirez-Ortiz			gpio-controller;
313*ccaa83f8SJorge Ramirez-Ortiz			#gpio-cells = <2>;
314*ccaa83f8SJorge Ramirez-Ortiz			interrupt-controller;
315*ccaa83f8SJorge Ramirez-Ortiz			#interrupt-cells = <2>;
316*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_APB_CLK>;
317*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
318*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
319*ccaa83f8SJorge Ramirez-Ortiz		};
320*ccaa83f8SJorge Ramirez-Ortiz
321*ccaa83f8SJorge Ramirez-Ortiz		gpio9: gpio@8b29000 {
322*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl061", "arm,primecell";
323*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b29000 0x1000>;
324*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
325*ccaa83f8SJorge Ramirez-Ortiz			gpio-controller;
326*ccaa83f8SJorge Ramirez-Ortiz			#gpio-cells = <2>;
327*ccaa83f8SJorge Ramirez-Ortiz			interrupt-controller;
328*ccaa83f8SJorge Ramirez-Ortiz			#interrupt-cells = <2>;
329*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_APB_CLK>;
330*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
331*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
332*ccaa83f8SJorge Ramirez-Ortiz		};
333*ccaa83f8SJorge Ramirez-Ortiz
334*ccaa83f8SJorge Ramirez-Ortiz		gpio10: gpio@8b2a000 {
335*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl061", "arm,primecell";
336*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b2a000 0x1000>;
337*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
338*ccaa83f8SJorge Ramirez-Ortiz			gpio-controller;
339*ccaa83f8SJorge Ramirez-Ortiz			#gpio-cells = <2>;
340*ccaa83f8SJorge Ramirez-Ortiz			interrupt-controller;
341*ccaa83f8SJorge Ramirez-Ortiz			#interrupt-cells = <2>;
342*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_APB_CLK>;
343*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
344*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
345*ccaa83f8SJorge Ramirez-Ortiz		};
346*ccaa83f8SJorge Ramirez-Ortiz
347*ccaa83f8SJorge Ramirez-Ortiz		gpio11: gpio@8b2b000 {
348*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl061", "arm,primecell";
349*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b2b000 0x1000>;
350*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
351*ccaa83f8SJorge Ramirez-Ortiz			gpio-controller;
352*ccaa83f8SJorge Ramirez-Ortiz			#gpio-cells = <2>;
353*ccaa83f8SJorge Ramirez-Ortiz			interrupt-controller;
354*ccaa83f8SJorge Ramirez-Ortiz			#interrupt-cells = <2>;
355*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_APB_CLK>;
356*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
357*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
358*ccaa83f8SJorge Ramirez-Ortiz		};
359*ccaa83f8SJorge Ramirez-Ortiz
360*ccaa83f8SJorge Ramirez-Ortiz		gpio12: gpio@8b2c000 {
361*ccaa83f8SJorge Ramirez-Ortiz			compatible = "arm,pl061", "arm,primecell";
362*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8b2c000 0x1000>;
363*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
364*ccaa83f8SJorge Ramirez-Ortiz			gpio-controller;
365*ccaa83f8SJorge Ramirez-Ortiz			#gpio-cells = <2>;
366*ccaa83f8SJorge Ramirez-Ortiz			interrupt-controller;
367*ccaa83f8SJorge Ramirez-Ortiz			#interrupt-cells = <2>;
368*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_APB_CLK>;
369*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "apb_pclk";
370*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
371*ccaa83f8SJorge Ramirez-Ortiz		};
372*ccaa83f8SJorge Ramirez-Ortiz
373*ccaa83f8SJorge Ramirez-Ortiz		gmac0: ethernet@9840000 {
374*ccaa83f8SJorge Ramirez-Ortiz			compatible = "hisilicon,hi3798cv200-gmac", "hisilicon,hisi-gmac-v2";
375*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x9840000 0x1000>,
376*ccaa83f8SJorge Ramirez-Ortiz			      <0x984300c 0x4>;
377*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
378*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_ETH0_MAC_CLK>,
379*ccaa83f8SJorge Ramirez-Ortiz				 <&crg HISTB_ETH0_MACIF_CLK>;
380*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "mac_core", "mac_ifc";
381*ccaa83f8SJorge Ramirez-Ortiz			resets = <&crg 0xcc 8>,
382*ccaa83f8SJorge Ramirez-Ortiz				 <&crg 0xcc 10>,
383*ccaa83f8SJorge Ramirez-Ortiz				 <&gmacphyrst 0>;
384*ccaa83f8SJorge Ramirez-Ortiz			reset-names = "mac_core", "mac_ifc", "phy";
385*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
386*ccaa83f8SJorge Ramirez-Ortiz		};
387*ccaa83f8SJorge Ramirez-Ortiz
388*ccaa83f8SJorge Ramirez-Ortiz		gmac1: ethernet@9841000 {
389*ccaa83f8SJorge Ramirez-Ortiz			compatible = "hisilicon,hi3798cv200-gmac", "hisilicon,hisi-gmac-v2";
390*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x9841000 0x1000>,
391*ccaa83f8SJorge Ramirez-Ortiz			      <0x9843010 0x4>;
392*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
393*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&crg HISTB_ETH1_MAC_CLK>,
394*ccaa83f8SJorge Ramirez-Ortiz				 <&crg HISTB_ETH1_MACIF_CLK>;
395*ccaa83f8SJorge Ramirez-Ortiz			clock-names = "mac_core", "mac_ifc";
396*ccaa83f8SJorge Ramirez-Ortiz			resets = <&crg 0xcc 9>,
397*ccaa83f8SJorge Ramirez-Ortiz				 <&crg 0xcc 11>,
398*ccaa83f8SJorge Ramirez-Ortiz				 <&gmacphyrst 1>;
399*ccaa83f8SJorge Ramirez-Ortiz			reset-names = "mac_core", "mac_ifc", "phy";
400*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
401*ccaa83f8SJorge Ramirez-Ortiz		};
402*ccaa83f8SJorge Ramirez-Ortiz
403*ccaa83f8SJorge Ramirez-Ortiz		ir: ir@8001000 {
404*ccaa83f8SJorge Ramirez-Ortiz			compatible = "hisilicon,hix5hd2-ir";
405*ccaa83f8SJorge Ramirez-Ortiz			reg = <0x8001000 0x1000>;
406*ccaa83f8SJorge Ramirez-Ortiz			interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
407*ccaa83f8SJorge Ramirez-Ortiz			clocks = <&sysctrl HISTB_IR_CLK>;
408*ccaa83f8SJorge Ramirez-Ortiz			status = "disabled";
409*ccaa83f8SJorge Ramirez-Ortiz		};
410*ccaa83f8SJorge Ramirez-Ortiz	};
411*ccaa83f8SJorge Ramirez-Ortiz};
412