aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2017-10-06 12:39:19 -0400
committerBjorn Helgaas <helgaas@kernel.org>2017-10-09 20:11:28 -0400
commit19f3f22aade704f9ce82a55c853381e672629a1d (patch)
tree8d368c12beaffbb7dd194a20196190dde6b565b8
parent58fb207fb10074be48f51e514422dea7ce5fa048 (diff)
dt-bindings: PCI: designware: Add binding for Designware PCIe in ECAM mode
Describe the binding for firmware-configured instances of the Synopsys DesignWare PCIe controller in RC mode, that are almost but not quite ECAM compliant. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Bjorn Helgaas <helgaas@kernel.org> Acked-by: Rob Herring <robh@kernel.org>
-rw-r--r--Documentation/devicetree/bindings/pci/designware-pcie-ecam.txt42
1 files changed, 42 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/pci/designware-pcie-ecam.txt b/Documentation/devicetree/bindings/pci/designware-pcie-ecam.txt
new file mode 100644
index 000000000000..515b2f9542e5
--- /dev/null
+++ b/Documentation/devicetree/bindings/pci/designware-pcie-ecam.txt
@@ -0,0 +1,42 @@
1* Synopsys DesignWare PCIe root complex in ECAM shift mode
2
3In some cases, firmware may already have configured the Synopsys DesignWare
4PCIe controller in RC mode with static ATU window mappings that cover all
5config, MMIO and I/O spaces in a [mostly] ECAM compatible fashion.
6In this case, there is no need for the OS to perform any low level setup
7of clocks, PHYs or device registers, nor is there any reason for the driver
8to reconfigure ATU windows for config and/or IO space accesses at runtime.
9
10In cases where the IP was synthesized with a minimum ATU window size of
1164 KB, it cannot be supported by the generic ECAM driver, because it
12requires special config space accessors that filter accesses to device #1
13and beyond on the first bus.
14
15Required properties:
16- compatible: "marvell,armada8k-pcie-ecam" or
17 "socionext,synquacer-pcie-ecam" or
18 "snps,dw-pcie-ecam" (must be preceded by a more specific match)
19
20Please refer to the binding document of "pci-host-ecam-generic" in the
21file host-generic-pci.txt for a description of the remaining required
22and optional properties.
23
24Example:
25
26 pcie1: pcie@7f000000 {
27 compatible = "socionext,synquacer-pcie-ecam", "snps,dw-pcie-ecam";
28 device_type = "pci";
29 reg = <0x0 0x7f000000 0x0 0xf00000>;
30 bus-range = <0x0 0xe>;
31 #address-cells = <3>;
32 #size-cells = <2>;
33 ranges = <0x1000000 0x00 0x00010000 0x00 0x7ff00000 0x0 0x00010000>,
34 <0x2000000 0x00 0x70000000 0x00 0x70000000 0x0 0x0f000000>,
35 <0x3000000 0x3f 0x00000000 0x3f 0x00000000 0x1 0x00000000>;
36
37 #interrupt-cells = <0x1>;
38 interrupt-map-mask = <0x0 0x0 0x0 0x0>;
39 interrupt-map = <0x0 0x0 0x0 0x0 &gic 0x0 0x0 0x0 182 0x4>;
40 msi-map = <0x0 &its 0x0 0x10000>;
41 dma-coherent;
42 };