1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2d5b0e70fSEmmanuel Vadot%YAML 1.2 3d5b0e70fSEmmanuel Vadot--- 4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/pci/qcom,pcie.yaml# 5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6d5b0e70fSEmmanuel Vadot 7d5b0e70fSEmmanuel Vadottitle: Qualcomm PCI express root complex 8d5b0e70fSEmmanuel Vadot 9d5b0e70fSEmmanuel Vadotmaintainers: 10d5b0e70fSEmmanuel Vadot - Bjorn Andersson <bjorn.andersson@linaro.org> 11d5b0e70fSEmmanuel Vadot - Stanimir Varbanov <svarbanov@mm-sol.com> 12d5b0e70fSEmmanuel Vadot 13d5b0e70fSEmmanuel Vadotdescription: | 14b97ee269SEmmanuel Vadot Qualcomm PCIe root complex controller is based on the Synopsys DesignWare 15d5b0e70fSEmmanuel Vadot PCIe IP. 16d5b0e70fSEmmanuel Vadot 17d5b0e70fSEmmanuel Vadotproperties: 18d5b0e70fSEmmanuel Vadot compatible: 19d5b0e70fSEmmanuel Vadot enum: 20d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq8064 21d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq8064-v2 22d5b0e70fSEmmanuel Vadot - qcom,pcie-apq8064 23d5b0e70fSEmmanuel Vadot - qcom,pcie-apq8084 24d5b0e70fSEmmanuel Vadot - qcom,pcie-msm8996 25d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq4019 26d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq8074 27d5b0e70fSEmmanuel Vadot - qcom,pcie-qcs404 28*7ef62cebSEmmanuel Vadot - qcom,pcie-sa8540p 29d5b0e70fSEmmanuel Vadot - qcom,pcie-sc7280 30d5b0e70fSEmmanuel Vadot - qcom,pcie-sc8180x 31*7ef62cebSEmmanuel Vadot - qcom,pcie-sc8280xp 32d5b0e70fSEmmanuel Vadot - qcom,pcie-sdm845 33d5b0e70fSEmmanuel Vadot - qcom,pcie-sm8150 34d5b0e70fSEmmanuel Vadot - qcom,pcie-sm8250 35d5b0e70fSEmmanuel Vadot - qcom,pcie-sm8450-pcie0 36d5b0e70fSEmmanuel Vadot - qcom,pcie-sm8450-pcie1 37d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq6018 38d5b0e70fSEmmanuel Vadot 39d5b0e70fSEmmanuel Vadot reg: 40d5b0e70fSEmmanuel Vadot minItems: 4 41d5b0e70fSEmmanuel Vadot maxItems: 5 42d5b0e70fSEmmanuel Vadot 43d5b0e70fSEmmanuel Vadot reg-names: 44d5b0e70fSEmmanuel Vadot minItems: 4 45d5b0e70fSEmmanuel Vadot maxItems: 5 46d5b0e70fSEmmanuel Vadot 47d5b0e70fSEmmanuel Vadot interrupts: 48b97ee269SEmmanuel Vadot minItems: 1 49b97ee269SEmmanuel Vadot maxItems: 8 50d5b0e70fSEmmanuel Vadot 51d5b0e70fSEmmanuel Vadot interrupt-names: 52b97ee269SEmmanuel Vadot minItems: 1 53b97ee269SEmmanuel Vadot maxItems: 8 54d5b0e70fSEmmanuel Vadot 55d5b0e70fSEmmanuel Vadot # Common definitions for clocks, clock-names and reset. 56d5b0e70fSEmmanuel Vadot # Platform constraints are described later. 57d5b0e70fSEmmanuel Vadot clocks: 58d5b0e70fSEmmanuel Vadot minItems: 3 59*7ef62cebSEmmanuel Vadot maxItems: 13 60d5b0e70fSEmmanuel Vadot 61d5b0e70fSEmmanuel Vadot clock-names: 62d5b0e70fSEmmanuel Vadot minItems: 3 63*7ef62cebSEmmanuel Vadot maxItems: 13 64d5b0e70fSEmmanuel Vadot 65d5b0e70fSEmmanuel Vadot resets: 66d5b0e70fSEmmanuel Vadot minItems: 1 67d5b0e70fSEmmanuel Vadot maxItems: 12 68d5b0e70fSEmmanuel Vadot 69d5b0e70fSEmmanuel Vadot resets-names: 70d5b0e70fSEmmanuel Vadot minItems: 1 71d5b0e70fSEmmanuel Vadot maxItems: 12 72d5b0e70fSEmmanuel Vadot 73d5b0e70fSEmmanuel Vadot vdda-supply: 74d5b0e70fSEmmanuel Vadot description: A phandle to the core analog power supply 75d5b0e70fSEmmanuel Vadot 76d5b0e70fSEmmanuel Vadot vdda_phy-supply: 77d5b0e70fSEmmanuel Vadot description: A phandle to the core analog power supply for PHY 78d5b0e70fSEmmanuel Vadot 79d5b0e70fSEmmanuel Vadot vdda_refclk-supply: 80d5b0e70fSEmmanuel Vadot description: A phandle to the core analog power supply for IC which generates reference clock 81d5b0e70fSEmmanuel Vadot 82d5b0e70fSEmmanuel Vadot vddpe-3v3-supply: 83d5b0e70fSEmmanuel Vadot description: A phandle to the PCIe endpoint power supply 84d5b0e70fSEmmanuel Vadot 85d5b0e70fSEmmanuel Vadot phys: 86d5b0e70fSEmmanuel Vadot maxItems: 1 87d5b0e70fSEmmanuel Vadot 88d5b0e70fSEmmanuel Vadot phy-names: 89d5b0e70fSEmmanuel Vadot items: 90d5b0e70fSEmmanuel Vadot - const: pciephy 91d5b0e70fSEmmanuel Vadot 92d5b0e70fSEmmanuel Vadot power-domains: 93d5b0e70fSEmmanuel Vadot maxItems: 1 94d5b0e70fSEmmanuel Vadot 95d5b0e70fSEmmanuel Vadot perst-gpios: 96d5b0e70fSEmmanuel Vadot description: GPIO controlled connection to PERST# signal 97d5b0e70fSEmmanuel Vadot maxItems: 1 98d5b0e70fSEmmanuel Vadot 99d5b0e70fSEmmanuel Vadot wake-gpios: 100d5b0e70fSEmmanuel Vadot description: GPIO controlled connection to WAKE# signal 101d5b0e70fSEmmanuel Vadot maxItems: 1 102d5b0e70fSEmmanuel Vadot 103d5b0e70fSEmmanuel Vadotrequired: 104d5b0e70fSEmmanuel Vadot - compatible 105d5b0e70fSEmmanuel Vadot - reg 106d5b0e70fSEmmanuel Vadot - reg-names 107d5b0e70fSEmmanuel Vadot - interrupts 108d5b0e70fSEmmanuel Vadot - interrupt-names 109d5b0e70fSEmmanuel Vadot - "#interrupt-cells" 110d5b0e70fSEmmanuel Vadot - interrupt-map-mask 111d5b0e70fSEmmanuel Vadot - interrupt-map 112d5b0e70fSEmmanuel Vadot - clocks 113d5b0e70fSEmmanuel Vadot - clock-names 114d5b0e70fSEmmanuel Vadot 115d5b0e70fSEmmanuel VadotallOf: 116d5b0e70fSEmmanuel Vadot - $ref: /schemas/pci/pci-bus.yaml# 117d5b0e70fSEmmanuel Vadot - if: 118d5b0e70fSEmmanuel Vadot properties: 119d5b0e70fSEmmanuel Vadot compatible: 120d5b0e70fSEmmanuel Vadot contains: 121d5b0e70fSEmmanuel Vadot enum: 122d5b0e70fSEmmanuel Vadot - qcom,pcie-apq8064 123d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq4019 124d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq8064 125d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq8064v2 126d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq8074 127d5b0e70fSEmmanuel Vadot - qcom,pcie-qcs404 128d5b0e70fSEmmanuel Vadot then: 129d5b0e70fSEmmanuel Vadot properties: 130d5b0e70fSEmmanuel Vadot reg: 131d5b0e70fSEmmanuel Vadot minItems: 4 132d5b0e70fSEmmanuel Vadot maxItems: 4 133d5b0e70fSEmmanuel Vadot reg-names: 134d5b0e70fSEmmanuel Vadot items: 135d5b0e70fSEmmanuel Vadot - const: dbi # DesignWare PCIe registers 136d5b0e70fSEmmanuel Vadot - const: elbi # External local bus interface registers 137d5b0e70fSEmmanuel Vadot - const: parf # Qualcomm specific registers 138d5b0e70fSEmmanuel Vadot - const: config # PCIe configuration space 139d5b0e70fSEmmanuel Vadot 140d5b0e70fSEmmanuel Vadot - if: 141d5b0e70fSEmmanuel Vadot properties: 142d5b0e70fSEmmanuel Vadot compatible: 143d5b0e70fSEmmanuel Vadot contains: 144d5b0e70fSEmmanuel Vadot enum: 145d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq6018 146d5b0e70fSEmmanuel Vadot then: 147d5b0e70fSEmmanuel Vadot properties: 148d5b0e70fSEmmanuel Vadot reg: 149d5b0e70fSEmmanuel Vadot minItems: 5 150d5b0e70fSEmmanuel Vadot maxItems: 5 151d5b0e70fSEmmanuel Vadot reg-names: 152d5b0e70fSEmmanuel Vadot items: 153d5b0e70fSEmmanuel Vadot - const: dbi # DesignWare PCIe registers 154d5b0e70fSEmmanuel Vadot - const: elbi # External local bus interface registers 155d5b0e70fSEmmanuel Vadot - const: atu # ATU address space 156d5b0e70fSEmmanuel Vadot - const: parf # Qualcomm specific registers 157d5b0e70fSEmmanuel Vadot - const: config # PCIe configuration space 158d5b0e70fSEmmanuel Vadot 159d5b0e70fSEmmanuel Vadot - if: 160d5b0e70fSEmmanuel Vadot properties: 161d5b0e70fSEmmanuel Vadot compatible: 162d5b0e70fSEmmanuel Vadot contains: 163d5b0e70fSEmmanuel Vadot enum: 164d5b0e70fSEmmanuel Vadot - qcom,pcie-apq8084 165d5b0e70fSEmmanuel Vadot - qcom,pcie-msm8996 166d5b0e70fSEmmanuel Vadot - qcom,pcie-sdm845 167d5b0e70fSEmmanuel Vadot then: 168d5b0e70fSEmmanuel Vadot properties: 169d5b0e70fSEmmanuel Vadot reg: 170d5b0e70fSEmmanuel Vadot minItems: 4 171d5b0e70fSEmmanuel Vadot maxItems: 4 172d5b0e70fSEmmanuel Vadot reg-names: 173d5b0e70fSEmmanuel Vadot items: 174d5b0e70fSEmmanuel Vadot - const: parf # Qualcomm specific registers 175d5b0e70fSEmmanuel Vadot - const: dbi # DesignWare PCIe registers 176d5b0e70fSEmmanuel Vadot - const: elbi # External local bus interface registers 177d5b0e70fSEmmanuel Vadot - const: config # PCIe configuration space 178d5b0e70fSEmmanuel Vadot 179d5b0e70fSEmmanuel Vadot - if: 180d5b0e70fSEmmanuel Vadot properties: 181d5b0e70fSEmmanuel Vadot compatible: 182d5b0e70fSEmmanuel Vadot contains: 183d5b0e70fSEmmanuel Vadot enum: 184d5b0e70fSEmmanuel Vadot - qcom,pcie-sc7280 185d5b0e70fSEmmanuel Vadot - qcom,pcie-sc8180x 186*7ef62cebSEmmanuel Vadot - qcom,pcie-sc8280xp 187d5b0e70fSEmmanuel Vadot - qcom,pcie-sm8250 188d5b0e70fSEmmanuel Vadot - qcom,pcie-sm8450-pcie0 189d5b0e70fSEmmanuel Vadot - qcom,pcie-sm8450-pcie1 190d5b0e70fSEmmanuel Vadot then: 191d5b0e70fSEmmanuel Vadot properties: 192d5b0e70fSEmmanuel Vadot reg: 193d5b0e70fSEmmanuel Vadot minItems: 5 194d5b0e70fSEmmanuel Vadot maxItems: 5 195d5b0e70fSEmmanuel Vadot reg-names: 196d5b0e70fSEmmanuel Vadot items: 197d5b0e70fSEmmanuel Vadot - const: parf # Qualcomm specific registers 198d5b0e70fSEmmanuel Vadot - const: dbi # DesignWare PCIe registers 199d5b0e70fSEmmanuel Vadot - const: elbi # External local bus interface registers 200d5b0e70fSEmmanuel Vadot - const: atu # ATU address space 201d5b0e70fSEmmanuel Vadot - const: config # PCIe configuration space 202d5b0e70fSEmmanuel Vadot 203d5b0e70fSEmmanuel Vadot - if: 204d5b0e70fSEmmanuel Vadot properties: 205d5b0e70fSEmmanuel Vadot compatible: 206d5b0e70fSEmmanuel Vadot contains: 207d5b0e70fSEmmanuel Vadot enum: 208d5b0e70fSEmmanuel Vadot - qcom,pcie-apq8064 209d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq8064 210d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq8064v2 211d5b0e70fSEmmanuel Vadot then: 212d5b0e70fSEmmanuel Vadot properties: 213d5b0e70fSEmmanuel Vadot clocks: 214d5b0e70fSEmmanuel Vadot minItems: 3 215d5b0e70fSEmmanuel Vadot maxItems: 5 216d5b0e70fSEmmanuel Vadot clock-names: 217d5b0e70fSEmmanuel Vadot minItems: 3 218d5b0e70fSEmmanuel Vadot items: 219d5b0e70fSEmmanuel Vadot - const: core # Clocks the pcie hw block 220d5b0e70fSEmmanuel Vadot - const: iface # Configuration AHB clock 221d5b0e70fSEmmanuel Vadot - const: phy # Clocks the pcie PHY block 222d5b0e70fSEmmanuel Vadot - const: aux # Clocks the pcie AUX block, not on apq8064 223d5b0e70fSEmmanuel Vadot - const: ref # Clocks the pcie ref block, not on apq8064 224d5b0e70fSEmmanuel Vadot resets: 225d5b0e70fSEmmanuel Vadot minItems: 5 226d5b0e70fSEmmanuel Vadot maxItems: 6 227d5b0e70fSEmmanuel Vadot reset-names: 228d5b0e70fSEmmanuel Vadot minItems: 5 229d5b0e70fSEmmanuel Vadot items: 230d5b0e70fSEmmanuel Vadot - const: axi # AXI reset 231d5b0e70fSEmmanuel Vadot - const: ahb # AHB reset 232d5b0e70fSEmmanuel Vadot - const: por # POR reset 233d5b0e70fSEmmanuel Vadot - const: pci # PCI reset 234d5b0e70fSEmmanuel Vadot - const: phy # PHY reset 235d5b0e70fSEmmanuel Vadot - const: ext # EXT reset, not on apq8064 236d5b0e70fSEmmanuel Vadot required: 237d5b0e70fSEmmanuel Vadot - vdda-supply 238d5b0e70fSEmmanuel Vadot - vdda_phy-supply 239d5b0e70fSEmmanuel Vadot - vdda_refclk-supply 240d5b0e70fSEmmanuel Vadot 241d5b0e70fSEmmanuel Vadot - if: 242d5b0e70fSEmmanuel Vadot properties: 243d5b0e70fSEmmanuel Vadot compatible: 244d5b0e70fSEmmanuel Vadot contains: 245d5b0e70fSEmmanuel Vadot enum: 246d5b0e70fSEmmanuel Vadot - qcom,pcie-apq8084 247d5b0e70fSEmmanuel Vadot then: 248d5b0e70fSEmmanuel Vadot properties: 249d5b0e70fSEmmanuel Vadot clocks: 250d5b0e70fSEmmanuel Vadot minItems: 4 251d5b0e70fSEmmanuel Vadot maxItems: 4 252d5b0e70fSEmmanuel Vadot clock-names: 253d5b0e70fSEmmanuel Vadot items: 254d5b0e70fSEmmanuel Vadot - const: iface # Configuration AHB clock 255d5b0e70fSEmmanuel Vadot - const: master_bus # Master AXI clock 256d5b0e70fSEmmanuel Vadot - const: slave_bus # Slave AXI clock 257d5b0e70fSEmmanuel Vadot - const: aux # Auxiliary (AUX) clock 258d5b0e70fSEmmanuel Vadot resets: 259d5b0e70fSEmmanuel Vadot maxItems: 1 260d5b0e70fSEmmanuel Vadot reset-names: 261d5b0e70fSEmmanuel Vadot items: 262d5b0e70fSEmmanuel Vadot - const: core # Core reset 263d5b0e70fSEmmanuel Vadot 264d5b0e70fSEmmanuel Vadot - if: 265d5b0e70fSEmmanuel Vadot properties: 266d5b0e70fSEmmanuel Vadot compatible: 267d5b0e70fSEmmanuel Vadot contains: 268d5b0e70fSEmmanuel Vadot enum: 269d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq4019 270d5b0e70fSEmmanuel Vadot then: 271d5b0e70fSEmmanuel Vadot properties: 272d5b0e70fSEmmanuel Vadot clocks: 273d5b0e70fSEmmanuel Vadot minItems: 3 274d5b0e70fSEmmanuel Vadot maxItems: 3 275d5b0e70fSEmmanuel Vadot clock-names: 276d5b0e70fSEmmanuel Vadot items: 277d5b0e70fSEmmanuel Vadot - const: aux # Auxiliary (AUX) clock 278d5b0e70fSEmmanuel Vadot - const: master_bus # Master AXI clock 279d5b0e70fSEmmanuel Vadot - const: slave_bus # Slave AXI clock 280d5b0e70fSEmmanuel Vadot resets: 281d5b0e70fSEmmanuel Vadot minItems: 12 282d5b0e70fSEmmanuel Vadot maxItems: 12 283d5b0e70fSEmmanuel Vadot reset-names: 284d5b0e70fSEmmanuel Vadot items: 285d5b0e70fSEmmanuel Vadot - const: axi_m # AXI master reset 286d5b0e70fSEmmanuel Vadot - const: axi_s # AXI slave reset 287d5b0e70fSEmmanuel Vadot - const: pipe # PIPE reset 288d5b0e70fSEmmanuel Vadot - const: axi_m_vmid # VMID reset 289d5b0e70fSEmmanuel Vadot - const: axi_s_xpu # XPU reset 290d5b0e70fSEmmanuel Vadot - const: parf # PARF reset 291d5b0e70fSEmmanuel Vadot - const: phy # PHY reset 292d5b0e70fSEmmanuel Vadot - const: axi_m_sticky # AXI sticky reset 293d5b0e70fSEmmanuel Vadot - const: pipe_sticky # PIPE sticky reset 294d5b0e70fSEmmanuel Vadot - const: pwr # PWR reset 295d5b0e70fSEmmanuel Vadot - const: ahb # AHB reset 296d5b0e70fSEmmanuel Vadot - const: phy_ahb # PHY AHB reset 297d5b0e70fSEmmanuel Vadot 298d5b0e70fSEmmanuel Vadot - if: 299d5b0e70fSEmmanuel Vadot properties: 300d5b0e70fSEmmanuel Vadot compatible: 301d5b0e70fSEmmanuel Vadot contains: 302d5b0e70fSEmmanuel Vadot enum: 303d5b0e70fSEmmanuel Vadot - qcom,pcie-msm8996 304d5b0e70fSEmmanuel Vadot then: 305d5b0e70fSEmmanuel Vadot oneOf: 306d5b0e70fSEmmanuel Vadot - properties: 307d5b0e70fSEmmanuel Vadot clock-names: 308d5b0e70fSEmmanuel Vadot items: 309d5b0e70fSEmmanuel Vadot - const: pipe # Pipe Clock driving internal logic 310d5b0e70fSEmmanuel Vadot - const: aux # Auxiliary (AUX) clock 311d5b0e70fSEmmanuel Vadot - const: cfg # Configuration clock 312d5b0e70fSEmmanuel Vadot - const: bus_master # Master AXI clock 313d5b0e70fSEmmanuel Vadot - const: bus_slave # Slave AXI clock 314d5b0e70fSEmmanuel Vadot - properties: 315d5b0e70fSEmmanuel Vadot clock-names: 316d5b0e70fSEmmanuel Vadot items: 317d5b0e70fSEmmanuel Vadot - const: pipe # Pipe Clock driving internal logic 318d5b0e70fSEmmanuel Vadot - const: bus_master # Master AXI clock 319d5b0e70fSEmmanuel Vadot - const: bus_slave # Slave AXI clock 320d5b0e70fSEmmanuel Vadot - const: cfg # Configuration clock 321d5b0e70fSEmmanuel Vadot - const: aux # Auxiliary (AUX) clock 322d5b0e70fSEmmanuel Vadot properties: 323d5b0e70fSEmmanuel Vadot clocks: 324d5b0e70fSEmmanuel Vadot minItems: 5 325d5b0e70fSEmmanuel Vadot maxItems: 5 326d5b0e70fSEmmanuel Vadot resets: false 327d5b0e70fSEmmanuel Vadot reset-names: false 328d5b0e70fSEmmanuel Vadot 329d5b0e70fSEmmanuel Vadot - if: 330d5b0e70fSEmmanuel Vadot properties: 331d5b0e70fSEmmanuel Vadot compatible: 332d5b0e70fSEmmanuel Vadot contains: 333d5b0e70fSEmmanuel Vadot enum: 334d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq8074 335d5b0e70fSEmmanuel Vadot then: 336d5b0e70fSEmmanuel Vadot properties: 337d5b0e70fSEmmanuel Vadot clocks: 338d5b0e70fSEmmanuel Vadot minItems: 5 339d5b0e70fSEmmanuel Vadot maxItems: 5 340d5b0e70fSEmmanuel Vadot clock-names: 341d5b0e70fSEmmanuel Vadot items: 342d5b0e70fSEmmanuel Vadot - const: iface # PCIe to SysNOC BIU clock 343d5b0e70fSEmmanuel Vadot - const: axi_m # AXI Master clock 344d5b0e70fSEmmanuel Vadot - const: axi_s # AXI Slave clock 345d5b0e70fSEmmanuel Vadot - const: ahb # AHB clock 346d5b0e70fSEmmanuel Vadot - const: aux # Auxiliary clock 347d5b0e70fSEmmanuel Vadot resets: 348d5b0e70fSEmmanuel Vadot minItems: 7 349d5b0e70fSEmmanuel Vadot maxItems: 7 350d5b0e70fSEmmanuel Vadot reset-names: 351d5b0e70fSEmmanuel Vadot items: 352d5b0e70fSEmmanuel Vadot - const: pipe # PIPE reset 353d5b0e70fSEmmanuel Vadot - const: sleep # Sleep reset 354d5b0e70fSEmmanuel Vadot - const: sticky # Core Sticky reset 355d5b0e70fSEmmanuel Vadot - const: axi_m # AXI Master reset 356d5b0e70fSEmmanuel Vadot - const: axi_s # AXI Slave reset 357d5b0e70fSEmmanuel Vadot - const: ahb # AHB Reset 358d5b0e70fSEmmanuel Vadot - const: axi_m_sticky # AXI Master Sticky reset 359d5b0e70fSEmmanuel Vadot 360d5b0e70fSEmmanuel Vadot - if: 361d5b0e70fSEmmanuel Vadot properties: 362d5b0e70fSEmmanuel Vadot compatible: 363d5b0e70fSEmmanuel Vadot contains: 364d5b0e70fSEmmanuel Vadot enum: 365d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq6018 366d5b0e70fSEmmanuel Vadot then: 367d5b0e70fSEmmanuel Vadot properties: 368d5b0e70fSEmmanuel Vadot clocks: 369d5b0e70fSEmmanuel Vadot minItems: 5 370d5b0e70fSEmmanuel Vadot maxItems: 5 371d5b0e70fSEmmanuel Vadot clock-names: 372d5b0e70fSEmmanuel Vadot items: 373d5b0e70fSEmmanuel Vadot - const: iface # PCIe to SysNOC BIU clock 374d5b0e70fSEmmanuel Vadot - const: axi_m # AXI Master clock 375d5b0e70fSEmmanuel Vadot - const: axi_s # AXI Slave clock 376d5b0e70fSEmmanuel Vadot - const: axi_bridge # AXI bridge clock 377d5b0e70fSEmmanuel Vadot - const: rchng 378d5b0e70fSEmmanuel Vadot resets: 379d5b0e70fSEmmanuel Vadot minItems: 8 380d5b0e70fSEmmanuel Vadot maxItems: 8 381d5b0e70fSEmmanuel Vadot reset-names: 382d5b0e70fSEmmanuel Vadot items: 383d5b0e70fSEmmanuel Vadot - const: pipe # PIPE reset 384d5b0e70fSEmmanuel Vadot - const: sleep # Sleep reset 385d5b0e70fSEmmanuel Vadot - const: sticky # Core Sticky reset 386d5b0e70fSEmmanuel Vadot - const: axi_m # AXI Master reset 387d5b0e70fSEmmanuel Vadot - const: axi_s # AXI Slave reset 388d5b0e70fSEmmanuel Vadot - const: ahb # AHB Reset 389d5b0e70fSEmmanuel Vadot - const: axi_m_sticky # AXI Master Sticky reset 390d5b0e70fSEmmanuel Vadot - const: axi_s_sticky # AXI Slave Sticky reset 391d5b0e70fSEmmanuel Vadot 392d5b0e70fSEmmanuel Vadot - if: 393d5b0e70fSEmmanuel Vadot properties: 394d5b0e70fSEmmanuel Vadot compatible: 395d5b0e70fSEmmanuel Vadot contains: 396d5b0e70fSEmmanuel Vadot enum: 397d5b0e70fSEmmanuel Vadot - qcom,pcie-qcs404 398d5b0e70fSEmmanuel Vadot then: 399d5b0e70fSEmmanuel Vadot properties: 400d5b0e70fSEmmanuel Vadot clocks: 401d5b0e70fSEmmanuel Vadot minItems: 4 402d5b0e70fSEmmanuel Vadot maxItems: 4 403d5b0e70fSEmmanuel Vadot clock-names: 404d5b0e70fSEmmanuel Vadot items: 405d5b0e70fSEmmanuel Vadot - const: iface # AHB clock 406d5b0e70fSEmmanuel Vadot - const: aux # Auxiliary clock 407d5b0e70fSEmmanuel Vadot - const: master_bus # AXI Master clock 408d5b0e70fSEmmanuel Vadot - const: slave_bus # AXI Slave clock 409d5b0e70fSEmmanuel Vadot resets: 410d5b0e70fSEmmanuel Vadot minItems: 6 411d5b0e70fSEmmanuel Vadot maxItems: 6 412d5b0e70fSEmmanuel Vadot reset-names: 413d5b0e70fSEmmanuel Vadot items: 414d5b0e70fSEmmanuel Vadot - const: axi_m # AXI Master reset 415d5b0e70fSEmmanuel Vadot - const: axi_s # AXI Slave reset 416d5b0e70fSEmmanuel Vadot - const: axi_m_sticky # AXI Master Sticky reset 417d5b0e70fSEmmanuel Vadot - const: pipe_sticky # PIPE sticky reset 418d5b0e70fSEmmanuel Vadot - const: pwr # PWR reset 419d5b0e70fSEmmanuel Vadot - const: ahb # AHB reset 420d5b0e70fSEmmanuel Vadot 421d5b0e70fSEmmanuel Vadot - if: 422d5b0e70fSEmmanuel Vadot properties: 423d5b0e70fSEmmanuel Vadot compatible: 424d5b0e70fSEmmanuel Vadot contains: 425d5b0e70fSEmmanuel Vadot enum: 426d5b0e70fSEmmanuel Vadot - qcom,pcie-sc7280 427d5b0e70fSEmmanuel Vadot then: 428d5b0e70fSEmmanuel Vadot properties: 429d5b0e70fSEmmanuel Vadot clocks: 430*7ef62cebSEmmanuel Vadot minItems: 13 431*7ef62cebSEmmanuel Vadot maxItems: 13 432d5b0e70fSEmmanuel Vadot clock-names: 433d5b0e70fSEmmanuel Vadot items: 434d5b0e70fSEmmanuel Vadot - const: pipe # PIPE clock 435d5b0e70fSEmmanuel Vadot - const: pipe_mux # PIPE MUX 436d5b0e70fSEmmanuel Vadot - const: phy_pipe # PIPE output clock 437d5b0e70fSEmmanuel Vadot - const: ref # REFERENCE clock 438d5b0e70fSEmmanuel Vadot - const: aux # Auxiliary clock 439d5b0e70fSEmmanuel Vadot - const: cfg # Configuration clock 440d5b0e70fSEmmanuel Vadot - const: bus_master # Master AXI clock 441d5b0e70fSEmmanuel Vadot - const: bus_slave # Slave AXI clock 442d5b0e70fSEmmanuel Vadot - const: slave_q2a # Slave Q2A clock 443d5b0e70fSEmmanuel Vadot - const: tbu # PCIe TBU clock 444d5b0e70fSEmmanuel Vadot - const: ddrss_sf_tbu # PCIe SF TBU clock 445*7ef62cebSEmmanuel Vadot - const: aggre0 # Aggre NoC PCIe CENTER SF AXI clock 446*7ef62cebSEmmanuel Vadot - const: aggre1 # Aggre NoC PCIe1 AXI clock 447d5b0e70fSEmmanuel Vadot resets: 448d5b0e70fSEmmanuel Vadot maxItems: 1 449d5b0e70fSEmmanuel Vadot reset-names: 450d5b0e70fSEmmanuel Vadot items: 451d5b0e70fSEmmanuel Vadot - const: pci # PCIe core reset 452d5b0e70fSEmmanuel Vadot 453d5b0e70fSEmmanuel Vadot - if: 454d5b0e70fSEmmanuel Vadot properties: 455d5b0e70fSEmmanuel Vadot compatible: 456d5b0e70fSEmmanuel Vadot contains: 457d5b0e70fSEmmanuel Vadot enum: 458d5b0e70fSEmmanuel Vadot - qcom,pcie-sdm845 459d5b0e70fSEmmanuel Vadot then: 460d5b0e70fSEmmanuel Vadot oneOf: 461d5b0e70fSEmmanuel Vadot # Unfortunately the "optional" ref clock is used in the middle of the list 462d5b0e70fSEmmanuel Vadot - properties: 463d5b0e70fSEmmanuel Vadot clocks: 464d5b0e70fSEmmanuel Vadot minItems: 8 465d5b0e70fSEmmanuel Vadot maxItems: 8 466d5b0e70fSEmmanuel Vadot clock-names: 467d5b0e70fSEmmanuel Vadot items: 468d5b0e70fSEmmanuel Vadot - const: pipe # PIPE clock 469d5b0e70fSEmmanuel Vadot - const: aux # Auxiliary clock 470d5b0e70fSEmmanuel Vadot - const: cfg # Configuration clock 471d5b0e70fSEmmanuel Vadot - const: bus_master # Master AXI clock 472d5b0e70fSEmmanuel Vadot - const: bus_slave # Slave AXI clock 473d5b0e70fSEmmanuel Vadot - const: slave_q2a # Slave Q2A clock 474d5b0e70fSEmmanuel Vadot - const: ref # REFERENCE clock 475d5b0e70fSEmmanuel Vadot - const: tbu # PCIe TBU clock 476d5b0e70fSEmmanuel Vadot - properties: 477d5b0e70fSEmmanuel Vadot clocks: 478d5b0e70fSEmmanuel Vadot minItems: 7 479d5b0e70fSEmmanuel Vadot maxItems: 7 480d5b0e70fSEmmanuel Vadot clock-names: 481d5b0e70fSEmmanuel Vadot items: 482d5b0e70fSEmmanuel Vadot - const: pipe # PIPE clock 483d5b0e70fSEmmanuel Vadot - const: aux # Auxiliary clock 484d5b0e70fSEmmanuel Vadot - const: cfg # Configuration clock 485d5b0e70fSEmmanuel Vadot - const: bus_master # Master AXI clock 486d5b0e70fSEmmanuel Vadot - const: bus_slave # Slave AXI clock 487d5b0e70fSEmmanuel Vadot - const: slave_q2a # Slave Q2A clock 488d5b0e70fSEmmanuel Vadot - const: tbu # PCIe TBU clock 489d5b0e70fSEmmanuel Vadot properties: 490d5b0e70fSEmmanuel Vadot resets: 491d5b0e70fSEmmanuel Vadot maxItems: 1 492d5b0e70fSEmmanuel Vadot reset-names: 493d5b0e70fSEmmanuel Vadot items: 494d5b0e70fSEmmanuel Vadot - const: pci # PCIe core reset 495d5b0e70fSEmmanuel Vadot 496d5b0e70fSEmmanuel Vadot - if: 497d5b0e70fSEmmanuel Vadot properties: 498d5b0e70fSEmmanuel Vadot compatible: 499d5b0e70fSEmmanuel Vadot contains: 500d5b0e70fSEmmanuel Vadot enum: 501d5b0e70fSEmmanuel Vadot - qcom,pcie-sc8180x 502d5b0e70fSEmmanuel Vadot - qcom,pcie-sm8150 503d5b0e70fSEmmanuel Vadot - qcom,pcie-sm8250 504d5b0e70fSEmmanuel Vadot then: 505d5b0e70fSEmmanuel Vadot oneOf: 506d5b0e70fSEmmanuel Vadot # Unfortunately the "optional" ref clock is used in the middle of the list 507d5b0e70fSEmmanuel Vadot - properties: 508d5b0e70fSEmmanuel Vadot clocks: 509d5b0e70fSEmmanuel Vadot minItems: 9 510d5b0e70fSEmmanuel Vadot maxItems: 9 511d5b0e70fSEmmanuel Vadot clock-names: 512d5b0e70fSEmmanuel Vadot items: 513d5b0e70fSEmmanuel Vadot - const: pipe # PIPE clock 514d5b0e70fSEmmanuel Vadot - const: aux # Auxiliary clock 515d5b0e70fSEmmanuel Vadot - const: cfg # Configuration clock 516d5b0e70fSEmmanuel Vadot - const: bus_master # Master AXI clock 517d5b0e70fSEmmanuel Vadot - const: bus_slave # Slave AXI clock 518d5b0e70fSEmmanuel Vadot - const: slave_q2a # Slave Q2A clock 519d5b0e70fSEmmanuel Vadot - const: ref # REFERENCE clock 520d5b0e70fSEmmanuel Vadot - const: tbu # PCIe TBU clock 521d5b0e70fSEmmanuel Vadot - const: ddrss_sf_tbu # PCIe SF TBU clock 522d5b0e70fSEmmanuel Vadot - properties: 523d5b0e70fSEmmanuel Vadot clocks: 524d5b0e70fSEmmanuel Vadot minItems: 8 525d5b0e70fSEmmanuel Vadot maxItems: 8 526d5b0e70fSEmmanuel Vadot clock-names: 527d5b0e70fSEmmanuel Vadot items: 528d5b0e70fSEmmanuel Vadot - const: pipe # PIPE clock 529d5b0e70fSEmmanuel Vadot - const: aux # Auxiliary clock 530d5b0e70fSEmmanuel Vadot - const: cfg # Configuration clock 531d5b0e70fSEmmanuel Vadot - const: bus_master # Master AXI clock 532d5b0e70fSEmmanuel Vadot - const: bus_slave # Slave AXI clock 533d5b0e70fSEmmanuel Vadot - const: slave_q2a # Slave Q2A clock 534d5b0e70fSEmmanuel Vadot - const: tbu # PCIe TBU clock 535d5b0e70fSEmmanuel Vadot - const: ddrss_sf_tbu # PCIe SF TBU clock 536d5b0e70fSEmmanuel Vadot properties: 537d5b0e70fSEmmanuel Vadot resets: 538d5b0e70fSEmmanuel Vadot maxItems: 1 539d5b0e70fSEmmanuel Vadot reset-names: 540d5b0e70fSEmmanuel Vadot items: 541d5b0e70fSEmmanuel Vadot - const: pci # PCIe core reset 542d5b0e70fSEmmanuel Vadot 543d5b0e70fSEmmanuel Vadot - if: 544d5b0e70fSEmmanuel Vadot properties: 545d5b0e70fSEmmanuel Vadot compatible: 546d5b0e70fSEmmanuel Vadot contains: 547d5b0e70fSEmmanuel Vadot enum: 548d5b0e70fSEmmanuel Vadot - qcom,pcie-sm8450-pcie0 549d5b0e70fSEmmanuel Vadot then: 550d5b0e70fSEmmanuel Vadot properties: 551d5b0e70fSEmmanuel Vadot clocks: 552d5b0e70fSEmmanuel Vadot minItems: 12 553d5b0e70fSEmmanuel Vadot maxItems: 12 554d5b0e70fSEmmanuel Vadot clock-names: 555d5b0e70fSEmmanuel Vadot items: 556d5b0e70fSEmmanuel Vadot - const: pipe # PIPE clock 557d5b0e70fSEmmanuel Vadot - const: pipe_mux # PIPE MUX 558d5b0e70fSEmmanuel Vadot - const: phy_pipe # PIPE output clock 559d5b0e70fSEmmanuel Vadot - const: ref # REFERENCE clock 560d5b0e70fSEmmanuel Vadot - const: aux # Auxiliary clock 561d5b0e70fSEmmanuel Vadot - const: cfg # Configuration clock 562d5b0e70fSEmmanuel Vadot - const: bus_master # Master AXI clock 563d5b0e70fSEmmanuel Vadot - const: bus_slave # Slave AXI clock 564d5b0e70fSEmmanuel Vadot - const: slave_q2a # Slave Q2A clock 565d5b0e70fSEmmanuel Vadot - const: ddrss_sf_tbu # PCIe SF TBU clock 566d5b0e70fSEmmanuel Vadot - const: aggre0 # Aggre NoC PCIe0 AXI clock 567d5b0e70fSEmmanuel Vadot - const: aggre1 # Aggre NoC PCIe1 AXI clock 568d5b0e70fSEmmanuel Vadot resets: 569d5b0e70fSEmmanuel Vadot maxItems: 1 570d5b0e70fSEmmanuel Vadot reset-names: 571d5b0e70fSEmmanuel Vadot items: 572d5b0e70fSEmmanuel Vadot - const: pci # PCIe core reset 573d5b0e70fSEmmanuel Vadot 574d5b0e70fSEmmanuel Vadot - if: 575d5b0e70fSEmmanuel Vadot properties: 576d5b0e70fSEmmanuel Vadot compatible: 577d5b0e70fSEmmanuel Vadot contains: 578d5b0e70fSEmmanuel Vadot enum: 579d5b0e70fSEmmanuel Vadot - qcom,pcie-sm8450-pcie1 580d5b0e70fSEmmanuel Vadot then: 581d5b0e70fSEmmanuel Vadot properties: 582d5b0e70fSEmmanuel Vadot clocks: 583d5b0e70fSEmmanuel Vadot minItems: 11 584d5b0e70fSEmmanuel Vadot maxItems: 11 585d5b0e70fSEmmanuel Vadot clock-names: 586d5b0e70fSEmmanuel Vadot items: 587d5b0e70fSEmmanuel Vadot - const: pipe # PIPE clock 588d5b0e70fSEmmanuel Vadot - const: pipe_mux # PIPE MUX 589d5b0e70fSEmmanuel Vadot - const: phy_pipe # PIPE output clock 590d5b0e70fSEmmanuel Vadot - const: ref # REFERENCE clock 591d5b0e70fSEmmanuel Vadot - const: aux # Auxiliary clock 592d5b0e70fSEmmanuel Vadot - const: cfg # Configuration clock 593d5b0e70fSEmmanuel Vadot - const: bus_master # Master AXI clock 594d5b0e70fSEmmanuel Vadot - const: bus_slave # Slave AXI clock 595d5b0e70fSEmmanuel Vadot - const: slave_q2a # Slave Q2A clock 596d5b0e70fSEmmanuel Vadot - const: ddrss_sf_tbu # PCIe SF TBU clock 597d5b0e70fSEmmanuel Vadot - const: aggre1 # Aggre NoC PCIe1 AXI clock 598d5b0e70fSEmmanuel Vadot resets: 599d5b0e70fSEmmanuel Vadot maxItems: 1 600d5b0e70fSEmmanuel Vadot reset-names: 601d5b0e70fSEmmanuel Vadot items: 602d5b0e70fSEmmanuel Vadot - const: pci # PCIe core reset 603d5b0e70fSEmmanuel Vadot 604d5b0e70fSEmmanuel Vadot - if: 605*7ef62cebSEmmanuel Vadot properties: 606*7ef62cebSEmmanuel Vadot compatible: 607*7ef62cebSEmmanuel Vadot contains: 608*7ef62cebSEmmanuel Vadot enum: 609*7ef62cebSEmmanuel Vadot - qcom,pcie-sa8540p 610*7ef62cebSEmmanuel Vadot - qcom,pcie-sc8280xp 611*7ef62cebSEmmanuel Vadot then: 612*7ef62cebSEmmanuel Vadot properties: 613*7ef62cebSEmmanuel Vadot clocks: 614*7ef62cebSEmmanuel Vadot minItems: 8 615*7ef62cebSEmmanuel Vadot maxItems: 9 616*7ef62cebSEmmanuel Vadot clock-names: 617*7ef62cebSEmmanuel Vadot minItems: 8 618*7ef62cebSEmmanuel Vadot items: 619*7ef62cebSEmmanuel Vadot - const: aux # Auxiliary clock 620*7ef62cebSEmmanuel Vadot - const: cfg # Configuration clock 621*7ef62cebSEmmanuel Vadot - const: bus_master # Master AXI clock 622*7ef62cebSEmmanuel Vadot - const: bus_slave # Slave AXI clock 623*7ef62cebSEmmanuel Vadot - const: slave_q2a # Slave Q2A clock 624*7ef62cebSEmmanuel Vadot - const: ddrss_sf_tbu # PCIe SF TBU clock 625*7ef62cebSEmmanuel Vadot - const: noc_aggr_4 # NoC aggregate 4 clock 626*7ef62cebSEmmanuel Vadot - const: noc_aggr_south_sf # NoC aggregate South SF clock 627*7ef62cebSEmmanuel Vadot - const: cnoc_qx # Configuration NoC QX clock 628*7ef62cebSEmmanuel Vadot resets: 629*7ef62cebSEmmanuel Vadot maxItems: 1 630*7ef62cebSEmmanuel Vadot reset-names: 631*7ef62cebSEmmanuel Vadot items: 632*7ef62cebSEmmanuel Vadot - const: pci # PCIe core reset 633*7ef62cebSEmmanuel Vadot 634*7ef62cebSEmmanuel Vadot - if: 635d5b0e70fSEmmanuel Vadot not: 636d5b0e70fSEmmanuel Vadot properties: 637d5b0e70fSEmmanuel Vadot compatible: 638d5b0e70fSEmmanuel Vadot contains: 639d5b0e70fSEmmanuel Vadot enum: 640d5b0e70fSEmmanuel Vadot - qcom,pcie-apq8064 641d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq4019 642d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq8064 643d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq8064v2 644d5b0e70fSEmmanuel Vadot - qcom,pcie-ipq8074 645d5b0e70fSEmmanuel Vadot - qcom,pcie-qcs404 646d5b0e70fSEmmanuel Vadot then: 647d5b0e70fSEmmanuel Vadot required: 648d5b0e70fSEmmanuel Vadot - power-domains 649d5b0e70fSEmmanuel Vadot 650d5b0e70fSEmmanuel Vadot - if: 651d5b0e70fSEmmanuel Vadot not: 652d5b0e70fSEmmanuel Vadot properties: 653b97ee269SEmmanuel Vadot compatible: 654d5b0e70fSEmmanuel Vadot contains: 655d5b0e70fSEmmanuel Vadot enum: 656d5b0e70fSEmmanuel Vadot - qcom,pcie-msm8996 657d5b0e70fSEmmanuel Vadot then: 658d5b0e70fSEmmanuel Vadot required: 659d5b0e70fSEmmanuel Vadot - resets 660d5b0e70fSEmmanuel Vadot - reset-names 661d5b0e70fSEmmanuel Vadot 662b97ee269SEmmanuel Vadot - if: 663b97ee269SEmmanuel Vadot properties: 664b97ee269SEmmanuel Vadot compatible: 665b97ee269SEmmanuel Vadot contains: 666b97ee269SEmmanuel Vadot enum: 667b97ee269SEmmanuel Vadot - qcom,pcie-msm8996 668b97ee269SEmmanuel Vadot - qcom,pcie-sc7280 669b97ee269SEmmanuel Vadot - qcom,pcie-sc8180x 670b97ee269SEmmanuel Vadot - qcom,pcie-sdm845 671b97ee269SEmmanuel Vadot - qcom,pcie-sm8150 672b97ee269SEmmanuel Vadot - qcom,pcie-sm8250 673b97ee269SEmmanuel Vadot - qcom,pcie-sm8450-pcie0 674b97ee269SEmmanuel Vadot - qcom,pcie-sm8450-pcie1 675b97ee269SEmmanuel Vadot then: 676b97ee269SEmmanuel Vadot oneOf: 677b97ee269SEmmanuel Vadot - properties: 678b97ee269SEmmanuel Vadot interrupts: 679b97ee269SEmmanuel Vadot maxItems: 1 680b97ee269SEmmanuel Vadot interrupt-names: 681b97ee269SEmmanuel Vadot items: 682b97ee269SEmmanuel Vadot - const: msi 683b97ee269SEmmanuel Vadot - properties: 684b97ee269SEmmanuel Vadot interrupts: 685b97ee269SEmmanuel Vadot minItems: 8 686b97ee269SEmmanuel Vadot interrupt-names: 687b97ee269SEmmanuel Vadot items: 688b97ee269SEmmanuel Vadot - const: msi0 689b97ee269SEmmanuel Vadot - const: msi1 690b97ee269SEmmanuel Vadot - const: msi2 691b97ee269SEmmanuel Vadot - const: msi3 692b97ee269SEmmanuel Vadot - const: msi4 693b97ee269SEmmanuel Vadot - const: msi5 694b97ee269SEmmanuel Vadot - const: msi6 695b97ee269SEmmanuel Vadot - const: msi7 696*7ef62cebSEmmanuel Vadot 697*7ef62cebSEmmanuel Vadot - if: 698*7ef62cebSEmmanuel Vadot properties: 699*7ef62cebSEmmanuel Vadot compatible: 700*7ef62cebSEmmanuel Vadot contains: 701*7ef62cebSEmmanuel Vadot enum: 702*7ef62cebSEmmanuel Vadot - qcom,pcie-sc8280xp 703*7ef62cebSEmmanuel Vadot then: 704*7ef62cebSEmmanuel Vadot properties: 705*7ef62cebSEmmanuel Vadot interrupts: 706*7ef62cebSEmmanuel Vadot minItems: 4 707*7ef62cebSEmmanuel Vadot maxItems: 4 708*7ef62cebSEmmanuel Vadot interrupt-names: 709*7ef62cebSEmmanuel Vadot items: 710*7ef62cebSEmmanuel Vadot - const: msi0 711*7ef62cebSEmmanuel Vadot - const: msi1 712*7ef62cebSEmmanuel Vadot - const: msi2 713*7ef62cebSEmmanuel Vadot - const: msi3 714*7ef62cebSEmmanuel Vadot 715*7ef62cebSEmmanuel Vadot - if: 716*7ef62cebSEmmanuel Vadot properties: 717*7ef62cebSEmmanuel Vadot compatible: 718*7ef62cebSEmmanuel Vadot contains: 719*7ef62cebSEmmanuel Vadot enum: 720*7ef62cebSEmmanuel Vadot - qcom,pcie-apq8064 721*7ef62cebSEmmanuel Vadot - qcom,pcie-apq8084 722*7ef62cebSEmmanuel Vadot - qcom,pcie-ipq4019 723*7ef62cebSEmmanuel Vadot - qcom,pcie-ipq6018 724*7ef62cebSEmmanuel Vadot - qcom,pcie-ipq8064 725*7ef62cebSEmmanuel Vadot - qcom,pcie-ipq8064-v2 726*7ef62cebSEmmanuel Vadot - qcom,pcie-ipq8074 727*7ef62cebSEmmanuel Vadot - qcom,pcie-qcs404 728*7ef62cebSEmmanuel Vadot - qcom,pcie-sa8540p 729*7ef62cebSEmmanuel Vadot then: 730b97ee269SEmmanuel Vadot properties: 731b97ee269SEmmanuel Vadot interrupts: 732b97ee269SEmmanuel Vadot maxItems: 1 733b97ee269SEmmanuel Vadot interrupt-names: 734b97ee269SEmmanuel Vadot items: 735b97ee269SEmmanuel Vadot - const: msi 736b97ee269SEmmanuel Vadot 737d5b0e70fSEmmanuel VadotunevaluatedProperties: false 738d5b0e70fSEmmanuel Vadot 739d5b0e70fSEmmanuel Vadotexamples: 740d5b0e70fSEmmanuel Vadot - | 741d5b0e70fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 742d5b0e70fSEmmanuel Vadot pcie@1b500000 { 743d5b0e70fSEmmanuel Vadot compatible = "qcom,pcie-ipq8064"; 744d5b0e70fSEmmanuel Vadot reg = <0x1b500000 0x1000>, 745d5b0e70fSEmmanuel Vadot <0x1b502000 0x80>, 746d5b0e70fSEmmanuel Vadot <0x1b600000 0x100>, 747d5b0e70fSEmmanuel Vadot <0x0ff00000 0x100000>; 748d5b0e70fSEmmanuel Vadot reg-names = "dbi", "elbi", "parf", "config"; 749d5b0e70fSEmmanuel Vadot device_type = "pci"; 750d5b0e70fSEmmanuel Vadot linux,pci-domain = <0>; 751d5b0e70fSEmmanuel Vadot bus-range = <0x00 0xff>; 752d5b0e70fSEmmanuel Vadot num-lanes = <1>; 753d5b0e70fSEmmanuel Vadot #address-cells = <3>; 754d5b0e70fSEmmanuel Vadot #size-cells = <2>; 755d5b0e70fSEmmanuel Vadot ranges = <0x81000000 0 0 0x0fe00000 0 0x00100000>, 756d5b0e70fSEmmanuel Vadot <0x82000000 0 0 0x08000000 0 0x07e00000>; 757d5b0e70fSEmmanuel Vadot interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 758d5b0e70fSEmmanuel Vadot interrupt-names = "msi"; 759d5b0e70fSEmmanuel Vadot #interrupt-cells = <1>; 760d5b0e70fSEmmanuel Vadot interrupt-map-mask = <0 0 0 0x7>; 761d5b0e70fSEmmanuel Vadot interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, 762d5b0e70fSEmmanuel Vadot <0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, 763d5b0e70fSEmmanuel Vadot <0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, 764d5b0e70fSEmmanuel Vadot <0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; 765d5b0e70fSEmmanuel Vadot clocks = <&gcc 41>, 766d5b0e70fSEmmanuel Vadot <&gcc 43>, 767d5b0e70fSEmmanuel Vadot <&gcc 44>, 768d5b0e70fSEmmanuel Vadot <&gcc 42>, 769d5b0e70fSEmmanuel Vadot <&gcc 248>; 770d5b0e70fSEmmanuel Vadot clock-names = "core", "iface", "phy", "aux", "ref"; 771d5b0e70fSEmmanuel Vadot resets = <&gcc 27>, 772d5b0e70fSEmmanuel Vadot <&gcc 26>, 773d5b0e70fSEmmanuel Vadot <&gcc 25>, 774d5b0e70fSEmmanuel Vadot <&gcc 24>, 775d5b0e70fSEmmanuel Vadot <&gcc 23>, 776d5b0e70fSEmmanuel Vadot <&gcc 22>; 777d5b0e70fSEmmanuel Vadot reset-names = "axi", "ahb", "por", "pci", "phy", "ext"; 778d5b0e70fSEmmanuel Vadot pinctrl-0 = <&pcie_pins_default>; 779d5b0e70fSEmmanuel Vadot pinctrl-names = "default"; 780d5b0e70fSEmmanuel Vadot vdda-supply = <&pm8921_s3>; 781d5b0e70fSEmmanuel Vadot vdda_phy-supply = <&pm8921_lvs6>; 782d5b0e70fSEmmanuel Vadot vdda_refclk-supply = <&ext_3p3v>; 783d5b0e70fSEmmanuel Vadot }; 784d5b0e70fSEmmanuel Vadot - | 785d5b0e70fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 786d5b0e70fSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 787d5b0e70fSEmmanuel Vadot pcie@fc520000 { 788d5b0e70fSEmmanuel Vadot compatible = "qcom,pcie-apq8084"; 789d5b0e70fSEmmanuel Vadot reg = <0xfc520000 0x2000>, 790d5b0e70fSEmmanuel Vadot <0xff000000 0x1000>, 791d5b0e70fSEmmanuel Vadot <0xff001000 0x1000>, 792d5b0e70fSEmmanuel Vadot <0xff002000 0x2000>; 793d5b0e70fSEmmanuel Vadot reg-names = "parf", "dbi", "elbi", "config"; 794d5b0e70fSEmmanuel Vadot device_type = "pci"; 795d5b0e70fSEmmanuel Vadot linux,pci-domain = <0>; 796d5b0e70fSEmmanuel Vadot bus-range = <0x00 0xff>; 797d5b0e70fSEmmanuel Vadot num-lanes = <1>; 798d5b0e70fSEmmanuel Vadot #address-cells = <3>; 799d5b0e70fSEmmanuel Vadot #size-cells = <2>; 800d5b0e70fSEmmanuel Vadot ranges = <0x81000000 0 0 0xff200000 0 0x00100000>, 801d5b0e70fSEmmanuel Vadot <0x82000000 0 0x00300000 0xff300000 0 0x00d00000>; 802d5b0e70fSEmmanuel Vadot interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>; 803d5b0e70fSEmmanuel Vadot interrupt-names = "msi"; 804d5b0e70fSEmmanuel Vadot #interrupt-cells = <1>; 805d5b0e70fSEmmanuel Vadot interrupt-map-mask = <0 0 0 0x7>; 806d5b0e70fSEmmanuel Vadot interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>, 807d5b0e70fSEmmanuel Vadot <0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>, 808d5b0e70fSEmmanuel Vadot <0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>, 809d5b0e70fSEmmanuel Vadot <0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>; 810d5b0e70fSEmmanuel Vadot clocks = <&gcc 324>, 811d5b0e70fSEmmanuel Vadot <&gcc 325>, 812d5b0e70fSEmmanuel Vadot <&gcc 327>, 813d5b0e70fSEmmanuel Vadot <&gcc 323>; 814d5b0e70fSEmmanuel Vadot clock-names = "iface", "master_bus", "slave_bus", "aux"; 815d5b0e70fSEmmanuel Vadot resets = <&gcc 81>; 816d5b0e70fSEmmanuel Vadot reset-names = "core"; 817d5b0e70fSEmmanuel Vadot power-domains = <&gcc 1>; 818d5b0e70fSEmmanuel Vadot vdda-supply = <&pma8084_l3>; 819d5b0e70fSEmmanuel Vadot phys = <&pciephy0>; 820d5b0e70fSEmmanuel Vadot phy-names = "pciephy"; 821d5b0e70fSEmmanuel Vadot perst-gpios = <&tlmm 70 GPIO_ACTIVE_LOW>; 822d5b0e70fSEmmanuel Vadot pinctrl-0 = <&pcie0_pins_default>; 823d5b0e70fSEmmanuel Vadot pinctrl-names = "default"; 824d5b0e70fSEmmanuel Vadot }; 825d5b0e70fSEmmanuel Vadot... 826