diff options
author | Rob Herring <robh@kernel.org> | 2015-01-28 11:16:16 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2015-01-28 17:49:41 -0500 |
commit | 7e772edf1f22fa6faba4ccff680f1e2135fa10b0 (patch) | |
tree | ecfb11a9a2f3d54a5a197a2335475eb954c7e68a | |
parent | 97bf6af1f928216fd6c5a66e8a57bfa95a659672 (diff) |
PCI: versatile: Add DT docs for ARM Versatile PB PCIe driver
Add binding documentation for the PCI controller found on Versatile PB
boards.
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
CC: Pawel Moll <pawel.moll@arm.com>
CC: Mark Rutland <mark.rutland@arm.com>
CC: Ian Campbell <ijc+devicetree@hellion.org.uk>
CC: Kumar Gala <galak@codeaurora.org>
-rw-r--r-- | Documentation/devicetree/bindings/pci/versatile.txt | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/pci/versatile.txt b/Documentation/devicetree/bindings/pci/versatile.txt new file mode 100644 index 000000000000..ebd1e7d0403e --- /dev/null +++ b/Documentation/devicetree/bindings/pci/versatile.txt | |||
@@ -0,0 +1,59 @@ | |||
1 | * ARM Versatile Platform Baseboard PCI interface | ||
2 | |||
3 | PCI host controller found on the ARM Versatile PB board's FPGA. | ||
4 | |||
5 | Required properties: | ||
6 | - compatible: should contain "arm,versatile-pci" to identify the Versatile PCI | ||
7 | controller. | ||
8 | - reg: base addresses and lengths of the pci controller. There must be 3 | ||
9 | entries: | ||
10 | - Versatile-specific registers | ||
11 | - Self Config space | ||
12 | - Config space | ||
13 | - #address-cells: set to <3> | ||
14 | - #size-cells: set to <2> | ||
15 | - device_type: set to "pci" | ||
16 | - bus-range: set to <0 0xff> | ||
17 | - ranges: ranges for the PCI memory and I/O regions | ||
18 | - #interrupt-cells: set to <1> | ||
19 | - interrupt-map-mask and interrupt-map: standard PCI properties to define | ||
20 | the mapping of the PCI interface to interrupt numbers. | ||
21 | |||
22 | Example: | ||
23 | |||
24 | pci-controller@10001000 { | ||
25 | compatible = "arm,versatile-pci"; | ||
26 | device_type = "pci"; | ||
27 | reg = <0x10001000 0x1000 | ||
28 | 0x41000000 0x10000 | ||
29 | 0x42000000 0x100000>; | ||
30 | bus-range = <0 0xff>; | ||
31 | #address-cells = <3>; | ||
32 | #size-cells = <2>; | ||
33 | #interrupt-cells = <1>; | ||
34 | |||
35 | ranges = <0x01000000 0 0x00000000 0x43000000 0 0x00010000 /* downstream I/O */ | ||
36 | 0x02000000 0 0x50000000 0x50000000 0 0x10000000 /* non-prefetchable memory */ | ||
37 | 0x42000000 0 0x60000000 0x60000000 0 0x10000000>; /* prefetchable memory */ | ||
38 | |||
39 | interrupt-map-mask = <0x1800 0 0 7>; | ||
40 | interrupt-map = <0x1800 0 0 1 &sic 28 | ||
41 | 0x1800 0 0 2 &sic 29 | ||
42 | 0x1800 0 0 3 &sic 30 | ||
43 | 0x1800 0 0 4 &sic 27 | ||
44 | |||
45 | 0x1000 0 0 1 &sic 27 | ||
46 | 0x1000 0 0 2 &sic 28 | ||
47 | 0x1000 0 0 3 &sic 29 | ||
48 | 0x1000 0 0 4 &sic 30 | ||
49 | |||
50 | 0x0800 0 0 1 &sic 30 | ||
51 | 0x0800 0 0 2 &sic 27 | ||
52 | 0x0800 0 0 3 &sic 28 | ||
53 | 0x0800 0 0 4 &sic 29 | ||
54 | |||
55 | 0x0000 0 0 1 &sic 29 | ||
56 | 0x0000 0 0 2 &sic 30 | ||
57 | 0x0000 0 0 3 &sic 27 | ||
58 | 0x0000 0 0 4 &sic 28>; | ||
59 | }; | ||