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