| * 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>; |
| }; |