# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pci/qcom,pcie-common.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm PCI Express Root Complex Common Properties

maintainers:
  - Bjorn Andersson <andersson@kernel.org>
  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

properties:
  reg:
    minItems: 4
    maxItems: 6

  reg-names:
    minItems: 4
    maxItems: 6

  interrupts:
    minItems: 1
    maxItems: 9

  interrupt-names:
    minItems: 1
    maxItems: 9

  iommu-map:
    minItems: 1
    maxItems: 16

  clocks:
    minItems: 3
    maxItems: 13

  clock-names:
    minItems: 3
    maxItems: 13

  dma-coherent: true

  interconnects:
    maxItems: 2

  interconnect-names:
    items:
      - const: pcie-mem
      - const: cpu-pcie

  phys:
    maxItems: 1

  phy-names:
    items:
      - const: pciephy

  power-domains:
    maxItems: 1

  required-opps:
    maxItems: 1

  resets:
    minItems: 1
    maxItems: 12

  reset-names:
    minItems: 1
    maxItems: 12

  perst-gpios:
    description: GPIO controlled connection to PERST# signal
    maxItems: 1

  wake-gpios:
    description: GPIO controlled connection to WAKE# signal
    maxItems: 1

  vddpe-3v3-supply:
    description: PCIe endpoint power supply

required:
  - reg
  - reg-names
  - interrupt-map-mask
  - interrupt-map
  - clocks
  - clock-names

anyOf:
  - required:
      - interrupts
      - interrupt-names
      - "#interrupt-cells"
  - required:
      - msi-map

allOf:
  - $ref: /schemas/pci/pci-host-bridge.yaml#

additionalProperties: true
