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