0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/pci/snps,dw-pcie.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Synopsys DesignWare PCIe interface
0008
0009 maintainers:
0010 - Jingoo Han <jingoohan1@gmail.com>
0011 - Gustavo Pimentel <gustavo.pimentel@synopsys.com>
0012
0013 description: |
0014 Synopsys DesignWare PCIe host controller
0015
0016 allOf:
0017 - $ref: /schemas/pci/pci-bus.yaml#
0018
0019 properties:
0020 compatible:
0021 anyOf:
0022 - {}
0023 - const: snps,dw-pcie
0024
0025 reg:
0026 description: |
0027 It should contain Data Bus Interface (dbi) and config registers for all
0028 versions.
0029 For designware core version >= 4.80, it may contain ATU address space.
0030 minItems: 2
0031 maxItems: 5
0032
0033 reg-names:
0034 minItems: 2
0035 maxItems: 5
0036 items:
0037 enum: [ dbi, dbi2, config, atu, atu_dma, app, appl, elbi, mgmt, ctrl,
0038 parf, cfg, link, ulreg, smu, mpu, apb, phy ]
0039
0040 num-lanes:
0041 description: |
0042 number of lanes to use (this property should be specified unless
0043 the link is brought already up in firmware)
0044 maximum: 16
0045
0046 reset-gpio:
0047 description: GPIO pin number of PERST# signal
0048 maxItems: 1
0049 deprecated: true
0050
0051 reset-gpios:
0052 description: GPIO controlled connection to PERST# signal
0053 maxItems: 1
0054
0055 interrupts: true
0056
0057 interrupt-names: true
0058
0059 clocks: true
0060
0061 snps,enable-cdm-check:
0062 type: boolean
0063 description: |
0064 This is a boolean property and if present enables
0065 automatic checking of CDM (Configuration Dependent Module) registers
0066 for data corruption. CDM registers include standard PCIe configuration
0067 space registers, Port Logic registers, DMA and iATU (internal Address
0068 Translation Unit) registers.
0069
0070 num-viewport:
0071 $ref: /schemas/types.yaml#/definitions/uint32
0072 maximum: 256
0073 description: |
0074 number of view ports configured in hardware. If a platform
0075 does not specify it, the driver autodetects it.
0076 deprecated: true
0077
0078 additionalProperties: true
0079
0080 required:
0081 - reg
0082 - reg-names
0083 - compatible
0084
0085 examples:
0086 - |
0087 bus {
0088 #address-cells = <1>;
0089 #size-cells = <1>;
0090 pcie@dfc00000 {
0091 device_type = "pci";
0092 compatible = "snps,dw-pcie";
0093 reg = <0xdfc00000 0x0001000>, /* IP registers */
0094 <0xd0000000 0x0002000>; /* Configuration space */
0095 reg-names = "dbi", "config";
0096 #address-cells = <3>;
0097 #size-cells = <2>;
0098 ranges = <0x81000000 0 0x00000000 0xde000000 0 0x00010000>,
0099 <0x82000000 0 0xd0400000 0xd0400000 0 0x0d000000>;
0100 interrupts = <25>, <24>;
0101 #interrupt-cells = <1>;
0102 num-lanes = <1>;
0103 };
0104 };