Merge tag 'trace-v4.14-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rosted...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / pci / designware-pcie.txt
1 * Synopsys DesignWare PCIe interface
2
3 Required properties:
4 - compatible: should contain "snps,dw-pcie" to identify the core.
5 - reg: Should contain the configuration address space.
6 - reg-names: Must be "config" for the PCIe configuration space.
7     (The old way of getting the configuration address space from "ranges"
8     is deprecated and should be avoided.)
9 - num-lanes: number of lanes to use
10 RC mode:
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
17         properties to define the mapping of the PCIe interface to interrupt
18         numbers.
19 EP mode:
20 - num-ib-windows: number of inbound address translation windows
21 - num-ob-windows: number of outbound address translation windows
22
23 Optional properties:
24 - num-lanes: number of lanes to use (this property should be specified unless
25   the link is brought already up in BIOS)
26 - reset-gpio: GPIO pin number of power good signal
27 - clocks: Must contain an entry for each entry in clock-names.
28         See ../clocks/clock-bindings.txt for details.
29 - clock-names: Must include the following entries:
30         - "pcie"
31         - "pcie_bus"
32 RC mode:
33 - num-viewport: number of view ports configured in hardware. If a platform
34   does not specify it, the driver assumes 2.
35 - bus-range: PCI bus numbers covered (it is recommended for new devicetrees
36   to specify this property, to keep backwards compatibility a range of
37   0x00-0xff is assumed if not present)
38
39 EP mode:
40 - max-functions: maximum number of functions that can be configured
41
42 Example configuration:
43
44         pcie: pcie@dffff000 {
45                 compatible = "snps,dw-pcie";
46                 reg = <0xdffff000 0x1000>, /* Controller registers */
47                       <0xd0000000 0x2000>; /* PCI config space */
48                 reg-names = "ctrlreg", "config";
49                 #address-cells = <3>;
50                 #size-cells = <2>;
51                 device_type = "pci";
52                 ranges = <0x81000000 0 0x00000000 0xde000000 0 0x00010000
53                           0x82000000 0 0xd0400000 0xd0400000 0 0x0d000000>;
54                 interrupts = <25>, <24>;
55                 #interrupt-cells = <1>;
56                 num-lanes = <1>;
57                 num-viewport = <3>;
58         };