162306a36Sopenharmony_ci/*
262306a36Sopenharmony_ci *  BSD LICENSE
362306a36Sopenharmony_ci *
462306a36Sopenharmony_ci *  Copyright(c) 2017 Broadcom.  All rights reserved.
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci *  Redistribution and use in source and binary forms, with or without
762306a36Sopenharmony_ci *  modification, are permitted provided that the following conditions
862306a36Sopenharmony_ci *  are met:
962306a36Sopenharmony_ci *
1062306a36Sopenharmony_ci *    * Redistributions of source code must retain the above copyright
1162306a36Sopenharmony_ci *      notice, this list of conditions and the following disclaimer.
1262306a36Sopenharmony_ci *    * Redistributions in binary form must reproduce the above copyright
1362306a36Sopenharmony_ci *      notice, this list of conditions and the following disclaimer in
1462306a36Sopenharmony_ci *      the documentation and/or other materials provided with the
1562306a36Sopenharmony_ci *      distribution.
1662306a36Sopenharmony_ci *    * Neither the name of Broadcom Corporation nor the names of its
1762306a36Sopenharmony_ci *      contributors may be used to endorse or promote products derived
1862306a36Sopenharmony_ci *      from this software without specific prior written permission.
1962306a36Sopenharmony_ci *
2062306a36Sopenharmony_ci *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
2162306a36Sopenharmony_ci *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2262306a36Sopenharmony_ci *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
2362306a36Sopenharmony_ci *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
2462306a36Sopenharmony_ci *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
2562306a36Sopenharmony_ci *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
2662306a36Sopenharmony_ci *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2762306a36Sopenharmony_ci *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2862306a36Sopenharmony_ci *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2962306a36Sopenharmony_ci *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
3062306a36Sopenharmony_ci *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3162306a36Sopenharmony_ci */
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h>
3462306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h>
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci/ {
3762306a36Sopenharmony_ci	compatible = "brcm,hr2";
3862306a36Sopenharmony_ci	model = "Broadcom Hurricane 2 SoC";
3962306a36Sopenharmony_ci	interrupt-parent = <&gic>;
4062306a36Sopenharmony_ci	#address-cells = <1>;
4162306a36Sopenharmony_ci	#size-cells = <1>;
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci	cpus {
4462306a36Sopenharmony_ci		#address-cells = <1>;
4562306a36Sopenharmony_ci		#size-cells = <0>;
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci		cpu0: cpu@0 {
4862306a36Sopenharmony_ci			device_type = "cpu";
4962306a36Sopenharmony_ci			compatible = "arm,cortex-a9";
5062306a36Sopenharmony_ci			next-level-cache = <&L2>;
5162306a36Sopenharmony_ci			reg = <0x0>;
5262306a36Sopenharmony_ci		};
5362306a36Sopenharmony_ci	};
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci	pmu {
5662306a36Sopenharmony_ci		compatible = "arm,cortex-a9-pmu";
5762306a36Sopenharmony_ci		interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
5862306a36Sopenharmony_ci			     <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
5962306a36Sopenharmony_ci		interrupt-affinity = <&cpu0>;
6062306a36Sopenharmony_ci	};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci	mpcore@19000000 {
6362306a36Sopenharmony_ci		compatible = "simple-bus";
6462306a36Sopenharmony_ci		ranges = <0x00000000 0x19000000 0x00023000>;
6562306a36Sopenharmony_ci		#address-cells = <1>;
6662306a36Sopenharmony_ci		#size-cells = <1>;
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci		a9pll: arm_clk@0 {
6962306a36Sopenharmony_ci			#clock-cells = <0>;
7062306a36Sopenharmony_ci			compatible = "brcm,hr2-armpll";
7162306a36Sopenharmony_ci			clocks = <&osc>;
7262306a36Sopenharmony_ci			reg = <0x0 0x1000>;
7362306a36Sopenharmony_ci		};
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci		timer@20200 {
7662306a36Sopenharmony_ci			compatible = "arm,cortex-a9-global-timer";
7762306a36Sopenharmony_ci			reg = <0x20200 0x100>;
7862306a36Sopenharmony_ci			interrupts = <GIC_PPI 11 IRQ_TYPE_EDGE_RISING>;
7962306a36Sopenharmony_ci			clocks = <&periph_clk>;
8062306a36Sopenharmony_ci		};
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci		twd-timer@20600 {
8362306a36Sopenharmony_ci			compatible = "arm,cortex-a9-twd-timer";
8462306a36Sopenharmony_ci			reg = <0x20600 0x20>;
8562306a36Sopenharmony_ci			interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) |
8662306a36Sopenharmony_ci						  IRQ_TYPE_EDGE_RISING)>;
8762306a36Sopenharmony_ci			clocks = <&periph_clk>;
8862306a36Sopenharmony_ci		};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci		twd-watchdog@20620 {
9162306a36Sopenharmony_ci			compatible = "arm,cortex-a9-twd-wdt";
9262306a36Sopenharmony_ci			reg = <0x20620 0x20>;
9362306a36Sopenharmony_ci			interrupts = <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) |
9462306a36Sopenharmony_ci						  IRQ_TYPE_EDGE_RISING)>;
9562306a36Sopenharmony_ci			clocks = <&periph_clk>;
9662306a36Sopenharmony_ci		};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci		gic: interrupt-controller@21000 {
9962306a36Sopenharmony_ci			compatible = "arm,cortex-a9-gic";
10062306a36Sopenharmony_ci			#interrupt-cells = <3>;
10162306a36Sopenharmony_ci			#address-cells = <0>;
10262306a36Sopenharmony_ci			interrupt-controller;
10362306a36Sopenharmony_ci			reg = <0x21000 0x1000>,
10462306a36Sopenharmony_ci			      <0x20100 0x100>;
10562306a36Sopenharmony_ci		};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci		L2: cache-controller@22000 {
10862306a36Sopenharmony_ci			compatible = "arm,pl310-cache";
10962306a36Sopenharmony_ci			reg = <0x22000 0x1000>;
11062306a36Sopenharmony_ci			cache-unified;
11162306a36Sopenharmony_ci			cache-level = <2>;
11262306a36Sopenharmony_ci		};
11362306a36Sopenharmony_ci	};
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci	clocks {
11662306a36Sopenharmony_ci		#address-cells = <1>;
11762306a36Sopenharmony_ci		#size-cells = <1>;
11862306a36Sopenharmony_ci		ranges;
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ci		osc: oscillator {
12162306a36Sopenharmony_ci			#clock-cells = <0>;
12262306a36Sopenharmony_ci			compatible = "fixed-clock";
12362306a36Sopenharmony_ci			clock-frequency = <25000000>;
12462306a36Sopenharmony_ci		};
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci		periph_clk: periph_clk {
12762306a36Sopenharmony_ci			#clock-cells = <0>;
12862306a36Sopenharmony_ci			compatible = "fixed-factor-clock";
12962306a36Sopenharmony_ci			clocks = <&a9pll>;
13062306a36Sopenharmony_ci			clock-div = <2>;
13162306a36Sopenharmony_ci			clock-mult = <1>;
13262306a36Sopenharmony_ci		};
13362306a36Sopenharmony_ci	};
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci	axi@18000000 {
13662306a36Sopenharmony_ci		compatible = "simple-bus";
13762306a36Sopenharmony_ci		ranges = <0x00000000 0x18000000 0x0011c40c>;
13862306a36Sopenharmony_ci		#address-cells = <1>;
13962306a36Sopenharmony_ci		#size-cells = <1>;
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci		uart0: serial@300 {
14262306a36Sopenharmony_ci			compatible = "ns16550a";
14362306a36Sopenharmony_ci			reg = <0x0300 0x100>;
14462306a36Sopenharmony_ci			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
14562306a36Sopenharmony_ci			clocks = <&osc>;
14662306a36Sopenharmony_ci			status = "disabled";
14762306a36Sopenharmony_ci		};
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci		uart1: serial@400 {
15062306a36Sopenharmony_ci			compatible = "ns16550a";
15162306a36Sopenharmony_ci			reg = <0x0400 0x100>;
15262306a36Sopenharmony_ci			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
15362306a36Sopenharmony_ci			clocks = <&osc>;
15462306a36Sopenharmony_ci			status = "disabled";
15562306a36Sopenharmony_ci		};
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ci		dma@20000 {
15862306a36Sopenharmony_ci			compatible = "arm,pl330", "arm,primecell";
15962306a36Sopenharmony_ci			reg = <0x20000 0x1000>;
16062306a36Sopenharmony_ci			interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
16162306a36Sopenharmony_ci				     <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
16262306a36Sopenharmony_ci				     <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
16362306a36Sopenharmony_ci				     <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
16462306a36Sopenharmony_ci				     <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
16562306a36Sopenharmony_ci				     <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
16662306a36Sopenharmony_ci				     <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
16762306a36Sopenharmony_ci				     <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
16862306a36Sopenharmony_ci				     <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
16962306a36Sopenharmony_ci			#dma-cells = <1>;
17062306a36Sopenharmony_ci			status = "disabled";
17162306a36Sopenharmony_ci		};
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci		amac0: ethernet@22000 {
17462306a36Sopenharmony_ci			compatible = "brcm,nsp-amac";
17562306a36Sopenharmony_ci			reg = <0x22000 0x1000>,
17662306a36Sopenharmony_ci			      <0x110000 0x1000>;
17762306a36Sopenharmony_ci			reg-names = "amac_base", "idm_base";
17862306a36Sopenharmony_ci			interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>;
17962306a36Sopenharmony_ci			status = "disabled";
18062306a36Sopenharmony_ci		};
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ci		nand_controller: nand-controller@26000 {
18362306a36Sopenharmony_ci			compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1";
18462306a36Sopenharmony_ci			reg = <0x26000 0x600>,
18562306a36Sopenharmony_ci			      <0x11b408 0x600>,
18662306a36Sopenharmony_ci			      <0x026f00 0x20>;
18762306a36Sopenharmony_ci			reg-names = "nand", "iproc-idm", "iproc-ext";
18862306a36Sopenharmony_ci			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ci			#address-cells = <1>;
19162306a36Sopenharmony_ci			#size-cells = <0>;
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_ci			brcm,nand-has-wp;
19462306a36Sopenharmony_ci		};
19562306a36Sopenharmony_ci
19662306a36Sopenharmony_ci		gpiob: gpio@30000 {
19762306a36Sopenharmony_ci			compatible = "brcm,iproc-hr2-gpio", "brcm,iproc-gpio";
19862306a36Sopenharmony_ci			reg = <0x30000 0x50>;
19962306a36Sopenharmony_ci			#gpio-cells = <2>;
20062306a36Sopenharmony_ci			gpio-controller;
20162306a36Sopenharmony_ci			ngpios = <4>;
20262306a36Sopenharmony_ci			interrupt-controller;
20362306a36Sopenharmony_ci			#interrupt-cells = <2>;
20462306a36Sopenharmony_ci			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
20562306a36Sopenharmony_ci		};
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_ci		pwm: pwm@31000 {
20862306a36Sopenharmony_ci			compatible = "brcm,iproc-pwm";
20962306a36Sopenharmony_ci			reg = <0x31000 0x28>;
21062306a36Sopenharmony_ci			clocks = <&osc>;
21162306a36Sopenharmony_ci			#pwm-cells = <3>;
21262306a36Sopenharmony_ci			status = "disabled";
21362306a36Sopenharmony_ci		};
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_ci		rng: rng@33000 {
21662306a36Sopenharmony_ci			compatible = "brcm,bcm-nsp-rng";
21762306a36Sopenharmony_ci			reg = <0x33000 0x14>;
21862306a36Sopenharmony_ci		};
21962306a36Sopenharmony_ci
22062306a36Sopenharmony_ci		qspi: spi@27200 {
22162306a36Sopenharmony_ci			compatible = "brcm,spi-nsp-qspi", "brcm,spi-bcm-qspi";
22262306a36Sopenharmony_ci			reg = <0x027200 0x184>,
22362306a36Sopenharmony_ci			      <0x027000 0x124>,
22462306a36Sopenharmony_ci			      <0x11c408 0x004>,
22562306a36Sopenharmony_ci			      <0x0273a0 0x01c>;
22662306a36Sopenharmony_ci			reg-names = "mspi", "bspi", "intr_regs",
22762306a36Sopenharmony_ci				    "intr_status_reg";
22862306a36Sopenharmony_ci			interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
22962306a36Sopenharmony_ci				     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
23062306a36Sopenharmony_ci				     <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
23162306a36Sopenharmony_ci				     <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
23262306a36Sopenharmony_ci				     <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
23362306a36Sopenharmony_ci				     <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
23462306a36Sopenharmony_ci				     <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
23562306a36Sopenharmony_ci			interrupt-names = "spi_lr_fullness_reached",
23662306a36Sopenharmony_ci					  "spi_lr_session_aborted",
23762306a36Sopenharmony_ci					  "spi_lr_impatient",
23862306a36Sopenharmony_ci					  "spi_lr_session_done",
23962306a36Sopenharmony_ci					  "spi_lr_overhead",
24062306a36Sopenharmony_ci					  "mspi_done",
24162306a36Sopenharmony_ci					  "mspi_halted";
24262306a36Sopenharmony_ci			num-cs = <2>;
24362306a36Sopenharmony_ci			#address-cells = <1>;
24462306a36Sopenharmony_ci			#size-cells = <0>;
24562306a36Sopenharmony_ci
24662306a36Sopenharmony_ci			/* partitions defined in board DTS */
24762306a36Sopenharmony_ci		};
24862306a36Sopenharmony_ci
24962306a36Sopenharmony_ci		ccbtimer0: timer@34000 {
25062306a36Sopenharmony_ci			compatible = "arm,sp804";
25162306a36Sopenharmony_ci			reg = <0x34000 0x1000>;
25262306a36Sopenharmony_ci			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
25362306a36Sopenharmony_ci				     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
25462306a36Sopenharmony_ci		};
25562306a36Sopenharmony_ci
25662306a36Sopenharmony_ci		ccbtimer1: timer@35000 {
25762306a36Sopenharmony_ci			compatible = "arm,sp804";
25862306a36Sopenharmony_ci			reg = <0x35000 0x1000>;
25962306a36Sopenharmony_ci			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
26062306a36Sopenharmony_ci				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
26162306a36Sopenharmony_ci		};
26262306a36Sopenharmony_ci
26362306a36Sopenharmony_ci		i2c0: i2c@38000 {
26462306a36Sopenharmony_ci			compatible = "brcm,iproc-i2c";
26562306a36Sopenharmony_ci			reg = <0x38000 0x50>;
26662306a36Sopenharmony_ci			#address-cells = <1>;
26762306a36Sopenharmony_ci			#size-cells = <0>;
26862306a36Sopenharmony_ci			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
26962306a36Sopenharmony_ci			clock-frequency = <100000>;
27062306a36Sopenharmony_ci		};
27162306a36Sopenharmony_ci
27262306a36Sopenharmony_ci		watchdog: watchdog@39000 {
27362306a36Sopenharmony_ci			compatible = "arm,sp805", "arm,primecell";
27462306a36Sopenharmony_ci			reg = <0x39000 0x1000>;
27562306a36Sopenharmony_ci			interrupts = <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>;
27662306a36Sopenharmony_ci		};
27762306a36Sopenharmony_ci
27862306a36Sopenharmony_ci		i2c1: i2c@3b000 {
27962306a36Sopenharmony_ci			compatible = "brcm,iproc-i2c";
28062306a36Sopenharmony_ci			reg = <0x3b000 0x50>;
28162306a36Sopenharmony_ci			#address-cells = <1>;
28262306a36Sopenharmony_ci			#size-cells = <0>;
28362306a36Sopenharmony_ci			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
28462306a36Sopenharmony_ci			clock-frequency = <100000>;
28562306a36Sopenharmony_ci		};
28662306a36Sopenharmony_ci	};
28762306a36Sopenharmony_ci
28862306a36Sopenharmony_ci	pflash: nor@20000000 {
28962306a36Sopenharmony_ci		compatible = "cfi-flash", "jedec-flash";
29062306a36Sopenharmony_ci		reg = <0x20000000 0x04000000>;
29162306a36Sopenharmony_ci		status = "disabled";
29262306a36Sopenharmony_ci		#address-cells = <1>;
29362306a36Sopenharmony_ci		#size-cells = <1>;
29462306a36Sopenharmony_ci
29562306a36Sopenharmony_ci		/* partitions defined in board DTS */
29662306a36Sopenharmony_ci	};
29762306a36Sopenharmony_ci
29862306a36Sopenharmony_ci	pcie0: pcie@18012000 {
29962306a36Sopenharmony_ci		compatible = "brcm,iproc-pcie";
30062306a36Sopenharmony_ci		reg = <0x18012000 0x1000>;
30162306a36Sopenharmony_ci
30262306a36Sopenharmony_ci		#interrupt-cells = <1>;
30362306a36Sopenharmony_ci		interrupt-map-mask = <0 0 0 0>;
30462306a36Sopenharmony_ci		interrupt-map = <0 0 0 0 &gic GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
30562306a36Sopenharmony_ci
30662306a36Sopenharmony_ci		linux,pci-domain = <0>;
30762306a36Sopenharmony_ci
30862306a36Sopenharmony_ci		bus-range = <0x00 0xff>;
30962306a36Sopenharmony_ci
31062306a36Sopenharmony_ci		#address-cells = <3>;
31162306a36Sopenharmony_ci		#size-cells = <2>;
31262306a36Sopenharmony_ci		device_type = "pci";
31362306a36Sopenharmony_ci
31462306a36Sopenharmony_ci		/* Note: The HW does not support I/O resources.  So,
31562306a36Sopenharmony_ci		 * only the memory resource range is being specified.
31662306a36Sopenharmony_ci		 */
31762306a36Sopenharmony_ci		ranges = <0x82000000 0 0x08000000 0x08000000 0 0x8000000>;
31862306a36Sopenharmony_ci
31962306a36Sopenharmony_ci		status = "disabled";
32062306a36Sopenharmony_ci
32162306a36Sopenharmony_ci		msi-parent = <&msi0>;
32262306a36Sopenharmony_ci		msi0: msi {
32362306a36Sopenharmony_ci			compatible = "brcm,iproc-msi";
32462306a36Sopenharmony_ci			msi-controller;
32562306a36Sopenharmony_ci			interrupt-parent = <&gic>;
32662306a36Sopenharmony_ci			interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
32762306a36Sopenharmony_ci				     <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
32862306a36Sopenharmony_ci				     <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
32962306a36Sopenharmony_ci				     <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
33062306a36Sopenharmony_ci			brcm,pcie-msi-inten;
33162306a36Sopenharmony_ci		};
33262306a36Sopenharmony_ci	};
33362306a36Sopenharmony_ci
33462306a36Sopenharmony_ci	pcie1: pcie@18013000 {
33562306a36Sopenharmony_ci		compatible = "brcm,iproc-pcie";
33662306a36Sopenharmony_ci		reg = <0x18013000 0x1000>;
33762306a36Sopenharmony_ci
33862306a36Sopenharmony_ci		#interrupt-cells = <1>;
33962306a36Sopenharmony_ci		interrupt-map-mask = <0 0 0 0>;
34062306a36Sopenharmony_ci		interrupt-map = <0 0 0 0 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
34162306a36Sopenharmony_ci
34262306a36Sopenharmony_ci		linux,pci-domain = <1>;
34362306a36Sopenharmony_ci
34462306a36Sopenharmony_ci		bus-range = <0x00 0xff>;
34562306a36Sopenharmony_ci
34662306a36Sopenharmony_ci		#address-cells = <3>;
34762306a36Sopenharmony_ci		#size-cells = <2>;
34862306a36Sopenharmony_ci		device_type = "pci";
34962306a36Sopenharmony_ci
35062306a36Sopenharmony_ci		/* Note: The HW does not support I/O resources.  So,
35162306a36Sopenharmony_ci		 * only the memory resource range is being specified.
35262306a36Sopenharmony_ci		 */
35362306a36Sopenharmony_ci		ranges = <0x82000000 0 0x40000000 0x40000000 0 0x8000000>;
35462306a36Sopenharmony_ci
35562306a36Sopenharmony_ci		status = "disabled";
35662306a36Sopenharmony_ci
35762306a36Sopenharmony_ci		msi-parent = <&msi1>;
35862306a36Sopenharmony_ci		msi1: msi {
35962306a36Sopenharmony_ci			compatible = "brcm,iproc-msi";
36062306a36Sopenharmony_ci			msi-controller;
36162306a36Sopenharmony_ci			interrupt-parent = <&gic>;
36262306a36Sopenharmony_ci			interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
36362306a36Sopenharmony_ci				     <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
36462306a36Sopenharmony_ci				     <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
36562306a36Sopenharmony_ci				     <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
36662306a36Sopenharmony_ci			brcm,pcie-msi-inten;
36762306a36Sopenharmony_ci		};
36862306a36Sopenharmony_ci	};
36962306a36Sopenharmony_ci};
370