1* Broadcom iProc PCIe controller with the platform bus interface
2
3Required properties:
4- compatible: Must be "brcm,iproc-pcie"
5- reg: base address and length of the PCIe controller I/O register space
6- #interrupt-cells: set to <1>
7- interrupt-map-mask and interrupt-map, standard PCI properties to define the
8  mapping of the PCIe interface to interrupt numbers
9- linux,pci-domain: PCI domain ID. Should be unique for each host controller
10- bus-range: PCI bus numbers covered
11- #address-cells: set to <3>
12- #size-cells: set to <2>
13- device_type: set to "pci"
14- ranges: ranges for the PCI memory and I/O regions
15
16Optional properties:
17- phys: phandle of the PCIe PHY device
18- phy-names: must be "pcie-phy"
19
20- brcm,pcie-ob: Some iProc SoCs do not have the outbound address mapping done
21by the ASIC after power on reset. In this case, SW needs to configure it
22
23If the brcm,pcie-ob property is present, the following properties become
24effective:
25
26Required:
27- brcm,pcie-ob-axi-offset: The offset from the AXI address to the internal
28address used by the iProc PCIe core (not the PCIe address)
29- brcm,pcie-ob-window-size: The outbound address mapping window size (in MB)
30
31Optional:
32- brcm,pcie-ob-oarr-size: Some iProc SoCs need the OARR size bit to be set to
33increase the outbound window size
34
35Example:
36	pcie0: pcie@18012000 {
37		compatible = "brcm,iproc-pcie";
38		reg = <0x18012000 0x1000>;
39
40		#interrupt-cells = <1>;
41		interrupt-map-mask = <0 0 0 0>;
42		interrupt-map = <0 0 0 0 &gic GIC_SPI 100 IRQ_TYPE_NONE>;
43
44		linux,pci-domain = <0>;
45
46		bus-range = <0x00 0xff>;
47
48		#address-cells = <3>;
49		#size-cells = <2>;
50		device_type = "pci";
51		ranges = <0x81000000 0 0	  0x28000000 0 0x00010000
52			  0x82000000 0 0x20000000 0x20000000 0 0x04000000>;
53
54		phys = <&phy 0 5>;
55		phy-names = "pcie-phy";
56
57		brcm,pcie-ob;
58		brcm,pcie-ob-oarr-size;
59		brcm,pcie-ob-axi-offset = <0x00000000>;
60		brcm,pcie-ob-window-size = <256>;
61	};
62
63	pcie1: pcie@18013000 {
64		compatible = "brcm,iproc-pcie";
65		reg = <0x18013000 0x1000>;
66
67		#interrupt-cells = <1>;
68		interrupt-map-mask = <0 0 0 0>;
69		interrupt-map = <0 0 0 0 &gic GIC_SPI 106 IRQ_TYPE_NONE>;
70
71		linux,pci-domain = <1>;
72
73		bus-range = <0x00 0xff>;
74
75		#address-cells = <3>;
76		#size-cells = <2>;
77		device_type = "pci";
78		ranges = <0x81000000 0 0	  0x48000000 0 0x00010000
79			  0x82000000 0 0x40000000 0x40000000 0 0x04000000>;
80
81		phys = <&phy 1 6>;
82		phy-names = "pcie-phy";
83	};
84