xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/bcm-hr2.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun *  BSD LICENSE
3*4882a593Smuzhiyun *
4*4882a593Smuzhiyun *  Copyright(c) 2017 Broadcom.  All rights reserved.
5*4882a593Smuzhiyun *
6*4882a593Smuzhiyun *  Redistribution and use in source and binary forms, with or without
7*4882a593Smuzhiyun *  modification, are permitted provided that the following conditions
8*4882a593Smuzhiyun *  are met:
9*4882a593Smuzhiyun *
10*4882a593Smuzhiyun *    * Redistributions of source code must retain the above copyright
11*4882a593Smuzhiyun *      notice, this list of conditions and the following disclaimer.
12*4882a593Smuzhiyun *    * Redistributions in binary form must reproduce the above copyright
13*4882a593Smuzhiyun *      notice, this list of conditions and the following disclaimer in
14*4882a593Smuzhiyun *      the documentation and/or other materials provided with the
15*4882a593Smuzhiyun *      distribution.
16*4882a593Smuzhiyun *    * Neither the name of Broadcom Corporation nor the names of its
17*4882a593Smuzhiyun *      contributors may be used to endorse or promote products derived
18*4882a593Smuzhiyun *      from this software without specific prior written permission.
19*4882a593Smuzhiyun *
20*4882a593Smuzhiyun *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21*4882a593Smuzhiyun *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22*4882a593Smuzhiyun *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23*4882a593Smuzhiyun *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24*4882a593Smuzhiyun *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25*4882a593Smuzhiyun *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26*4882a593Smuzhiyun *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27*4882a593Smuzhiyun *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28*4882a593Smuzhiyun *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29*4882a593Smuzhiyun *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30*4882a593Smuzhiyun *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31*4882a593Smuzhiyun */
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
34*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun/ {
37*4882a593Smuzhiyun	compatible = "brcm,hr2";
38*4882a593Smuzhiyun	model = "Broadcom Hurricane 2 SoC";
39*4882a593Smuzhiyun	interrupt-parent = <&gic>;
40*4882a593Smuzhiyun	#address-cells = <1>;
41*4882a593Smuzhiyun	#size-cells = <1>;
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun	cpus {
44*4882a593Smuzhiyun		#address-cells = <1>;
45*4882a593Smuzhiyun		#size-cells = <0>;
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun		cpu0: cpu@0 {
48*4882a593Smuzhiyun			device_type = "cpu";
49*4882a593Smuzhiyun			compatible = "arm,cortex-a9";
50*4882a593Smuzhiyun			next-level-cache = <&L2>;
51*4882a593Smuzhiyun			reg = <0x0>;
52*4882a593Smuzhiyun		};
53*4882a593Smuzhiyun	};
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun	pmu {
56*4882a593Smuzhiyun		compatible = "arm,cortex-a9-pmu";
57*4882a593Smuzhiyun		interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH
58*4882a593Smuzhiyun			      GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
59*4882a593Smuzhiyun		interrupt-affinity = <&cpu0>;
60*4882a593Smuzhiyun	};
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun	mpcore@19000000 {
63*4882a593Smuzhiyun		compatible = "simple-bus";
64*4882a593Smuzhiyun		ranges = <0x00000000 0x19000000 0x00023000>;
65*4882a593Smuzhiyun		#address-cells = <1>;
66*4882a593Smuzhiyun		#size-cells = <1>;
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun		a9pll: arm_clk@0 {
69*4882a593Smuzhiyun			#clock-cells = <0>;
70*4882a593Smuzhiyun			compatible = "brcm,hr2-armpll";
71*4882a593Smuzhiyun			clocks = <&osc>;
72*4882a593Smuzhiyun			reg = <0x0 0x1000>;
73*4882a593Smuzhiyun		};
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun		timer@20200 {
76*4882a593Smuzhiyun			compatible = "arm,cortex-a9-global-timer";
77*4882a593Smuzhiyun			reg = <0x20200 0x100>;
78*4882a593Smuzhiyun			interrupts = <GIC_PPI 11 IRQ_TYPE_EDGE_RISING>;
79*4882a593Smuzhiyun			clocks = <&periph_clk>;
80*4882a593Smuzhiyun		};
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun		twd-timer@20600 {
83*4882a593Smuzhiyun			compatible = "arm,cortex-a9-twd-timer";
84*4882a593Smuzhiyun			reg = <0x20600 0x20>;
85*4882a593Smuzhiyun			interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) |
86*4882a593Smuzhiyun						  IRQ_TYPE_EDGE_RISING)>;
87*4882a593Smuzhiyun			clocks = <&periph_clk>;
88*4882a593Smuzhiyun		};
89*4882a593Smuzhiyun
90*4882a593Smuzhiyun		twd-watchdog@20620 {
91*4882a593Smuzhiyun			compatible = "arm,cortex-a9-twd-wdt";
92*4882a593Smuzhiyun			reg = <0x20620 0x20>;
93*4882a593Smuzhiyun			interrupts = <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) |
94*4882a593Smuzhiyun						  IRQ_TYPE_EDGE_RISING)>;
95*4882a593Smuzhiyun			clocks = <&periph_clk>;
96*4882a593Smuzhiyun		};
97*4882a593Smuzhiyun
98*4882a593Smuzhiyun		gic: interrupt-controller@21000 {
99*4882a593Smuzhiyun			compatible = "arm,cortex-a9-gic";
100*4882a593Smuzhiyun			#interrupt-cells = <3>;
101*4882a593Smuzhiyun			#address-cells = <0>;
102*4882a593Smuzhiyun			interrupt-controller;
103*4882a593Smuzhiyun			reg = <0x21000 0x1000>,
104*4882a593Smuzhiyun			      <0x20100 0x100>;
105*4882a593Smuzhiyun		};
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun		L2: cache-controller@22000 {
108*4882a593Smuzhiyun			compatible = "arm,pl310-cache";
109*4882a593Smuzhiyun			reg = <0x22000 0x1000>;
110*4882a593Smuzhiyun			cache-unified;
111*4882a593Smuzhiyun			cache-level = <2>;
112*4882a593Smuzhiyun		};
113*4882a593Smuzhiyun	};
114*4882a593Smuzhiyun
115*4882a593Smuzhiyun	clocks {
116*4882a593Smuzhiyun		#address-cells = <1>;
117*4882a593Smuzhiyun		#size-cells = <1>;
118*4882a593Smuzhiyun		ranges;
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun		osc: oscillator {
121*4882a593Smuzhiyun			#clock-cells = <0>;
122*4882a593Smuzhiyun			compatible = "fixed-clock";
123*4882a593Smuzhiyun			clock-frequency = <25000000>;
124*4882a593Smuzhiyun		};
125*4882a593Smuzhiyun
126*4882a593Smuzhiyun		periph_clk: periph_clk {
127*4882a593Smuzhiyun			#clock-cells = <0>;
128*4882a593Smuzhiyun			compatible = "fixed-factor-clock";
129*4882a593Smuzhiyun			clocks = <&a9pll>;
130*4882a593Smuzhiyun			clock-div = <2>;
131*4882a593Smuzhiyun			clock-mult = <1>;
132*4882a593Smuzhiyun		};
133*4882a593Smuzhiyun	};
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun	axi@18000000 {
136*4882a593Smuzhiyun		compatible = "simple-bus";
137*4882a593Smuzhiyun		ranges = <0x00000000 0x18000000 0x0011c40c>;
138*4882a593Smuzhiyun		#address-cells = <1>;
139*4882a593Smuzhiyun		#size-cells = <1>;
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun		uart0: serial@300 {
142*4882a593Smuzhiyun			compatible = "ns16550a";
143*4882a593Smuzhiyun			reg = <0x0300 0x100>;
144*4882a593Smuzhiyun			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
145*4882a593Smuzhiyun			clocks = <&osc>;
146*4882a593Smuzhiyun			status = "disabled";
147*4882a593Smuzhiyun		};
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun		uart1: serial@400 {
150*4882a593Smuzhiyun			compatible = "ns16550a";
151*4882a593Smuzhiyun			reg = <0x0400 0x100>;
152*4882a593Smuzhiyun			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
153*4882a593Smuzhiyun			clocks = <&osc>;
154*4882a593Smuzhiyun			status = "disabled";
155*4882a593Smuzhiyun		};
156*4882a593Smuzhiyun
157*4882a593Smuzhiyun		dma@20000 {
158*4882a593Smuzhiyun			compatible = "arm,pl330", "arm,primecell";
159*4882a593Smuzhiyun			reg = <0x20000 0x1000>;
160*4882a593Smuzhiyun			interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
161*4882a593Smuzhiyun				     <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
162*4882a593Smuzhiyun				     <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
163*4882a593Smuzhiyun				     <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
164*4882a593Smuzhiyun				     <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
165*4882a593Smuzhiyun				     <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
166*4882a593Smuzhiyun				     <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
167*4882a593Smuzhiyun				     <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
168*4882a593Smuzhiyun				     <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
169*4882a593Smuzhiyun			#dma-cells = <1>;
170*4882a593Smuzhiyun			status = "disabled";
171*4882a593Smuzhiyun		};
172*4882a593Smuzhiyun
173*4882a593Smuzhiyun		amac0: ethernet@22000 {
174*4882a593Smuzhiyun			compatible = "brcm,nsp-amac";
175*4882a593Smuzhiyun			reg = <0x22000 0x1000>,
176*4882a593Smuzhiyun			      <0x110000 0x1000>;
177*4882a593Smuzhiyun			reg-names = "amac_base", "idm_base";
178*4882a593Smuzhiyun			interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>;
179*4882a593Smuzhiyun			status = "disabled";
180*4882a593Smuzhiyun		};
181*4882a593Smuzhiyun
182*4882a593Smuzhiyun		nand_controller: nand-controller@26000 {
183*4882a593Smuzhiyun			compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1";
184*4882a593Smuzhiyun			reg = <0x26000 0x600>,
185*4882a593Smuzhiyun			      <0x11b408 0x600>,
186*4882a593Smuzhiyun			      <0x026f00 0x20>;
187*4882a593Smuzhiyun			reg-names = "nand", "iproc-idm", "iproc-ext";
188*4882a593Smuzhiyun			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun			#address-cells = <1>;
191*4882a593Smuzhiyun			#size-cells = <0>;
192*4882a593Smuzhiyun
193*4882a593Smuzhiyun			brcm,nand-has-wp;
194*4882a593Smuzhiyun		};
195*4882a593Smuzhiyun
196*4882a593Smuzhiyun		gpiob: gpio@30000 {
197*4882a593Smuzhiyun			compatible = "brcm,iproc-hr2-gpio", "brcm,iproc-gpio";
198*4882a593Smuzhiyun			reg = <0x30000 0x50>;
199*4882a593Smuzhiyun			#gpio-cells = <2>;
200*4882a593Smuzhiyun			gpio-controller;
201*4882a593Smuzhiyun			ngpios = <4>;
202*4882a593Smuzhiyun			interrupt-controller;
203*4882a593Smuzhiyun			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
204*4882a593Smuzhiyun		};
205*4882a593Smuzhiyun
206*4882a593Smuzhiyun		pwm: pwm@31000 {
207*4882a593Smuzhiyun			compatible = "brcm,iproc-pwm";
208*4882a593Smuzhiyun			reg = <0x31000 0x28>;
209*4882a593Smuzhiyun			clocks = <&osc>;
210*4882a593Smuzhiyun			#pwm-cells = <3>;
211*4882a593Smuzhiyun			status = "disabled";
212*4882a593Smuzhiyun		};
213*4882a593Smuzhiyun
214*4882a593Smuzhiyun		rng: rng@33000 {
215*4882a593Smuzhiyun			compatible = "brcm,bcm-nsp-rng";
216*4882a593Smuzhiyun			reg = <0x33000 0x14>;
217*4882a593Smuzhiyun		};
218*4882a593Smuzhiyun
219*4882a593Smuzhiyun		qspi: spi@27200 {
220*4882a593Smuzhiyun			compatible = "brcm,spi-nsp-qspi", "brcm,spi-bcm-qspi";
221*4882a593Smuzhiyun			reg = <0x027200 0x184>,
222*4882a593Smuzhiyun			      <0x027000 0x124>,
223*4882a593Smuzhiyun			      <0x11c408 0x004>,
224*4882a593Smuzhiyun			      <0x0273a0 0x01c>;
225*4882a593Smuzhiyun			reg-names = "mspi", "bspi", "intr_regs",
226*4882a593Smuzhiyun				    "intr_status_reg";
227*4882a593Smuzhiyun			interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
228*4882a593Smuzhiyun				     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
229*4882a593Smuzhiyun				     <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
230*4882a593Smuzhiyun				     <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
231*4882a593Smuzhiyun				     <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
232*4882a593Smuzhiyun				     <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
233*4882a593Smuzhiyun				     <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
234*4882a593Smuzhiyun			interrupt-names = "spi_lr_fullness_reached",
235*4882a593Smuzhiyun					  "spi_lr_session_aborted",
236*4882a593Smuzhiyun					  "spi_lr_impatient",
237*4882a593Smuzhiyun					  "spi_lr_session_done",
238*4882a593Smuzhiyun					  "spi_lr_overhead",
239*4882a593Smuzhiyun					  "mspi_done",
240*4882a593Smuzhiyun					  "mspi_halted";
241*4882a593Smuzhiyun			num-cs = <2>;
242*4882a593Smuzhiyun			#address-cells = <1>;
243*4882a593Smuzhiyun			#size-cells = <0>;
244*4882a593Smuzhiyun
245*4882a593Smuzhiyun			/* partitions defined in board DTS */
246*4882a593Smuzhiyun		};
247*4882a593Smuzhiyun
248*4882a593Smuzhiyun		ccbtimer0: timer@34000 {
249*4882a593Smuzhiyun			compatible = "arm,sp804";
250*4882a593Smuzhiyun			reg = <0x34000 0x1000>;
251*4882a593Smuzhiyun			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
252*4882a593Smuzhiyun				     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
253*4882a593Smuzhiyun		};
254*4882a593Smuzhiyun
255*4882a593Smuzhiyun		ccbtimer1: timer@35000 {
256*4882a593Smuzhiyun			compatible = "arm,sp804";
257*4882a593Smuzhiyun			reg = <0x35000 0x1000>;
258*4882a593Smuzhiyun			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
259*4882a593Smuzhiyun				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
260*4882a593Smuzhiyun		};
261*4882a593Smuzhiyun
262*4882a593Smuzhiyun		i2c0: i2c@38000 {
263*4882a593Smuzhiyun			compatible = "brcm,iproc-i2c";
264*4882a593Smuzhiyun			reg = <0x38000 0x50>;
265*4882a593Smuzhiyun			#address-cells = <1>;
266*4882a593Smuzhiyun			#size-cells = <0>;
267*4882a593Smuzhiyun			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
268*4882a593Smuzhiyun			clock-frequency = <100000>;
269*4882a593Smuzhiyun		};
270*4882a593Smuzhiyun
271*4882a593Smuzhiyun		watchdog: watchdog@39000 {
272*4882a593Smuzhiyun			compatible = "arm,sp805", "arm,primecell";
273*4882a593Smuzhiyun			reg = <0x39000 0x1000>;
274*4882a593Smuzhiyun			interrupts = <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>;
275*4882a593Smuzhiyun		};
276*4882a593Smuzhiyun
277*4882a593Smuzhiyun		i2c1: i2c@3b000 {
278*4882a593Smuzhiyun			compatible = "brcm,iproc-i2c";
279*4882a593Smuzhiyun			reg = <0x3b000 0x50>;
280*4882a593Smuzhiyun			#address-cells = <1>;
281*4882a593Smuzhiyun			#size-cells = <0>;
282*4882a593Smuzhiyun			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
283*4882a593Smuzhiyun			clock-frequency = <100000>;
284*4882a593Smuzhiyun		};
285*4882a593Smuzhiyun	};
286*4882a593Smuzhiyun
287*4882a593Smuzhiyun	pflash: nor@20000000 {
288*4882a593Smuzhiyun		compatible = "cfi-flash", "jedec-flash";
289*4882a593Smuzhiyun		reg = <0x20000000 0x04000000>;
290*4882a593Smuzhiyun		status = "disabled";
291*4882a593Smuzhiyun		#address-cells = <1>;
292*4882a593Smuzhiyun		#size-cells = <1>;
293*4882a593Smuzhiyun
294*4882a593Smuzhiyun		/* partitions defined in board DTS */
295*4882a593Smuzhiyun	};
296*4882a593Smuzhiyun
297*4882a593Smuzhiyun	pcie0: pcie@18012000 {
298*4882a593Smuzhiyun		compatible = "brcm,iproc-pcie";
299*4882a593Smuzhiyun		reg = <0x18012000 0x1000>;
300*4882a593Smuzhiyun
301*4882a593Smuzhiyun		#interrupt-cells = <1>;
302*4882a593Smuzhiyun		interrupt-map-mask = <0 0 0 0>;
303*4882a593Smuzhiyun		interrupt-map = <0 0 0 0 &gic GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
304*4882a593Smuzhiyun
305*4882a593Smuzhiyun		linux,pci-domain = <0>;
306*4882a593Smuzhiyun
307*4882a593Smuzhiyun		bus-range = <0x00 0xff>;
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun		#address-cells = <3>;
310*4882a593Smuzhiyun		#size-cells = <2>;
311*4882a593Smuzhiyun		device_type = "pci";
312*4882a593Smuzhiyun
313*4882a593Smuzhiyun		/* Note: The HW does not support I/O resources.  So,
314*4882a593Smuzhiyun		 * only the memory resource range is being specified.
315*4882a593Smuzhiyun		 */
316*4882a593Smuzhiyun		ranges = <0x82000000 0 0x08000000 0x08000000 0 0x8000000>;
317*4882a593Smuzhiyun
318*4882a593Smuzhiyun		status = "disabled";
319*4882a593Smuzhiyun
320*4882a593Smuzhiyun		msi-parent = <&msi0>;
321*4882a593Smuzhiyun		msi0: msi-controller {
322*4882a593Smuzhiyun			compatible = "brcm,iproc-msi";
323*4882a593Smuzhiyun			msi-controller;
324*4882a593Smuzhiyun			interrupt-parent = <&gic>;
325*4882a593Smuzhiyun			interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
326*4882a593Smuzhiyun				     <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
327*4882a593Smuzhiyun				     <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
328*4882a593Smuzhiyun				     <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
329*4882a593Smuzhiyun			brcm,pcie-msi-inten;
330*4882a593Smuzhiyun		};
331*4882a593Smuzhiyun	};
332*4882a593Smuzhiyun
333*4882a593Smuzhiyun	pcie1: pcie@18013000 {
334*4882a593Smuzhiyun		compatible = "brcm,iproc-pcie";
335*4882a593Smuzhiyun		reg = <0x18013000 0x1000>;
336*4882a593Smuzhiyun
337*4882a593Smuzhiyun		#interrupt-cells = <1>;
338*4882a593Smuzhiyun		interrupt-map-mask = <0 0 0 0>;
339*4882a593Smuzhiyun		interrupt-map = <0 0 0 0 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
340*4882a593Smuzhiyun
341*4882a593Smuzhiyun		linux,pci-domain = <1>;
342*4882a593Smuzhiyun
343*4882a593Smuzhiyun		bus-range = <0x00 0xff>;
344*4882a593Smuzhiyun
345*4882a593Smuzhiyun		#address-cells = <3>;
346*4882a593Smuzhiyun		#size-cells = <2>;
347*4882a593Smuzhiyun		device_type = "pci";
348*4882a593Smuzhiyun
349*4882a593Smuzhiyun		/* Note: The HW does not support I/O resources.  So,
350*4882a593Smuzhiyun		 * only the memory resource range is being specified.
351*4882a593Smuzhiyun		 */
352*4882a593Smuzhiyun		ranges = <0x82000000 0 0x40000000 0x40000000 0 0x8000000>;
353*4882a593Smuzhiyun
354*4882a593Smuzhiyun		status = "disabled";
355*4882a593Smuzhiyun
356*4882a593Smuzhiyun		msi-parent = <&msi1>;
357*4882a593Smuzhiyun		msi1: msi-controller {
358*4882a593Smuzhiyun			compatible = "brcm,iproc-msi";
359*4882a593Smuzhiyun			msi-controller;
360*4882a593Smuzhiyun			interrupt-parent = <&gic>;
361*4882a593Smuzhiyun			interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
362*4882a593Smuzhiyun				     <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
363*4882a593Smuzhiyun				     <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
364*4882a593Smuzhiyun				     <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
365*4882a593Smuzhiyun			brcm,pcie-msi-inten;
366*4882a593Smuzhiyun		};
367*4882a593Smuzhiyun	};
368*4882a593Smuzhiyun};
369