1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- * Broadcom iProc PCIe controller with the platform bus interface
- Required properties:
- - compatible: Must be "brcm,iproc-pcie"
- - reg: base address and length of the PCIe controller I/O register space
- - #interrupt-cells: set to <1>
- - interrupt-map-mask and interrupt-map, standard PCI properties to define the
- mapping of the PCIe interface to interrupt numbers
- - linux,pci-domain: PCI domain ID. Should be unique for each host controller
- - bus-range: PCI bus numbers covered
- - #address-cells: set to <3>
- - #size-cells: set to <2>
- - device_type: set to "pci"
- - ranges: ranges for the PCI memory and I/O regions
- Optional properties:
- - phys: phandle of the PCIe PHY device
- - phy-names: must be "pcie-phy"
- - brcm,pcie-ob: Some iProc SoCs do not have the outbound address mapping done
- by the ASIC after power on reset. In this case, SW needs to configure it
- If the brcm,pcie-ob property is present, the following properties become
- effective:
- Required:
- - brcm,pcie-ob-axi-offset: The offset from the AXI address to the internal
- address used by the iProc PCIe core (not the PCIe address)
- - brcm,pcie-ob-window-size: The outbound address mapping window size (in MB)
- Optional:
- - brcm,pcie-ob-oarr-size: Some iProc SoCs need the OARR size bit to be set to
- increase the outbound window size
- Example:
- pcie0: pcie@18012000 {
- compatible = "brcm,iproc-pcie";
- reg = <0x18012000 0x1000>;
- #interrupt-cells = <1>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &gic GIC_SPI 100 IRQ_TYPE_NONE>;
- linux,pci-domain = <0>;
- bus-range = <0x00 0xff>;
- #address-cells = <3>;
- #size-cells = <2>;
- device_type = "pci";
- ranges = <0x81000000 0 0 0x28000000 0 0x00010000
- 0x82000000 0 0x20000000 0x20000000 0 0x04000000>;
- phys = <&phy 0 5>;
- phy-names = "pcie-phy";
- brcm,pcie-ob;
- brcm,pcie-ob-oarr-size;
- brcm,pcie-ob-axi-offset = <0x00000000>;
- brcm,pcie-ob-window-size = <256>;
- };
- pcie1: pcie@18013000 {
- compatible = "brcm,iproc-pcie";
- reg = <0x18013000 0x1000>;
- #interrupt-cells = <1>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &gic GIC_SPI 106 IRQ_TYPE_NONE>;
- linux,pci-domain = <1>;
- bus-range = <0x00 0xff>;
- #address-cells = <3>;
- #size-cells = <2>;
- device_type = "pci";
- ranges = <0x81000000 0 0 0x48000000 0 0x00010000
- 0x82000000 0 0x40000000 0x40000000 0 0x04000000>;
- phys = <&phy 1 6>;
- phy-names = "pcie-phy";
- };
|