diff options
-rw-r--r-- | Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.txt | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.txt b/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.txt new file mode 100644 index 000000000000..20a33f38f69d --- /dev/null +++ b/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.txt | |||
@@ -0,0 +1,60 @@ | |||
1 | * Cadence PCIe host controller | ||
2 | |||
3 | This PCIe controller inherits the base properties defined in | ||
4 | host-generic-pci.txt. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: Should contain "cdns,cdns-pcie-host" to identify the IP used. | ||
8 | - reg: Should contain the controller register base address, PCIe configuration | ||
9 | window base address, and AXI interface region base address respectively. | ||
10 | - reg-names: Must be "reg", "cfg" and "mem" respectively. | ||
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 | - #interrupt-cells: Set to <1> | ||
16 | - interrupt-map-mask and interrupt-map: Standard PCI properties to define the | ||
17 | mapping of the PCIe interface to interrupt numbers. | ||
18 | |||
19 | Optional properties: | ||
20 | - cdns,max-outbound-regions: Set to maximum number of outbound regions | ||
21 | (default 32) | ||
22 | - cdns,no-bar-match-nbits: Set into the no BAR match register to configure the | ||
23 | number of least significant bits kept during inbound (PCIe -> AXI) address | ||
24 | translations (default 32) | ||
25 | - vendor-id: The PCI vendor ID (16 bits, default is design dependent) | ||
26 | - device-id: The PCI device ID (16 bits, default is design dependent) | ||
27 | |||
28 | Example: | ||
29 | |||
30 | pcie@fb000000 { | ||
31 | compatible = "cdns,cdns-pcie-host"; | ||
32 | device_type = "pci"; | ||
33 | #address-cells = <3>; | ||
34 | #size-cells = <2>; | ||
35 | bus-range = <0x0 0xff>; | ||
36 | linux,pci-domain = <0>; | ||
37 | cdns,max-outbound-regions = <16>; | ||
38 | cdns,no-bar-match-nbits = <32>; | ||
39 | vendor-id = /bits/ 16 <0x17cd>; | ||
40 | device-id = /bits/ 16 <0x0200>; | ||
41 | |||
42 | reg = <0x0 0xfb000000 0x0 0x01000000>, | ||
43 | <0x0 0x41000000 0x0 0x00001000>, | ||
44 | <0x0 0x40000000 0x0 0x04000000>; | ||
45 | reg-names = "reg", "cfg", "mem"; | ||
46 | |||
47 | ranges = <0x02000000 0x0 0x42000000 0x0 0x42000000 0x0 0x1000000>, | ||
48 | <0x01000000 0x0 0x43000000 0x0 0x43000000 0x0 0x0010000>; | ||
49 | |||
50 | #interrupt-cells = <0x1>; | ||
51 | |||
52 | interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 0x0 14 0x1 | ||
53 | 0x0 0x0 0x0 0x2 &gic 0x0 0x0 0x0 15 0x1 | ||
54 | 0x0 0x0 0x0 0x3 &gic 0x0 0x0 0x0 16 0x1 | ||
55 | 0x0 0x0 0x0 0x4 &gic 0x0 0x0 0x0 17 0x1>; | ||
56 | |||
57 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
58 | |||
59 | msi-parent = <&its_pci>; | ||
60 | }; | ||