162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/pci/qcom,pcie.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Qualcomm PCI express root complex 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Bjorn Andersson <bjorn.andersson@linaro.org> 1162306a36Sopenharmony_ci - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cidescription: | 1462306a36Sopenharmony_ci Qualcomm PCIe root complex controller is based on the Synopsys DesignWare 1562306a36Sopenharmony_ci PCIe IP. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciproperties: 1862306a36Sopenharmony_ci compatible: 1962306a36Sopenharmony_ci oneOf: 2062306a36Sopenharmony_ci - enum: 2162306a36Sopenharmony_ci - qcom,pcie-apq8064 2262306a36Sopenharmony_ci - qcom,pcie-apq8084 2362306a36Sopenharmony_ci - qcom,pcie-ipq4019 2462306a36Sopenharmony_ci - qcom,pcie-ipq6018 2562306a36Sopenharmony_ci - qcom,pcie-ipq8064 2662306a36Sopenharmony_ci - qcom,pcie-ipq8064-v2 2762306a36Sopenharmony_ci - qcom,pcie-ipq8074 2862306a36Sopenharmony_ci - qcom,pcie-ipq8074-gen3 2962306a36Sopenharmony_ci - qcom,pcie-msm8996 3062306a36Sopenharmony_ci - qcom,pcie-qcs404 3162306a36Sopenharmony_ci - qcom,pcie-sa8540p 3262306a36Sopenharmony_ci - qcom,pcie-sa8775p 3362306a36Sopenharmony_ci - qcom,pcie-sc7280 3462306a36Sopenharmony_ci - qcom,pcie-sc8180x 3562306a36Sopenharmony_ci - qcom,pcie-sc8280xp 3662306a36Sopenharmony_ci - qcom,pcie-sdm845 3762306a36Sopenharmony_ci - qcom,pcie-sdx55 3862306a36Sopenharmony_ci - qcom,pcie-sm8150 3962306a36Sopenharmony_ci - qcom,pcie-sm8250 4062306a36Sopenharmony_ci - qcom,pcie-sm8350 4162306a36Sopenharmony_ci - qcom,pcie-sm8450-pcie0 4262306a36Sopenharmony_ci - qcom,pcie-sm8450-pcie1 4362306a36Sopenharmony_ci - qcom,pcie-sm8550 4462306a36Sopenharmony_ci - items: 4562306a36Sopenharmony_ci - const: qcom,pcie-msm8998 4662306a36Sopenharmony_ci - const: qcom,pcie-msm8996 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci reg: 4962306a36Sopenharmony_ci minItems: 4 5062306a36Sopenharmony_ci maxItems: 6 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci reg-names: 5362306a36Sopenharmony_ci minItems: 4 5462306a36Sopenharmony_ci maxItems: 6 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci interrupts: 5762306a36Sopenharmony_ci minItems: 1 5862306a36Sopenharmony_ci maxItems: 8 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci interrupt-names: 6162306a36Sopenharmony_ci minItems: 1 6262306a36Sopenharmony_ci maxItems: 8 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci iommu-map: 6562306a36Sopenharmony_ci maxItems: 2 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci # Common definitions for clocks, clock-names and reset. 6862306a36Sopenharmony_ci # Platform constraints are described later. 6962306a36Sopenharmony_ci clocks: 7062306a36Sopenharmony_ci minItems: 3 7162306a36Sopenharmony_ci maxItems: 13 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci clock-names: 7462306a36Sopenharmony_ci minItems: 3 7562306a36Sopenharmony_ci maxItems: 13 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci dma-coherent: true 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci interconnects: 8062306a36Sopenharmony_ci maxItems: 2 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci interconnect-names: 8362306a36Sopenharmony_ci items: 8462306a36Sopenharmony_ci - const: pcie-mem 8562306a36Sopenharmony_ci - const: cpu-pcie 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci resets: 8862306a36Sopenharmony_ci minItems: 1 8962306a36Sopenharmony_ci maxItems: 12 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci resets-names: 9262306a36Sopenharmony_ci minItems: 1 9362306a36Sopenharmony_ci maxItems: 12 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci vdda-supply: 9662306a36Sopenharmony_ci description: A phandle to the core analog power supply 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci vdda_phy-supply: 9962306a36Sopenharmony_ci description: A phandle to the core analog power supply for PHY 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci vdda_refclk-supply: 10262306a36Sopenharmony_ci description: A phandle to the core analog power supply for IC which generates reference clock 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci vddpe-3v3-supply: 10562306a36Sopenharmony_ci description: A phandle to the PCIe endpoint power supply 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci phys: 10862306a36Sopenharmony_ci maxItems: 1 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci phy-names: 11162306a36Sopenharmony_ci items: 11262306a36Sopenharmony_ci - const: pciephy 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci power-domains: 11562306a36Sopenharmony_ci maxItems: 1 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci perst-gpios: 11862306a36Sopenharmony_ci description: GPIO controlled connection to PERST# signal 11962306a36Sopenharmony_ci maxItems: 1 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci wake-gpios: 12262306a36Sopenharmony_ci description: GPIO controlled connection to WAKE# signal 12362306a36Sopenharmony_ci maxItems: 1 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_cirequired: 12662306a36Sopenharmony_ci - compatible 12762306a36Sopenharmony_ci - reg 12862306a36Sopenharmony_ci - reg-names 12962306a36Sopenharmony_ci - interrupt-map-mask 13062306a36Sopenharmony_ci - interrupt-map 13162306a36Sopenharmony_ci - clocks 13262306a36Sopenharmony_ci - clock-names 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_cianyOf: 13562306a36Sopenharmony_ci - required: 13662306a36Sopenharmony_ci - interrupts 13762306a36Sopenharmony_ci - interrupt-names 13862306a36Sopenharmony_ci - "#interrupt-cells" 13962306a36Sopenharmony_ci - required: 14062306a36Sopenharmony_ci - msi-map 14162306a36Sopenharmony_ci - msi-map-mask 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ciallOf: 14462306a36Sopenharmony_ci - $ref: /schemas/pci/pci-bus.yaml# 14562306a36Sopenharmony_ci - if: 14662306a36Sopenharmony_ci properties: 14762306a36Sopenharmony_ci compatible: 14862306a36Sopenharmony_ci contains: 14962306a36Sopenharmony_ci enum: 15062306a36Sopenharmony_ci - qcom,pcie-apq8064 15162306a36Sopenharmony_ci - qcom,pcie-ipq4019 15262306a36Sopenharmony_ci - qcom,pcie-ipq8064 15362306a36Sopenharmony_ci - qcom,pcie-ipq8064v2 15462306a36Sopenharmony_ci - qcom,pcie-ipq8074 15562306a36Sopenharmony_ci - qcom,pcie-qcs404 15662306a36Sopenharmony_ci then: 15762306a36Sopenharmony_ci properties: 15862306a36Sopenharmony_ci reg: 15962306a36Sopenharmony_ci minItems: 4 16062306a36Sopenharmony_ci maxItems: 4 16162306a36Sopenharmony_ci reg-names: 16262306a36Sopenharmony_ci items: 16362306a36Sopenharmony_ci - const: dbi # DesignWare PCIe registers 16462306a36Sopenharmony_ci - const: elbi # External local bus interface registers 16562306a36Sopenharmony_ci - const: parf # Qualcomm specific registers 16662306a36Sopenharmony_ci - const: config # PCIe configuration space 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci - if: 16962306a36Sopenharmony_ci properties: 17062306a36Sopenharmony_ci compatible: 17162306a36Sopenharmony_ci contains: 17262306a36Sopenharmony_ci enum: 17362306a36Sopenharmony_ci - qcom,pcie-ipq6018 17462306a36Sopenharmony_ci - qcom,pcie-ipq8074-gen3 17562306a36Sopenharmony_ci then: 17662306a36Sopenharmony_ci properties: 17762306a36Sopenharmony_ci reg: 17862306a36Sopenharmony_ci minItems: 5 17962306a36Sopenharmony_ci maxItems: 5 18062306a36Sopenharmony_ci reg-names: 18162306a36Sopenharmony_ci items: 18262306a36Sopenharmony_ci - const: dbi # DesignWare PCIe registers 18362306a36Sopenharmony_ci - const: elbi # External local bus interface registers 18462306a36Sopenharmony_ci - const: atu # ATU address space 18562306a36Sopenharmony_ci - const: parf # Qualcomm specific registers 18662306a36Sopenharmony_ci - const: config # PCIe configuration space 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci - if: 18962306a36Sopenharmony_ci properties: 19062306a36Sopenharmony_ci compatible: 19162306a36Sopenharmony_ci contains: 19262306a36Sopenharmony_ci enum: 19362306a36Sopenharmony_ci - qcom,pcie-apq8084 19462306a36Sopenharmony_ci - qcom,pcie-msm8996 19562306a36Sopenharmony_ci - qcom,pcie-sdm845 19662306a36Sopenharmony_ci then: 19762306a36Sopenharmony_ci properties: 19862306a36Sopenharmony_ci reg: 19962306a36Sopenharmony_ci minItems: 4 20062306a36Sopenharmony_ci maxItems: 5 20162306a36Sopenharmony_ci reg-names: 20262306a36Sopenharmony_ci minItems: 4 20362306a36Sopenharmony_ci items: 20462306a36Sopenharmony_ci - const: parf # Qualcomm specific registers 20562306a36Sopenharmony_ci - const: dbi # DesignWare PCIe registers 20662306a36Sopenharmony_ci - const: elbi # External local bus interface registers 20762306a36Sopenharmony_ci - const: config # PCIe configuration space 20862306a36Sopenharmony_ci - const: mhi # MHI registers 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ci - if: 21162306a36Sopenharmony_ci properties: 21262306a36Sopenharmony_ci compatible: 21362306a36Sopenharmony_ci contains: 21462306a36Sopenharmony_ci enum: 21562306a36Sopenharmony_ci - qcom,pcie-sa8775p 21662306a36Sopenharmony_ci - qcom,pcie-sc7280 21762306a36Sopenharmony_ci - qcom,pcie-sc8180x 21862306a36Sopenharmony_ci - qcom,pcie-sc8280xp 21962306a36Sopenharmony_ci - qcom,pcie-sdx55 22062306a36Sopenharmony_ci - qcom,pcie-sm8250 22162306a36Sopenharmony_ci - qcom,pcie-sm8350 22262306a36Sopenharmony_ci - qcom,pcie-sm8450-pcie0 22362306a36Sopenharmony_ci - qcom,pcie-sm8450-pcie1 22462306a36Sopenharmony_ci - qcom,pcie-sm8550 22562306a36Sopenharmony_ci then: 22662306a36Sopenharmony_ci properties: 22762306a36Sopenharmony_ci reg: 22862306a36Sopenharmony_ci minItems: 5 22962306a36Sopenharmony_ci maxItems: 6 23062306a36Sopenharmony_ci reg-names: 23162306a36Sopenharmony_ci minItems: 5 23262306a36Sopenharmony_ci items: 23362306a36Sopenharmony_ci - const: parf # Qualcomm specific registers 23462306a36Sopenharmony_ci - const: dbi # DesignWare PCIe registers 23562306a36Sopenharmony_ci - const: elbi # External local bus interface registers 23662306a36Sopenharmony_ci - const: atu # ATU address space 23762306a36Sopenharmony_ci - const: config # PCIe configuration space 23862306a36Sopenharmony_ci - const: mhi # MHI registers 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ci - if: 24162306a36Sopenharmony_ci properties: 24262306a36Sopenharmony_ci compatible: 24362306a36Sopenharmony_ci contains: 24462306a36Sopenharmony_ci enum: 24562306a36Sopenharmony_ci - qcom,pcie-apq8064 24662306a36Sopenharmony_ci - qcom,pcie-ipq8064 24762306a36Sopenharmony_ci - qcom,pcie-ipq8064v2 24862306a36Sopenharmony_ci then: 24962306a36Sopenharmony_ci properties: 25062306a36Sopenharmony_ci clocks: 25162306a36Sopenharmony_ci minItems: 3 25262306a36Sopenharmony_ci maxItems: 5 25362306a36Sopenharmony_ci clock-names: 25462306a36Sopenharmony_ci minItems: 3 25562306a36Sopenharmony_ci items: 25662306a36Sopenharmony_ci - const: core # Clocks the pcie hw block 25762306a36Sopenharmony_ci - const: iface # Configuration AHB clock 25862306a36Sopenharmony_ci - const: phy # Clocks the pcie PHY block 25962306a36Sopenharmony_ci - const: aux # Clocks the pcie AUX block, not on apq8064 26062306a36Sopenharmony_ci - const: ref # Clocks the pcie ref block, not on apq8064 26162306a36Sopenharmony_ci resets: 26262306a36Sopenharmony_ci minItems: 5 26362306a36Sopenharmony_ci maxItems: 6 26462306a36Sopenharmony_ci reset-names: 26562306a36Sopenharmony_ci minItems: 5 26662306a36Sopenharmony_ci items: 26762306a36Sopenharmony_ci - const: axi # AXI reset 26862306a36Sopenharmony_ci - const: ahb # AHB reset 26962306a36Sopenharmony_ci - const: por # POR reset 27062306a36Sopenharmony_ci - const: pci # PCI reset 27162306a36Sopenharmony_ci - const: phy # PHY reset 27262306a36Sopenharmony_ci - const: ext # EXT reset, not on apq8064 27362306a36Sopenharmony_ci required: 27462306a36Sopenharmony_ci - vdda-supply 27562306a36Sopenharmony_ci - vdda_phy-supply 27662306a36Sopenharmony_ci - vdda_refclk-supply 27762306a36Sopenharmony_ci 27862306a36Sopenharmony_ci - if: 27962306a36Sopenharmony_ci properties: 28062306a36Sopenharmony_ci compatible: 28162306a36Sopenharmony_ci contains: 28262306a36Sopenharmony_ci enum: 28362306a36Sopenharmony_ci - qcom,pcie-apq8084 28462306a36Sopenharmony_ci then: 28562306a36Sopenharmony_ci properties: 28662306a36Sopenharmony_ci clocks: 28762306a36Sopenharmony_ci minItems: 4 28862306a36Sopenharmony_ci maxItems: 4 28962306a36Sopenharmony_ci clock-names: 29062306a36Sopenharmony_ci items: 29162306a36Sopenharmony_ci - const: iface # Configuration AHB clock 29262306a36Sopenharmony_ci - const: master_bus # Master AXI clock 29362306a36Sopenharmony_ci - const: slave_bus # Slave AXI clock 29462306a36Sopenharmony_ci - const: aux # Auxiliary (AUX) clock 29562306a36Sopenharmony_ci resets: 29662306a36Sopenharmony_ci maxItems: 1 29762306a36Sopenharmony_ci reset-names: 29862306a36Sopenharmony_ci items: 29962306a36Sopenharmony_ci - const: core # Core reset 30062306a36Sopenharmony_ci 30162306a36Sopenharmony_ci - if: 30262306a36Sopenharmony_ci properties: 30362306a36Sopenharmony_ci compatible: 30462306a36Sopenharmony_ci contains: 30562306a36Sopenharmony_ci enum: 30662306a36Sopenharmony_ci - qcom,pcie-ipq4019 30762306a36Sopenharmony_ci then: 30862306a36Sopenharmony_ci properties: 30962306a36Sopenharmony_ci clocks: 31062306a36Sopenharmony_ci minItems: 3 31162306a36Sopenharmony_ci maxItems: 3 31262306a36Sopenharmony_ci clock-names: 31362306a36Sopenharmony_ci items: 31462306a36Sopenharmony_ci - const: aux # Auxiliary (AUX) clock 31562306a36Sopenharmony_ci - const: master_bus # Master AXI clock 31662306a36Sopenharmony_ci - const: slave_bus # Slave AXI clock 31762306a36Sopenharmony_ci resets: 31862306a36Sopenharmony_ci minItems: 12 31962306a36Sopenharmony_ci maxItems: 12 32062306a36Sopenharmony_ci reset-names: 32162306a36Sopenharmony_ci items: 32262306a36Sopenharmony_ci - const: axi_m # AXI master reset 32362306a36Sopenharmony_ci - const: axi_s # AXI slave reset 32462306a36Sopenharmony_ci - const: pipe # PIPE reset 32562306a36Sopenharmony_ci - const: axi_m_vmid # VMID reset 32662306a36Sopenharmony_ci - const: axi_s_xpu # XPU reset 32762306a36Sopenharmony_ci - const: parf # PARF reset 32862306a36Sopenharmony_ci - const: phy # PHY reset 32962306a36Sopenharmony_ci - const: axi_m_sticky # AXI sticky reset 33062306a36Sopenharmony_ci - const: pipe_sticky # PIPE sticky reset 33162306a36Sopenharmony_ci - const: pwr # PWR reset 33262306a36Sopenharmony_ci - const: ahb # AHB reset 33362306a36Sopenharmony_ci - const: phy_ahb # PHY AHB reset 33462306a36Sopenharmony_ci 33562306a36Sopenharmony_ci - if: 33662306a36Sopenharmony_ci properties: 33762306a36Sopenharmony_ci compatible: 33862306a36Sopenharmony_ci contains: 33962306a36Sopenharmony_ci enum: 34062306a36Sopenharmony_ci - qcom,pcie-msm8996 34162306a36Sopenharmony_ci then: 34262306a36Sopenharmony_ci properties: 34362306a36Sopenharmony_ci clocks: 34462306a36Sopenharmony_ci minItems: 5 34562306a36Sopenharmony_ci maxItems: 5 34662306a36Sopenharmony_ci clock-names: 34762306a36Sopenharmony_ci items: 34862306a36Sopenharmony_ci - const: pipe # Pipe Clock driving internal logic 34962306a36Sopenharmony_ci - const: aux # Auxiliary (AUX) clock 35062306a36Sopenharmony_ci - const: cfg # Configuration clock 35162306a36Sopenharmony_ci - const: bus_master # Master AXI clock 35262306a36Sopenharmony_ci - const: bus_slave # Slave AXI clock 35362306a36Sopenharmony_ci resets: false 35462306a36Sopenharmony_ci reset-names: false 35562306a36Sopenharmony_ci 35662306a36Sopenharmony_ci - if: 35762306a36Sopenharmony_ci properties: 35862306a36Sopenharmony_ci compatible: 35962306a36Sopenharmony_ci contains: 36062306a36Sopenharmony_ci enum: 36162306a36Sopenharmony_ci - qcom,pcie-ipq8074 36262306a36Sopenharmony_ci then: 36362306a36Sopenharmony_ci properties: 36462306a36Sopenharmony_ci clocks: 36562306a36Sopenharmony_ci minItems: 5 36662306a36Sopenharmony_ci maxItems: 5 36762306a36Sopenharmony_ci clock-names: 36862306a36Sopenharmony_ci items: 36962306a36Sopenharmony_ci - const: iface # PCIe to SysNOC BIU clock 37062306a36Sopenharmony_ci - const: axi_m # AXI Master clock 37162306a36Sopenharmony_ci - const: axi_s # AXI Slave clock 37262306a36Sopenharmony_ci - const: ahb # AHB clock 37362306a36Sopenharmony_ci - const: aux # Auxiliary clock 37462306a36Sopenharmony_ci resets: 37562306a36Sopenharmony_ci minItems: 7 37662306a36Sopenharmony_ci maxItems: 7 37762306a36Sopenharmony_ci reset-names: 37862306a36Sopenharmony_ci items: 37962306a36Sopenharmony_ci - const: pipe # PIPE reset 38062306a36Sopenharmony_ci - const: sleep # Sleep reset 38162306a36Sopenharmony_ci - const: sticky # Core Sticky reset 38262306a36Sopenharmony_ci - const: axi_m # AXI Master reset 38362306a36Sopenharmony_ci - const: axi_s # AXI Slave reset 38462306a36Sopenharmony_ci - const: ahb # AHB Reset 38562306a36Sopenharmony_ci - const: axi_m_sticky # AXI Master Sticky reset 38662306a36Sopenharmony_ci 38762306a36Sopenharmony_ci - if: 38862306a36Sopenharmony_ci properties: 38962306a36Sopenharmony_ci compatible: 39062306a36Sopenharmony_ci contains: 39162306a36Sopenharmony_ci enum: 39262306a36Sopenharmony_ci - qcom,pcie-ipq6018 39362306a36Sopenharmony_ci - qcom,pcie-ipq8074-gen3 39462306a36Sopenharmony_ci then: 39562306a36Sopenharmony_ci properties: 39662306a36Sopenharmony_ci clocks: 39762306a36Sopenharmony_ci minItems: 5 39862306a36Sopenharmony_ci maxItems: 5 39962306a36Sopenharmony_ci clock-names: 40062306a36Sopenharmony_ci items: 40162306a36Sopenharmony_ci - const: iface # PCIe to SysNOC BIU clock 40262306a36Sopenharmony_ci - const: axi_m # AXI Master clock 40362306a36Sopenharmony_ci - const: axi_s # AXI Slave clock 40462306a36Sopenharmony_ci - const: axi_bridge # AXI bridge clock 40562306a36Sopenharmony_ci - const: rchng 40662306a36Sopenharmony_ci resets: 40762306a36Sopenharmony_ci minItems: 8 40862306a36Sopenharmony_ci maxItems: 8 40962306a36Sopenharmony_ci reset-names: 41062306a36Sopenharmony_ci items: 41162306a36Sopenharmony_ci - const: pipe # PIPE reset 41262306a36Sopenharmony_ci - const: sleep # Sleep reset 41362306a36Sopenharmony_ci - const: sticky # Core Sticky reset 41462306a36Sopenharmony_ci - const: axi_m # AXI Master reset 41562306a36Sopenharmony_ci - const: axi_s # AXI Slave reset 41662306a36Sopenharmony_ci - const: ahb # AHB Reset 41762306a36Sopenharmony_ci - const: axi_m_sticky # AXI Master Sticky reset 41862306a36Sopenharmony_ci - const: axi_s_sticky # AXI Slave Sticky reset 41962306a36Sopenharmony_ci 42062306a36Sopenharmony_ci - if: 42162306a36Sopenharmony_ci properties: 42262306a36Sopenharmony_ci compatible: 42362306a36Sopenharmony_ci contains: 42462306a36Sopenharmony_ci enum: 42562306a36Sopenharmony_ci - qcom,pcie-qcs404 42662306a36Sopenharmony_ci then: 42762306a36Sopenharmony_ci properties: 42862306a36Sopenharmony_ci clocks: 42962306a36Sopenharmony_ci minItems: 4 43062306a36Sopenharmony_ci maxItems: 4 43162306a36Sopenharmony_ci clock-names: 43262306a36Sopenharmony_ci items: 43362306a36Sopenharmony_ci - const: iface # AHB clock 43462306a36Sopenharmony_ci - const: aux # Auxiliary clock 43562306a36Sopenharmony_ci - const: master_bus # AXI Master clock 43662306a36Sopenharmony_ci - const: slave_bus # AXI Slave clock 43762306a36Sopenharmony_ci resets: 43862306a36Sopenharmony_ci minItems: 6 43962306a36Sopenharmony_ci maxItems: 6 44062306a36Sopenharmony_ci reset-names: 44162306a36Sopenharmony_ci items: 44262306a36Sopenharmony_ci - const: axi_m # AXI Master reset 44362306a36Sopenharmony_ci - const: axi_s # AXI Slave reset 44462306a36Sopenharmony_ci - const: axi_m_sticky # AXI Master Sticky reset 44562306a36Sopenharmony_ci - const: pipe_sticky # PIPE sticky reset 44662306a36Sopenharmony_ci - const: pwr # PWR reset 44762306a36Sopenharmony_ci - const: ahb # AHB reset 44862306a36Sopenharmony_ci 44962306a36Sopenharmony_ci - if: 45062306a36Sopenharmony_ci properties: 45162306a36Sopenharmony_ci compatible: 45262306a36Sopenharmony_ci contains: 45362306a36Sopenharmony_ci enum: 45462306a36Sopenharmony_ci - qcom,pcie-sc7280 45562306a36Sopenharmony_ci then: 45662306a36Sopenharmony_ci properties: 45762306a36Sopenharmony_ci clocks: 45862306a36Sopenharmony_ci minItems: 13 45962306a36Sopenharmony_ci maxItems: 13 46062306a36Sopenharmony_ci clock-names: 46162306a36Sopenharmony_ci items: 46262306a36Sopenharmony_ci - const: pipe # PIPE clock 46362306a36Sopenharmony_ci - const: pipe_mux # PIPE MUX 46462306a36Sopenharmony_ci - const: phy_pipe # PIPE output clock 46562306a36Sopenharmony_ci - const: ref # REFERENCE clock 46662306a36Sopenharmony_ci - const: aux # Auxiliary clock 46762306a36Sopenharmony_ci - const: cfg # Configuration clock 46862306a36Sopenharmony_ci - const: bus_master # Master AXI clock 46962306a36Sopenharmony_ci - const: bus_slave # Slave AXI clock 47062306a36Sopenharmony_ci - const: slave_q2a # Slave Q2A clock 47162306a36Sopenharmony_ci - const: tbu # PCIe TBU clock 47262306a36Sopenharmony_ci - const: ddrss_sf_tbu # PCIe SF TBU clock 47362306a36Sopenharmony_ci - const: aggre0 # Aggre NoC PCIe CENTER SF AXI clock 47462306a36Sopenharmony_ci - const: aggre1 # Aggre NoC PCIe1 AXI clock 47562306a36Sopenharmony_ci resets: 47662306a36Sopenharmony_ci maxItems: 1 47762306a36Sopenharmony_ci reset-names: 47862306a36Sopenharmony_ci items: 47962306a36Sopenharmony_ci - const: pci # PCIe core reset 48062306a36Sopenharmony_ci 48162306a36Sopenharmony_ci - if: 48262306a36Sopenharmony_ci properties: 48362306a36Sopenharmony_ci compatible: 48462306a36Sopenharmony_ci contains: 48562306a36Sopenharmony_ci enum: 48662306a36Sopenharmony_ci - qcom,pcie-sdm845 48762306a36Sopenharmony_ci then: 48862306a36Sopenharmony_ci oneOf: 48962306a36Sopenharmony_ci # Unfortunately the "optional" ref clock is used in the middle of the list 49062306a36Sopenharmony_ci - properties: 49162306a36Sopenharmony_ci clocks: 49262306a36Sopenharmony_ci minItems: 8 49362306a36Sopenharmony_ci maxItems: 8 49462306a36Sopenharmony_ci clock-names: 49562306a36Sopenharmony_ci items: 49662306a36Sopenharmony_ci - const: pipe # PIPE clock 49762306a36Sopenharmony_ci - const: aux # Auxiliary clock 49862306a36Sopenharmony_ci - const: cfg # Configuration clock 49962306a36Sopenharmony_ci - const: bus_master # Master AXI clock 50062306a36Sopenharmony_ci - const: bus_slave # Slave AXI clock 50162306a36Sopenharmony_ci - const: slave_q2a # Slave Q2A clock 50262306a36Sopenharmony_ci - const: ref # REFERENCE clock 50362306a36Sopenharmony_ci - const: tbu # PCIe TBU clock 50462306a36Sopenharmony_ci - properties: 50562306a36Sopenharmony_ci clocks: 50662306a36Sopenharmony_ci minItems: 7 50762306a36Sopenharmony_ci maxItems: 7 50862306a36Sopenharmony_ci clock-names: 50962306a36Sopenharmony_ci items: 51062306a36Sopenharmony_ci - const: pipe # PIPE clock 51162306a36Sopenharmony_ci - const: aux # Auxiliary clock 51262306a36Sopenharmony_ci - const: cfg # Configuration clock 51362306a36Sopenharmony_ci - const: bus_master # Master AXI clock 51462306a36Sopenharmony_ci - const: bus_slave # Slave AXI clock 51562306a36Sopenharmony_ci - const: slave_q2a # Slave Q2A clock 51662306a36Sopenharmony_ci - const: tbu # PCIe TBU clock 51762306a36Sopenharmony_ci properties: 51862306a36Sopenharmony_ci resets: 51962306a36Sopenharmony_ci maxItems: 1 52062306a36Sopenharmony_ci reset-names: 52162306a36Sopenharmony_ci items: 52262306a36Sopenharmony_ci - const: pci # PCIe core reset 52362306a36Sopenharmony_ci 52462306a36Sopenharmony_ci - if: 52562306a36Sopenharmony_ci properties: 52662306a36Sopenharmony_ci compatible: 52762306a36Sopenharmony_ci contains: 52862306a36Sopenharmony_ci enum: 52962306a36Sopenharmony_ci - qcom,pcie-sc8180x 53062306a36Sopenharmony_ci - qcom,pcie-sm8150 53162306a36Sopenharmony_ci - qcom,pcie-sm8250 53262306a36Sopenharmony_ci then: 53362306a36Sopenharmony_ci oneOf: 53462306a36Sopenharmony_ci # Unfortunately the "optional" ref clock is used in the middle of the list 53562306a36Sopenharmony_ci - properties: 53662306a36Sopenharmony_ci clocks: 53762306a36Sopenharmony_ci minItems: 9 53862306a36Sopenharmony_ci maxItems: 9 53962306a36Sopenharmony_ci clock-names: 54062306a36Sopenharmony_ci items: 54162306a36Sopenharmony_ci - const: pipe # PIPE clock 54262306a36Sopenharmony_ci - const: aux # Auxiliary clock 54362306a36Sopenharmony_ci - const: cfg # Configuration clock 54462306a36Sopenharmony_ci - const: bus_master # Master AXI clock 54562306a36Sopenharmony_ci - const: bus_slave # Slave AXI clock 54662306a36Sopenharmony_ci - const: slave_q2a # Slave Q2A clock 54762306a36Sopenharmony_ci - const: ref # REFERENCE clock 54862306a36Sopenharmony_ci - const: tbu # PCIe TBU clock 54962306a36Sopenharmony_ci - const: ddrss_sf_tbu # PCIe SF TBU clock 55062306a36Sopenharmony_ci - properties: 55162306a36Sopenharmony_ci clocks: 55262306a36Sopenharmony_ci minItems: 8 55362306a36Sopenharmony_ci maxItems: 8 55462306a36Sopenharmony_ci clock-names: 55562306a36Sopenharmony_ci items: 55662306a36Sopenharmony_ci - const: pipe # PIPE clock 55762306a36Sopenharmony_ci - const: aux # Auxiliary clock 55862306a36Sopenharmony_ci - const: cfg # Configuration clock 55962306a36Sopenharmony_ci - const: bus_master # Master AXI clock 56062306a36Sopenharmony_ci - const: bus_slave # Slave AXI clock 56162306a36Sopenharmony_ci - const: slave_q2a # Slave Q2A clock 56262306a36Sopenharmony_ci - const: tbu # PCIe TBU clock 56362306a36Sopenharmony_ci - const: ddrss_sf_tbu # PCIe SF TBU clock 56462306a36Sopenharmony_ci properties: 56562306a36Sopenharmony_ci resets: 56662306a36Sopenharmony_ci maxItems: 1 56762306a36Sopenharmony_ci reset-names: 56862306a36Sopenharmony_ci items: 56962306a36Sopenharmony_ci - const: pci # PCIe core reset 57062306a36Sopenharmony_ci 57162306a36Sopenharmony_ci - if: 57262306a36Sopenharmony_ci properties: 57362306a36Sopenharmony_ci compatible: 57462306a36Sopenharmony_ci contains: 57562306a36Sopenharmony_ci enum: 57662306a36Sopenharmony_ci - qcom,pcie-sm8350 57762306a36Sopenharmony_ci then: 57862306a36Sopenharmony_ci properties: 57962306a36Sopenharmony_ci clocks: 58062306a36Sopenharmony_ci minItems: 8 58162306a36Sopenharmony_ci maxItems: 9 58262306a36Sopenharmony_ci clock-names: 58362306a36Sopenharmony_ci minItems: 8 58462306a36Sopenharmony_ci items: 58562306a36Sopenharmony_ci - const: aux # Auxiliary clock 58662306a36Sopenharmony_ci - const: cfg # Configuration clock 58762306a36Sopenharmony_ci - const: bus_master # Master AXI clock 58862306a36Sopenharmony_ci - const: bus_slave # Slave AXI clock 58962306a36Sopenharmony_ci - const: slave_q2a # Slave Q2A clock 59062306a36Sopenharmony_ci - const: tbu # PCIe TBU clock 59162306a36Sopenharmony_ci - const: ddrss_sf_tbu # PCIe SF TBU clock 59262306a36Sopenharmony_ci - const: aggre1 # Aggre NoC PCIe1 AXI clock 59362306a36Sopenharmony_ci - const: aggre0 # Aggre NoC PCIe0 AXI clock 59462306a36Sopenharmony_ci resets: 59562306a36Sopenharmony_ci maxItems: 1 59662306a36Sopenharmony_ci reset-names: 59762306a36Sopenharmony_ci items: 59862306a36Sopenharmony_ci - const: pci # PCIe core reset 59962306a36Sopenharmony_ci 60062306a36Sopenharmony_ci - if: 60162306a36Sopenharmony_ci properties: 60262306a36Sopenharmony_ci compatible: 60362306a36Sopenharmony_ci contains: 60462306a36Sopenharmony_ci enum: 60562306a36Sopenharmony_ci - qcom,pcie-sm8450-pcie0 60662306a36Sopenharmony_ci then: 60762306a36Sopenharmony_ci properties: 60862306a36Sopenharmony_ci clocks: 60962306a36Sopenharmony_ci minItems: 12 61062306a36Sopenharmony_ci maxItems: 12 61162306a36Sopenharmony_ci clock-names: 61262306a36Sopenharmony_ci items: 61362306a36Sopenharmony_ci - const: pipe # PIPE clock 61462306a36Sopenharmony_ci - const: pipe_mux # PIPE MUX 61562306a36Sopenharmony_ci - const: phy_pipe # PIPE output clock 61662306a36Sopenharmony_ci - const: ref # REFERENCE clock 61762306a36Sopenharmony_ci - const: aux # Auxiliary clock 61862306a36Sopenharmony_ci - const: cfg # Configuration clock 61962306a36Sopenharmony_ci - const: bus_master # Master AXI clock 62062306a36Sopenharmony_ci - const: bus_slave # Slave AXI clock 62162306a36Sopenharmony_ci - const: slave_q2a # Slave Q2A clock 62262306a36Sopenharmony_ci - const: ddrss_sf_tbu # PCIe SF TBU clock 62362306a36Sopenharmony_ci - const: aggre0 # Aggre NoC PCIe0 AXI clock 62462306a36Sopenharmony_ci - const: aggre1 # Aggre NoC PCIe1 AXI clock 62562306a36Sopenharmony_ci resets: 62662306a36Sopenharmony_ci maxItems: 1 62762306a36Sopenharmony_ci reset-names: 62862306a36Sopenharmony_ci items: 62962306a36Sopenharmony_ci - const: pci # PCIe core reset 63062306a36Sopenharmony_ci 63162306a36Sopenharmony_ci - if: 63262306a36Sopenharmony_ci properties: 63362306a36Sopenharmony_ci compatible: 63462306a36Sopenharmony_ci contains: 63562306a36Sopenharmony_ci enum: 63662306a36Sopenharmony_ci - qcom,pcie-sm8450-pcie1 63762306a36Sopenharmony_ci then: 63862306a36Sopenharmony_ci properties: 63962306a36Sopenharmony_ci clocks: 64062306a36Sopenharmony_ci minItems: 11 64162306a36Sopenharmony_ci maxItems: 11 64262306a36Sopenharmony_ci clock-names: 64362306a36Sopenharmony_ci items: 64462306a36Sopenharmony_ci - const: pipe # PIPE clock 64562306a36Sopenharmony_ci - const: pipe_mux # PIPE MUX 64662306a36Sopenharmony_ci - const: phy_pipe # PIPE output clock 64762306a36Sopenharmony_ci - const: ref # REFERENCE clock 64862306a36Sopenharmony_ci - const: aux # Auxiliary clock 64962306a36Sopenharmony_ci - const: cfg # Configuration clock 65062306a36Sopenharmony_ci - const: bus_master # Master AXI clock 65162306a36Sopenharmony_ci - const: bus_slave # Slave AXI clock 65262306a36Sopenharmony_ci - const: slave_q2a # Slave Q2A clock 65362306a36Sopenharmony_ci - const: ddrss_sf_tbu # PCIe SF TBU clock 65462306a36Sopenharmony_ci - const: aggre1 # Aggre NoC PCIe1 AXI clock 65562306a36Sopenharmony_ci resets: 65662306a36Sopenharmony_ci maxItems: 1 65762306a36Sopenharmony_ci reset-names: 65862306a36Sopenharmony_ci items: 65962306a36Sopenharmony_ci - const: pci # PCIe core reset 66062306a36Sopenharmony_ci 66162306a36Sopenharmony_ci - if: 66262306a36Sopenharmony_ci properties: 66362306a36Sopenharmony_ci compatible: 66462306a36Sopenharmony_ci contains: 66562306a36Sopenharmony_ci enum: 66662306a36Sopenharmony_ci - qcom,pcie-sm8550 66762306a36Sopenharmony_ci then: 66862306a36Sopenharmony_ci properties: 66962306a36Sopenharmony_ci clocks: 67062306a36Sopenharmony_ci minItems: 7 67162306a36Sopenharmony_ci maxItems: 8 67262306a36Sopenharmony_ci clock-names: 67362306a36Sopenharmony_ci minItems: 7 67462306a36Sopenharmony_ci items: 67562306a36Sopenharmony_ci - const: aux # Auxiliary clock 67662306a36Sopenharmony_ci - const: cfg # Configuration clock 67762306a36Sopenharmony_ci - const: bus_master # Master AXI clock 67862306a36Sopenharmony_ci - const: bus_slave # Slave AXI clock 67962306a36Sopenharmony_ci - const: slave_q2a # Slave Q2A clock 68062306a36Sopenharmony_ci - const: ddrss_sf_tbu # PCIe SF TBU clock 68162306a36Sopenharmony_ci - const: noc_aggr # Aggre NoC PCIe AXI clock 68262306a36Sopenharmony_ci - const: cnoc_sf_axi # Config NoC PCIe1 AXI clock 68362306a36Sopenharmony_ci resets: 68462306a36Sopenharmony_ci minItems: 1 68562306a36Sopenharmony_ci maxItems: 2 68662306a36Sopenharmony_ci reset-names: 68762306a36Sopenharmony_ci minItems: 1 68862306a36Sopenharmony_ci items: 68962306a36Sopenharmony_ci - const: pci # PCIe core reset 69062306a36Sopenharmony_ci - const: link_down # PCIe link down reset 69162306a36Sopenharmony_ci 69262306a36Sopenharmony_ci - if: 69362306a36Sopenharmony_ci properties: 69462306a36Sopenharmony_ci compatible: 69562306a36Sopenharmony_ci contains: 69662306a36Sopenharmony_ci enum: 69762306a36Sopenharmony_ci - qcom,pcie-sa8540p 69862306a36Sopenharmony_ci - qcom,pcie-sc8280xp 69962306a36Sopenharmony_ci then: 70062306a36Sopenharmony_ci properties: 70162306a36Sopenharmony_ci clocks: 70262306a36Sopenharmony_ci minItems: 8 70362306a36Sopenharmony_ci maxItems: 9 70462306a36Sopenharmony_ci clock-names: 70562306a36Sopenharmony_ci minItems: 8 70662306a36Sopenharmony_ci items: 70762306a36Sopenharmony_ci - const: aux # Auxiliary clock 70862306a36Sopenharmony_ci - const: cfg # Configuration clock 70962306a36Sopenharmony_ci - const: bus_master # Master AXI clock 71062306a36Sopenharmony_ci - const: bus_slave # Slave AXI clock 71162306a36Sopenharmony_ci - const: slave_q2a # Slave Q2A clock 71262306a36Sopenharmony_ci - const: ddrss_sf_tbu # PCIe SF TBU clock 71362306a36Sopenharmony_ci - const: noc_aggr_4 # NoC aggregate 4 clock 71462306a36Sopenharmony_ci - const: noc_aggr_south_sf # NoC aggregate South SF clock 71562306a36Sopenharmony_ci - const: cnoc_qx # Configuration NoC QX clock 71662306a36Sopenharmony_ci resets: 71762306a36Sopenharmony_ci maxItems: 1 71862306a36Sopenharmony_ci reset-names: 71962306a36Sopenharmony_ci items: 72062306a36Sopenharmony_ci - const: pci # PCIe core reset 72162306a36Sopenharmony_ci 72262306a36Sopenharmony_ci - if: 72362306a36Sopenharmony_ci properties: 72462306a36Sopenharmony_ci compatible: 72562306a36Sopenharmony_ci contains: 72662306a36Sopenharmony_ci enum: 72762306a36Sopenharmony_ci - qcom,pcie-sdx55 72862306a36Sopenharmony_ci then: 72962306a36Sopenharmony_ci properties: 73062306a36Sopenharmony_ci clocks: 73162306a36Sopenharmony_ci minItems: 7 73262306a36Sopenharmony_ci maxItems: 7 73362306a36Sopenharmony_ci clock-names: 73462306a36Sopenharmony_ci items: 73562306a36Sopenharmony_ci - const: pipe # PIPE clock 73662306a36Sopenharmony_ci - const: aux # Auxiliary clock 73762306a36Sopenharmony_ci - const: cfg # Configuration clock 73862306a36Sopenharmony_ci - const: bus_master # Master AXI clock 73962306a36Sopenharmony_ci - const: bus_slave # Slave AXI clock 74062306a36Sopenharmony_ci - const: slave_q2a # Slave Q2A clock 74162306a36Sopenharmony_ci - const: sleep # PCIe Sleep clock 74262306a36Sopenharmony_ci resets: 74362306a36Sopenharmony_ci maxItems: 1 74462306a36Sopenharmony_ci reset-names: 74562306a36Sopenharmony_ci items: 74662306a36Sopenharmony_ci - const: pci # PCIe core reset 74762306a36Sopenharmony_ci 74862306a36Sopenharmony_ci - if: 74962306a36Sopenharmony_ci properties: 75062306a36Sopenharmony_ci compatible: 75162306a36Sopenharmony_ci contains: 75262306a36Sopenharmony_ci enum: 75362306a36Sopenharmony_ci - qcom,pcie-sa8775p 75462306a36Sopenharmony_ci then: 75562306a36Sopenharmony_ci properties: 75662306a36Sopenharmony_ci clocks: 75762306a36Sopenharmony_ci minItems: 5 75862306a36Sopenharmony_ci maxItems: 5 75962306a36Sopenharmony_ci clock-names: 76062306a36Sopenharmony_ci items: 76162306a36Sopenharmony_ci - const: aux # Auxiliary clock 76262306a36Sopenharmony_ci - const: cfg # Configuration clock 76362306a36Sopenharmony_ci - const: bus_master # Master AXI clock 76462306a36Sopenharmony_ci - const: bus_slave # Slave AXI clock 76562306a36Sopenharmony_ci - const: slave_q2a # Slave Q2A clock 76662306a36Sopenharmony_ci resets: 76762306a36Sopenharmony_ci maxItems: 1 76862306a36Sopenharmony_ci reset-names: 76962306a36Sopenharmony_ci items: 77062306a36Sopenharmony_ci - const: pci # PCIe core reset 77162306a36Sopenharmony_ci 77262306a36Sopenharmony_ci - if: 77362306a36Sopenharmony_ci properties: 77462306a36Sopenharmony_ci compatible: 77562306a36Sopenharmony_ci contains: 77662306a36Sopenharmony_ci enum: 77762306a36Sopenharmony_ci - qcom,pcie-sa8540p 77862306a36Sopenharmony_ci - qcom,pcie-sa8775p 77962306a36Sopenharmony_ci - qcom,pcie-sc8280xp 78062306a36Sopenharmony_ci then: 78162306a36Sopenharmony_ci required: 78262306a36Sopenharmony_ci - interconnects 78362306a36Sopenharmony_ci - interconnect-names 78462306a36Sopenharmony_ci 78562306a36Sopenharmony_ci - if: 78662306a36Sopenharmony_ci not: 78762306a36Sopenharmony_ci properties: 78862306a36Sopenharmony_ci compatible: 78962306a36Sopenharmony_ci contains: 79062306a36Sopenharmony_ci enum: 79162306a36Sopenharmony_ci - qcom,pcie-apq8064 79262306a36Sopenharmony_ci - qcom,pcie-ipq4019 79362306a36Sopenharmony_ci - qcom,pcie-ipq8064 79462306a36Sopenharmony_ci - qcom,pcie-ipq8064v2 79562306a36Sopenharmony_ci - qcom,pcie-ipq8074 79662306a36Sopenharmony_ci - qcom,pcie-ipq8074-gen3 79762306a36Sopenharmony_ci - qcom,pcie-qcs404 79862306a36Sopenharmony_ci then: 79962306a36Sopenharmony_ci required: 80062306a36Sopenharmony_ci - power-domains 80162306a36Sopenharmony_ci 80262306a36Sopenharmony_ci - if: 80362306a36Sopenharmony_ci not: 80462306a36Sopenharmony_ci properties: 80562306a36Sopenharmony_ci compatible: 80662306a36Sopenharmony_ci contains: 80762306a36Sopenharmony_ci enum: 80862306a36Sopenharmony_ci - qcom,pcie-msm8996 80962306a36Sopenharmony_ci then: 81062306a36Sopenharmony_ci required: 81162306a36Sopenharmony_ci - resets 81262306a36Sopenharmony_ci - reset-names 81362306a36Sopenharmony_ci 81462306a36Sopenharmony_ci - if: 81562306a36Sopenharmony_ci properties: 81662306a36Sopenharmony_ci compatible: 81762306a36Sopenharmony_ci contains: 81862306a36Sopenharmony_ci enum: 81962306a36Sopenharmony_ci - qcom,pcie-msm8996 82062306a36Sopenharmony_ci - qcom,pcie-sa8775p 82162306a36Sopenharmony_ci - qcom,pcie-sc7280 82262306a36Sopenharmony_ci - qcom,pcie-sc8180x 82362306a36Sopenharmony_ci - qcom,pcie-sdm845 82462306a36Sopenharmony_ci - qcom,pcie-sm8150 82562306a36Sopenharmony_ci - qcom,pcie-sm8250 82662306a36Sopenharmony_ci - qcom,pcie-sm8350 82762306a36Sopenharmony_ci - qcom,pcie-sm8450-pcie0 82862306a36Sopenharmony_ci - qcom,pcie-sm8450-pcie1 82962306a36Sopenharmony_ci - qcom,pcie-sm8550 83062306a36Sopenharmony_ci then: 83162306a36Sopenharmony_ci oneOf: 83262306a36Sopenharmony_ci - properties: 83362306a36Sopenharmony_ci interrupts: 83462306a36Sopenharmony_ci maxItems: 1 83562306a36Sopenharmony_ci interrupt-names: 83662306a36Sopenharmony_ci items: 83762306a36Sopenharmony_ci - const: msi 83862306a36Sopenharmony_ci - properties: 83962306a36Sopenharmony_ci interrupts: 84062306a36Sopenharmony_ci minItems: 8 84162306a36Sopenharmony_ci interrupt-names: 84262306a36Sopenharmony_ci items: 84362306a36Sopenharmony_ci - const: msi0 84462306a36Sopenharmony_ci - const: msi1 84562306a36Sopenharmony_ci - const: msi2 84662306a36Sopenharmony_ci - const: msi3 84762306a36Sopenharmony_ci - const: msi4 84862306a36Sopenharmony_ci - const: msi5 84962306a36Sopenharmony_ci - const: msi6 85062306a36Sopenharmony_ci - const: msi7 85162306a36Sopenharmony_ci 85262306a36Sopenharmony_ci - if: 85362306a36Sopenharmony_ci properties: 85462306a36Sopenharmony_ci compatible: 85562306a36Sopenharmony_ci contains: 85662306a36Sopenharmony_ci enum: 85762306a36Sopenharmony_ci - qcom,pcie-sc8280xp 85862306a36Sopenharmony_ci then: 85962306a36Sopenharmony_ci properties: 86062306a36Sopenharmony_ci interrupts: 86162306a36Sopenharmony_ci minItems: 4 86262306a36Sopenharmony_ci maxItems: 4 86362306a36Sopenharmony_ci interrupt-names: 86462306a36Sopenharmony_ci items: 86562306a36Sopenharmony_ci - const: msi0 86662306a36Sopenharmony_ci - const: msi1 86762306a36Sopenharmony_ci - const: msi2 86862306a36Sopenharmony_ci - const: msi3 86962306a36Sopenharmony_ci 87062306a36Sopenharmony_ci - if: 87162306a36Sopenharmony_ci properties: 87262306a36Sopenharmony_ci compatible: 87362306a36Sopenharmony_ci contains: 87462306a36Sopenharmony_ci enum: 87562306a36Sopenharmony_ci - qcom,pcie-apq8064 87662306a36Sopenharmony_ci - qcom,pcie-apq8084 87762306a36Sopenharmony_ci - qcom,pcie-ipq4019 87862306a36Sopenharmony_ci - qcom,pcie-ipq6018 87962306a36Sopenharmony_ci - qcom,pcie-ipq8064 88062306a36Sopenharmony_ci - qcom,pcie-ipq8064-v2 88162306a36Sopenharmony_ci - qcom,pcie-ipq8074 88262306a36Sopenharmony_ci - qcom,pcie-ipq8074-gen3 88362306a36Sopenharmony_ci - qcom,pcie-qcs404 88462306a36Sopenharmony_ci - qcom,pcie-sa8540p 88562306a36Sopenharmony_ci then: 88662306a36Sopenharmony_ci properties: 88762306a36Sopenharmony_ci interrupts: 88862306a36Sopenharmony_ci maxItems: 1 88962306a36Sopenharmony_ci interrupt-names: 89062306a36Sopenharmony_ci items: 89162306a36Sopenharmony_ci - const: msi 89262306a36Sopenharmony_ci 89362306a36Sopenharmony_ciunevaluatedProperties: false 89462306a36Sopenharmony_ci 89562306a36Sopenharmony_ciexamples: 89662306a36Sopenharmony_ci - | 89762306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 89862306a36Sopenharmony_ci pcie@1b500000 { 89962306a36Sopenharmony_ci compatible = "qcom,pcie-ipq8064"; 90062306a36Sopenharmony_ci reg = <0x1b500000 0x1000>, 90162306a36Sopenharmony_ci <0x1b502000 0x80>, 90262306a36Sopenharmony_ci <0x1b600000 0x100>, 90362306a36Sopenharmony_ci <0x0ff00000 0x100000>; 90462306a36Sopenharmony_ci reg-names = "dbi", "elbi", "parf", "config"; 90562306a36Sopenharmony_ci device_type = "pci"; 90662306a36Sopenharmony_ci linux,pci-domain = <0>; 90762306a36Sopenharmony_ci bus-range = <0x00 0xff>; 90862306a36Sopenharmony_ci num-lanes = <1>; 90962306a36Sopenharmony_ci #address-cells = <3>; 91062306a36Sopenharmony_ci #size-cells = <2>; 91162306a36Sopenharmony_ci ranges = <0x81000000 0 0 0x0fe00000 0 0x00100000>, 91262306a36Sopenharmony_ci <0x82000000 0 0 0x08000000 0 0x07e00000>; 91362306a36Sopenharmony_ci interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 91462306a36Sopenharmony_ci interrupt-names = "msi"; 91562306a36Sopenharmony_ci #interrupt-cells = <1>; 91662306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 0x7>; 91762306a36Sopenharmony_ci interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, 91862306a36Sopenharmony_ci <0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, 91962306a36Sopenharmony_ci <0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, 92062306a36Sopenharmony_ci <0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; 92162306a36Sopenharmony_ci clocks = <&gcc 41>, 92262306a36Sopenharmony_ci <&gcc 43>, 92362306a36Sopenharmony_ci <&gcc 44>, 92462306a36Sopenharmony_ci <&gcc 42>, 92562306a36Sopenharmony_ci <&gcc 248>; 92662306a36Sopenharmony_ci clock-names = "core", "iface", "phy", "aux", "ref"; 92762306a36Sopenharmony_ci resets = <&gcc 27>, 92862306a36Sopenharmony_ci <&gcc 26>, 92962306a36Sopenharmony_ci <&gcc 25>, 93062306a36Sopenharmony_ci <&gcc 24>, 93162306a36Sopenharmony_ci <&gcc 23>, 93262306a36Sopenharmony_ci <&gcc 22>; 93362306a36Sopenharmony_ci reset-names = "axi", "ahb", "por", "pci", "phy", "ext"; 93462306a36Sopenharmony_ci pinctrl-0 = <&pcie_pins_default>; 93562306a36Sopenharmony_ci pinctrl-names = "default"; 93662306a36Sopenharmony_ci vdda-supply = <&pm8921_s3>; 93762306a36Sopenharmony_ci vdda_phy-supply = <&pm8921_lvs6>; 93862306a36Sopenharmony_ci vdda_refclk-supply = <&ext_3p3v>; 93962306a36Sopenharmony_ci }; 94062306a36Sopenharmony_ci - | 94162306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 94262306a36Sopenharmony_ci #include <dt-bindings/gpio/gpio.h> 94362306a36Sopenharmony_ci pcie@fc520000 { 94462306a36Sopenharmony_ci compatible = "qcom,pcie-apq8084"; 94562306a36Sopenharmony_ci reg = <0xfc520000 0x2000>, 94662306a36Sopenharmony_ci <0xff000000 0x1000>, 94762306a36Sopenharmony_ci <0xff001000 0x1000>, 94862306a36Sopenharmony_ci <0xff002000 0x2000>; 94962306a36Sopenharmony_ci reg-names = "parf", "dbi", "elbi", "config"; 95062306a36Sopenharmony_ci device_type = "pci"; 95162306a36Sopenharmony_ci linux,pci-domain = <0>; 95262306a36Sopenharmony_ci bus-range = <0x00 0xff>; 95362306a36Sopenharmony_ci num-lanes = <1>; 95462306a36Sopenharmony_ci #address-cells = <3>; 95562306a36Sopenharmony_ci #size-cells = <2>; 95662306a36Sopenharmony_ci ranges = <0x81000000 0 0 0xff200000 0 0x00100000>, 95762306a36Sopenharmony_ci <0x82000000 0 0x00300000 0xff300000 0 0x00d00000>; 95862306a36Sopenharmony_ci interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>; 95962306a36Sopenharmony_ci interrupt-names = "msi"; 96062306a36Sopenharmony_ci #interrupt-cells = <1>; 96162306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 0x7>; 96262306a36Sopenharmony_ci interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>, 96362306a36Sopenharmony_ci <0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>, 96462306a36Sopenharmony_ci <0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>, 96562306a36Sopenharmony_ci <0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>; 96662306a36Sopenharmony_ci clocks = <&gcc 324>, 96762306a36Sopenharmony_ci <&gcc 325>, 96862306a36Sopenharmony_ci <&gcc 327>, 96962306a36Sopenharmony_ci <&gcc 323>; 97062306a36Sopenharmony_ci clock-names = "iface", "master_bus", "slave_bus", "aux"; 97162306a36Sopenharmony_ci resets = <&gcc 81>; 97262306a36Sopenharmony_ci reset-names = "core"; 97362306a36Sopenharmony_ci power-domains = <&gcc 1>; 97462306a36Sopenharmony_ci vdda-supply = <&pma8084_l3>; 97562306a36Sopenharmony_ci phys = <&pciephy0>; 97662306a36Sopenharmony_ci phy-names = "pciephy"; 97762306a36Sopenharmony_ci perst-gpios = <&tlmm 70 GPIO_ACTIVE_LOW>; 97862306a36Sopenharmony_ci pinctrl-0 = <&pcie0_pins_default>; 97962306a36Sopenharmony_ci pinctrl-names = "default"; 98062306a36Sopenharmony_ci }; 98162306a36Sopenharmony_ci... 982