Merge branch 'work.splice_read' of git://git.kernel.org/pub/scm/linux/kernel/git...
[cascardo/linux.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 - #address-cells: set to <3>
10 - #size-cells: set to <2>
11 - device_type: set to "pci"
12 - ranges: ranges for the PCI memory and I/O regions
13 - #interrupt-cells: set to <1>
14 - interrupt-map-mask and interrupt-map: standard PCI properties
15         to define the mapping of the PCIe interface to interrupt
16         numbers.
17 - num-lanes: number of lanes to use
18
19 Optional properties:
20 - num-viewport: number of view ports configured in hardware.  If a platform
21   does not specify it, the driver assumes 2.
22 - num-lanes: number of lanes to use (this property should be specified unless
23   the link is brought already up in BIOS)
24 - reset-gpio: gpio pin number of power good signal
25 - bus-range: PCI bus numbers covered (it is recommended for new devicetrees to
26   specify this property, to keep backwards compatibility a range of 0x00-0xff
27   is assumed if not present)
28 - clocks: Must contain an entry for each entry in clock-names.
29         See ../clocks/clock-bindings.txt for details.
30 - clock-names: Must include the following entries:
31         - "pcie"
32         - "pcie_bus"
33
34 Example configuration:
35
36         pcie: pcie@dffff000 {
37                 compatible = "snps,dw-pcie";
38                 reg = <0xdffff000 0x1000>, /* Controller registers */
39                       <0xd0000000 0x2000>; /* PCI config space */
40                 reg-names = "ctrlreg", "config";
41                 #address-cells = <3>;
42                 #size-cells = <2>;
43                 device_type = "pci";
44                 ranges = <0x81000000 0 0x00000000 0xde000000 0 0x00010000
45                           0x82000000 0 0xd0400000 0xd0400000 0 0x0d000000>;
46                 interrupts = <25>, <24>;
47                 #interrupt-cells = <1>;
48                 num-lanes = <1>;
49                 num-viewport = <3>;
50         };