summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml
blob: 3fdc80453a850de1fb4800fb77809b8772e386e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/pci/snps,dw-pcie.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Synopsys DesignWare PCIe interface

maintainers:
  - Jingoo Han <jingoohan1@gmail.com>
  - Gustavo Pimentel <gustavo.pimentel@synopsys.com>

description: |
  Synopsys DesignWare PCIe host controller

allOf:
  - $ref: /schemas/pci/pci-bus.yaml#
  - $ref: /schemas/pci/snps,dw-pcie-common.yaml#

properties:
  compatible:
    anyOf:
      - {}
      - const: snps,dw-pcie

  reg:
    description: |
      It should contain Data Bus Interface (dbi) and config registers for all
      versions.
      For designware core version >= 4.80, it may contain ATU address space.
    minItems: 2
    maxItems: 5

  reg-names:
    minItems: 2
    maxItems: 5
    items:
      enum: [ dbi, dbi2, config, atu, atu_dma, app, appl, elbi, mgmt, ctrl,
              parf, cfg, link, ulreg, smu, mpu, apb, phy ]

  interrupts: true

  interrupt-names: true

  clocks: true

additionalProperties: true

required:
  - reg
  - reg-names
  - compatible

examples:
  - |
    pcie@dfc00000 {
      compatible = "snps,dw-pcie";
      device_type = "pci";
      reg = <0xdfc00000 0x0001000>, /* IP registers */
            <0xd0000000 0x0002000>; /* Configuration space */
      reg-names = "dbi", "config";
      #address-cells = <3>;
      #size-cells = <2>;
      ranges = <0x81000000 0 0x00000000 0xde000000 0 0x00010000>,
               <0x82000000 0 0xd0400000 0xd0400000 0 0x0d000000>;
      bus-range = <0x0 0xff>;

      interrupts = <25>, <24>;
      #interrupt-cells = <1>;

      reset-gpios = <&port0 0 1>;

      num-lanes = <1>;
    };