| * ARM Versatile Platform Baseboard PCI interface | |
| PCI host controller found on the ARM Versatile PB board's FPGA. | |
| Required properties: | |
| - compatible: should contain "arm,versatile-pci" to identify the Versatile PCI | |
| controller. | |
| - reg: base addresses and lengths of the PCI controller. There must be 3 | |
| entries: | |
| - Versatile-specific registers | |
| - Self Config space | |
| - Config space | |
| - #address-cells: set to <3> | |
| - #size-cells: set to <2> | |
| - device_type: set to "pci" | |
| - bus-range: set to <0 0xff> | |
| - ranges: ranges for the PCI memory and I/O regions | |
| - #interrupt-cells: set to <1> | |
| - interrupt-map-mask and interrupt-map: standard PCI properties to define | |
| the mapping of the PCI interface to interrupt numbers. | |
| Example: | |
| pci-controller@10001000 { | |
| compatible = "arm,versatile-pci"; | |
| device_type = "pci"; | |
| reg = <0x10001000 0x1000 | |
| 0x41000000 0x10000 | |
| 0x42000000 0x100000>; | |
| bus-range = <0 0xff>; | |
| #address-cells = <3>; | |
| #size-cells = <2>; | |
| #interrupt-cells = <1>; | |
| ranges = <0x01000000 0 0x00000000 0x43000000 0 0x00010000 /* downstream I/O */ | |
| 0x02000000 0 0x50000000 0x50000000 0 0x10000000 /* non-prefetchable memory */ | |
| 0x42000000 0 0x60000000 0x60000000 0 0x10000000>; /* prefetchable memory */ | |
| interrupt-map-mask = <0x1800 0 0 7>; | |
| interrupt-map = <0x1800 0 0 1 &sic 28 | |
| 0x1800 0 0 2 &sic 29 | |
| 0x1800 0 0 3 &sic 30 | |
| 0x1800 0 0 4 &sic 27 | |
| 0x1000 0 0 1 &sic 27 | |
| 0x1000 0 0 2 &sic 28 | |
| 0x1000 0 0 3 &sic 29 | |
| 0x1000 0 0 4 &sic 30 | |
| 0x0800 0 0 1 &sic 30 | |
| 0x0800 0 0 2 &sic 27 | |
| 0x0800 0 0 3 &sic 28 | |
| 0x0800 0 0 4 &sic 29 | |
| 0x0000 0 0 1 &sic 29 | |
| 0x0000 0 0 2 &sic 30 | |
| 0x0000 0 0 3 &sic 27 | |
| 0x0000 0 0 4 &sic 28>; | |
| }; |