1c66ec88fSEmmanuel Vadot* Qualcomm PCI express root complex 2c66ec88fSEmmanuel Vadot 3c66ec88fSEmmanuel Vadot- compatible: 4c66ec88fSEmmanuel Vadot Usage: required 5c66ec88fSEmmanuel Vadot Value type: <stringlist> 6c66ec88fSEmmanuel Vadot Definition: Value should contain 7c66ec88fSEmmanuel Vadot - "qcom,pcie-ipq8064" for ipq8064 8c66ec88fSEmmanuel Vadot - "qcom,pcie-ipq8064-v2" for ipq8064 rev 2 or ipq8065 9c66ec88fSEmmanuel Vadot - "qcom,pcie-apq8064" for apq8064 10c66ec88fSEmmanuel Vadot - "qcom,pcie-apq8084" for apq8084 11c66ec88fSEmmanuel Vadot - "qcom,pcie-msm8996" for msm8996 or apq8096 12c66ec88fSEmmanuel Vadot - "qcom,pcie-ipq4019" for ipq4019 13c66ec88fSEmmanuel Vadot - "qcom,pcie-ipq8074" for ipq8074 14c66ec88fSEmmanuel Vadot - "qcom,pcie-qcs404" for qcs404 15*8cc087a1SEmmanuel Vadot - "qcom,pcie-sc8180x" for sc8180x 16c66ec88fSEmmanuel Vadot - "qcom,pcie-sdm845" for sdm845 175def4c47SEmmanuel Vadot - "qcom,pcie-sm8250" for sm8250 185956d97fSEmmanuel Vadot - "qcom,pcie-ipq6018" for ipq6018 19c66ec88fSEmmanuel Vadot 20c66ec88fSEmmanuel Vadot- reg: 21c66ec88fSEmmanuel Vadot Usage: required 22c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 23c66ec88fSEmmanuel Vadot Definition: Register ranges as listed in the reg-names property 24c66ec88fSEmmanuel Vadot 25c66ec88fSEmmanuel Vadot- reg-names: 26c66ec88fSEmmanuel Vadot Usage: required 27c66ec88fSEmmanuel Vadot Value type: <stringlist> 28c66ec88fSEmmanuel Vadot Definition: Must include the following entries 29c66ec88fSEmmanuel Vadot - "parf" Qualcomm specific registers 30c66ec88fSEmmanuel Vadot - "dbi" DesignWare PCIe registers 31c66ec88fSEmmanuel Vadot - "elbi" External local bus interface registers 32c66ec88fSEmmanuel Vadot - "config" PCIe configuration space 335def4c47SEmmanuel Vadot - "atu" ATU address space (optional) 34c66ec88fSEmmanuel Vadot 35c66ec88fSEmmanuel Vadot- device_type: 36c66ec88fSEmmanuel Vadot Usage: required 37c66ec88fSEmmanuel Vadot Value type: <string> 38354d7675SEmmanuel Vadot Definition: Should be "pci". As specified in snps,dw-pcie.yaml 39c66ec88fSEmmanuel Vadot 40c66ec88fSEmmanuel Vadot- #address-cells: 41c66ec88fSEmmanuel Vadot Usage: required 42c66ec88fSEmmanuel Vadot Value type: <u32> 43354d7675SEmmanuel Vadot Definition: Should be 3. As specified in snps,dw-pcie.yaml 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot- #size-cells: 46c66ec88fSEmmanuel Vadot Usage: required 47c66ec88fSEmmanuel Vadot Value type: <u32> 48354d7675SEmmanuel Vadot Definition: Should be 2. As specified in snps,dw-pcie.yaml 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel Vadot- ranges: 51c66ec88fSEmmanuel Vadot Usage: required 52c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 53354d7675SEmmanuel Vadot Definition: As specified in snps,dw-pcie.yaml 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot- interrupts: 56c66ec88fSEmmanuel Vadot Usage: required 57c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 58c66ec88fSEmmanuel Vadot Definition: MSI interrupt 59c66ec88fSEmmanuel Vadot 60c66ec88fSEmmanuel Vadot- interrupt-names: 61c66ec88fSEmmanuel Vadot Usage: required 62c66ec88fSEmmanuel Vadot Value type: <stringlist> 63c66ec88fSEmmanuel Vadot Definition: Should contain "msi" 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel Vadot- #interrupt-cells: 66c66ec88fSEmmanuel Vadot Usage: required 67c66ec88fSEmmanuel Vadot Value type: <u32> 68354d7675SEmmanuel Vadot Definition: Should be 1. As specified in snps,dw-pcie.yaml 69c66ec88fSEmmanuel Vadot 70c66ec88fSEmmanuel Vadot- interrupt-map-mask: 71c66ec88fSEmmanuel Vadot Usage: required 72c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 73354d7675SEmmanuel Vadot Definition: As specified in snps,dw-pcie.yaml 74c66ec88fSEmmanuel Vadot 75c66ec88fSEmmanuel Vadot- interrupt-map: 76c66ec88fSEmmanuel Vadot Usage: required 77c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 78354d7675SEmmanuel Vadot Definition: As specified in snps,dw-pcie.yaml 79c66ec88fSEmmanuel Vadot 80c66ec88fSEmmanuel Vadot- clocks: 81c66ec88fSEmmanuel Vadot Usage: required 82c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 83c66ec88fSEmmanuel Vadot Definition: List of phandle and clock specifier pairs as listed 84c66ec88fSEmmanuel Vadot in clock-names property 85c66ec88fSEmmanuel Vadot 86c66ec88fSEmmanuel Vadot- clock-names: 87c66ec88fSEmmanuel Vadot Usage: required 88c66ec88fSEmmanuel Vadot Value type: <stringlist> 89c66ec88fSEmmanuel Vadot Definition: Should contain the following entries 90c66ec88fSEmmanuel Vadot - "iface" Configuration AHB clock 91c66ec88fSEmmanuel Vadot 92c66ec88fSEmmanuel Vadot- clock-names: 93c66ec88fSEmmanuel Vadot Usage: required for ipq/apq8064 94c66ec88fSEmmanuel Vadot Value type: <stringlist> 95c66ec88fSEmmanuel Vadot Definition: Should contain the following entries 96c66ec88fSEmmanuel Vadot - "core" Clocks the pcie hw block 97c66ec88fSEmmanuel Vadot - "phy" Clocks the pcie PHY block 98c66ec88fSEmmanuel Vadot - "aux" Clocks the pcie AUX block 99c66ec88fSEmmanuel Vadot - "ref" Clocks the pcie ref block 100c66ec88fSEmmanuel Vadot- clock-names: 101c66ec88fSEmmanuel Vadot Usage: required for apq8084/ipq4019 102c66ec88fSEmmanuel Vadot Value type: <stringlist> 103c66ec88fSEmmanuel Vadot Definition: Should contain the following entries 104c66ec88fSEmmanuel Vadot - "aux" Auxiliary (AUX) clock 105c66ec88fSEmmanuel Vadot - "bus_master" Master AXI clock 106c66ec88fSEmmanuel Vadot - "bus_slave" Slave AXI clock 107c66ec88fSEmmanuel Vadot 108c66ec88fSEmmanuel Vadot- clock-names: 109c66ec88fSEmmanuel Vadot Usage: required for msm8996/apq8096 110c66ec88fSEmmanuel Vadot Value type: <stringlist> 111c66ec88fSEmmanuel Vadot Definition: Should contain the following entries 112c66ec88fSEmmanuel Vadot - "pipe" Pipe Clock driving internal logic 113c66ec88fSEmmanuel Vadot - "aux" Auxiliary (AUX) clock 114c66ec88fSEmmanuel Vadot - "cfg" Configuration clock 115c66ec88fSEmmanuel Vadot - "bus_master" Master AXI clock 116c66ec88fSEmmanuel Vadot - "bus_slave" Slave AXI clock 117c66ec88fSEmmanuel Vadot 118c66ec88fSEmmanuel Vadot- clock-names: 119c66ec88fSEmmanuel Vadot Usage: required for ipq8074 120c66ec88fSEmmanuel Vadot Value type: <stringlist> 121c66ec88fSEmmanuel Vadot Definition: Should contain the following entries 122c66ec88fSEmmanuel Vadot - "iface" PCIe to SysNOC BIU clock 123c66ec88fSEmmanuel Vadot - "axi_m" AXI Master clock 124c66ec88fSEmmanuel Vadot - "axi_s" AXI Slave clock 125c66ec88fSEmmanuel Vadot - "ahb" AHB clock 126c66ec88fSEmmanuel Vadot - "aux" Auxiliary clock 127c66ec88fSEmmanuel Vadot 128c66ec88fSEmmanuel Vadot- clock-names: 1295956d97fSEmmanuel Vadot Usage: required for ipq6018 1305956d97fSEmmanuel Vadot Value type: <stringlist> 1315956d97fSEmmanuel Vadot Definition: Should contain the following entries 1325956d97fSEmmanuel Vadot - "iface" PCIe to SysNOC BIU clock 1335956d97fSEmmanuel Vadot - "axi_m" AXI Master clock 1345956d97fSEmmanuel Vadot - "axi_s" AXI Slave clock 1355956d97fSEmmanuel Vadot - "axi_bridge" AXI bridge clock 1365956d97fSEmmanuel Vadot - "rchng" 1375956d97fSEmmanuel Vadot 1385956d97fSEmmanuel Vadot- clock-names: 139c66ec88fSEmmanuel Vadot Usage: required for qcs404 140c66ec88fSEmmanuel Vadot Value type: <stringlist> 141c66ec88fSEmmanuel Vadot Definition: Should contain the following entries 142c66ec88fSEmmanuel Vadot - "iface" AHB clock 143c66ec88fSEmmanuel Vadot - "aux" Auxiliary clock 144c66ec88fSEmmanuel Vadot - "master_bus" AXI Master clock 145c66ec88fSEmmanuel Vadot - "slave_bus" AXI Slave clock 146c66ec88fSEmmanuel Vadot 147c66ec88fSEmmanuel Vadot- clock-names: 148c66ec88fSEmmanuel Vadot Usage: required for sdm845 149c66ec88fSEmmanuel Vadot Value type: <stringlist> 150c66ec88fSEmmanuel Vadot Definition: Should contain the following entries 151c66ec88fSEmmanuel Vadot - "aux" Auxiliary clock 152c66ec88fSEmmanuel Vadot - "cfg" Configuration clock 153c66ec88fSEmmanuel Vadot - "bus_master" Master AXI clock 154c66ec88fSEmmanuel Vadot - "bus_slave" Slave AXI clock 155c66ec88fSEmmanuel Vadot - "slave_q2a" Slave Q2A clock 156c66ec88fSEmmanuel Vadot - "tbu" PCIe TBU clock 157c66ec88fSEmmanuel Vadot - "pipe" PIPE clock 158c66ec88fSEmmanuel Vadot 1595def4c47SEmmanuel Vadot- clock-names: 160*8cc087a1SEmmanuel Vadot Usage: required for sc8180x and sm8250 1615def4c47SEmmanuel Vadot Value type: <stringlist> 1625def4c47SEmmanuel Vadot Definition: Should contain the following entries 1635def4c47SEmmanuel Vadot - "aux" Auxiliary clock 1645def4c47SEmmanuel Vadot - "cfg" Configuration clock 1655def4c47SEmmanuel Vadot - "bus_master" Master AXI clock 1665def4c47SEmmanuel Vadot - "bus_slave" Slave AXI clock 1675def4c47SEmmanuel Vadot - "slave_q2a" Slave Q2A clock 1685def4c47SEmmanuel Vadot - "tbu" PCIe TBU clock 1695def4c47SEmmanuel Vadot - "ddrss_sf_tbu" PCIe SF TBU clock 1705def4c47SEmmanuel Vadot - "pipe" PIPE clock 1715def4c47SEmmanuel Vadot 172c66ec88fSEmmanuel Vadot- resets: 173c66ec88fSEmmanuel Vadot Usage: required 174c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 175c66ec88fSEmmanuel Vadot Definition: List of phandle and reset specifier pairs as listed 176c66ec88fSEmmanuel Vadot in reset-names property 177c66ec88fSEmmanuel Vadot 178c66ec88fSEmmanuel Vadot- reset-names: 179c66ec88fSEmmanuel Vadot Usage: required for ipq/apq8064 180c66ec88fSEmmanuel Vadot Value type: <stringlist> 181c66ec88fSEmmanuel Vadot Definition: Should contain the following entries 182c66ec88fSEmmanuel Vadot - "axi" AXI reset 183c66ec88fSEmmanuel Vadot - "ahb" AHB reset 184c66ec88fSEmmanuel Vadot - "por" POR reset 185c66ec88fSEmmanuel Vadot - "pci" PCI reset 186c66ec88fSEmmanuel Vadot - "phy" PHY reset 187c66ec88fSEmmanuel Vadot 188c66ec88fSEmmanuel Vadot- reset-names: 189c66ec88fSEmmanuel Vadot Usage: required for apq8084 190c66ec88fSEmmanuel Vadot Value type: <stringlist> 191c66ec88fSEmmanuel Vadot Definition: Should contain the following entries 192c66ec88fSEmmanuel Vadot - "core" Core reset 193c66ec88fSEmmanuel Vadot 194c66ec88fSEmmanuel Vadot- reset-names: 195c66ec88fSEmmanuel Vadot Usage: required for ipq/apq8064 196c66ec88fSEmmanuel Vadot Value type: <stringlist> 197c66ec88fSEmmanuel Vadot Definition: Should contain the following entries 198c66ec88fSEmmanuel Vadot - "axi_m" AXI master reset 199c66ec88fSEmmanuel Vadot - "axi_s" AXI slave reset 200c66ec88fSEmmanuel Vadot - "pipe" PIPE reset 201c66ec88fSEmmanuel Vadot - "axi_m_vmid" VMID reset 202c66ec88fSEmmanuel Vadot - "axi_s_xpu" XPU reset 203c66ec88fSEmmanuel Vadot - "parf" PARF reset 204c66ec88fSEmmanuel Vadot - "phy" PHY reset 205c66ec88fSEmmanuel Vadot - "axi_m_sticky" AXI sticky reset 206c66ec88fSEmmanuel Vadot - "pipe_sticky" PIPE sticky reset 207c66ec88fSEmmanuel Vadot - "pwr" PWR reset 208c66ec88fSEmmanuel Vadot - "ahb" AHB reset 209c66ec88fSEmmanuel Vadot - "phy_ahb" PHY AHB reset 210c66ec88fSEmmanuel Vadot - "ext" EXT reset 211c66ec88fSEmmanuel Vadot 212c66ec88fSEmmanuel Vadot- reset-names: 213c66ec88fSEmmanuel Vadot Usage: required for ipq8074 214c66ec88fSEmmanuel Vadot Value type: <stringlist> 215c66ec88fSEmmanuel Vadot Definition: Should contain the following entries 216c66ec88fSEmmanuel Vadot - "pipe" PIPE reset 217c66ec88fSEmmanuel Vadot - "sleep" Sleep reset 218c66ec88fSEmmanuel Vadot - "sticky" Core Sticky reset 219c66ec88fSEmmanuel Vadot - "axi_m" AXI Master reset 220c66ec88fSEmmanuel Vadot - "axi_s" AXI Slave reset 221c66ec88fSEmmanuel Vadot - "ahb" AHB Reset 222c66ec88fSEmmanuel Vadot - "axi_m_sticky" AXI Master Sticky reset 223c66ec88fSEmmanuel Vadot 224c66ec88fSEmmanuel Vadot- reset-names: 2255956d97fSEmmanuel Vadot Usage: required for ipq6018 2265956d97fSEmmanuel Vadot Value type: <stringlist> 2275956d97fSEmmanuel Vadot Definition: Should contain the following entries 2285956d97fSEmmanuel Vadot - "pipe" PIPE reset 2295956d97fSEmmanuel Vadot - "sleep" Sleep reset 2305956d97fSEmmanuel Vadot - "sticky" Core Sticky reset 2315956d97fSEmmanuel Vadot - "axi_m" AXI Master reset 2325956d97fSEmmanuel Vadot - "axi_s" AXI Slave reset 2335956d97fSEmmanuel Vadot - "ahb" AHB Reset 2345956d97fSEmmanuel Vadot - "axi_m_sticky" AXI Master Sticky reset 2355956d97fSEmmanuel Vadot - "axi_s_sticky" AXI Slave Sticky reset 2365956d97fSEmmanuel Vadot 2375956d97fSEmmanuel Vadot- reset-names: 238c66ec88fSEmmanuel Vadot Usage: required for qcs404 239c66ec88fSEmmanuel Vadot Value type: <stringlist> 240c66ec88fSEmmanuel Vadot Definition: Should contain the following entries 241c66ec88fSEmmanuel Vadot - "axi_m" AXI Master reset 242c66ec88fSEmmanuel Vadot - "axi_s" AXI Slave reset 243c66ec88fSEmmanuel Vadot - "axi_m_sticky" AXI Master Sticky reset 244c66ec88fSEmmanuel Vadot - "pipe_sticky" PIPE sticky reset 245c66ec88fSEmmanuel Vadot - "pwr" PWR reset 246c66ec88fSEmmanuel Vadot - "ahb" AHB reset 247c66ec88fSEmmanuel Vadot 248c66ec88fSEmmanuel Vadot- reset-names: 249*8cc087a1SEmmanuel Vadot Usage: required for sc8180x, sdm845 and sm8250 250c66ec88fSEmmanuel Vadot Value type: <stringlist> 251c66ec88fSEmmanuel Vadot Definition: Should contain the following entries 252c66ec88fSEmmanuel Vadot - "pci" PCIe core reset 253c66ec88fSEmmanuel Vadot 254c66ec88fSEmmanuel Vadot- power-domains: 255c66ec88fSEmmanuel Vadot Usage: required for apq8084 and msm8996/apq8096 256c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 257c66ec88fSEmmanuel Vadot Definition: A phandle and power domain specifier pair to the 258c66ec88fSEmmanuel Vadot power domain which is responsible for collapsing 259c66ec88fSEmmanuel Vadot and restoring power to the peripheral 260c66ec88fSEmmanuel Vadot 261c66ec88fSEmmanuel Vadot- vdda-supply: 262c66ec88fSEmmanuel Vadot Usage: required 263c66ec88fSEmmanuel Vadot Value type: <phandle> 264c66ec88fSEmmanuel Vadot Definition: A phandle to the core analog power supply 265c66ec88fSEmmanuel Vadot 266c66ec88fSEmmanuel Vadot- vdda_phy-supply: 267c66ec88fSEmmanuel Vadot Usage: required for ipq/apq8064 268c66ec88fSEmmanuel Vadot Value type: <phandle> 269c66ec88fSEmmanuel Vadot Definition: A phandle to the analog power supply for PHY 270c66ec88fSEmmanuel Vadot 271c66ec88fSEmmanuel Vadot- vdda_refclk-supply: 272c66ec88fSEmmanuel Vadot Usage: required for ipq/apq8064 273c66ec88fSEmmanuel Vadot Value type: <phandle> 274c66ec88fSEmmanuel Vadot Definition: A phandle to the analog power supply for IC which generates 275c66ec88fSEmmanuel Vadot reference clock 276c66ec88fSEmmanuel Vadot- vddpe-3v3-supply: 277c66ec88fSEmmanuel Vadot Usage: optional 278c66ec88fSEmmanuel Vadot Value type: <phandle> 279c66ec88fSEmmanuel Vadot Definition: A phandle to the PCIe endpoint power supply 280c66ec88fSEmmanuel Vadot 281c66ec88fSEmmanuel Vadot- phys: 282c66ec88fSEmmanuel Vadot Usage: required for apq8084 and qcs404 283c66ec88fSEmmanuel Vadot Value type: <phandle> 284c66ec88fSEmmanuel Vadot Definition: List of phandle(s) as listed in phy-names property 285c66ec88fSEmmanuel Vadot 286c66ec88fSEmmanuel Vadot- phy-names: 287c66ec88fSEmmanuel Vadot Usage: required for apq8084 and qcs404 288c66ec88fSEmmanuel Vadot Value type: <stringlist> 289c66ec88fSEmmanuel Vadot Definition: Should contain "pciephy" 290c66ec88fSEmmanuel Vadot 291c66ec88fSEmmanuel Vadot- <name>-gpios: 292c66ec88fSEmmanuel Vadot Usage: optional 293c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 294c66ec88fSEmmanuel Vadot Definition: List of phandle and GPIO specifier pairs. Should contain 295c66ec88fSEmmanuel Vadot - "perst-gpios" PCIe endpoint reset signal line 296c66ec88fSEmmanuel Vadot - "wake-gpios" PCIe endpoint wake signal line 297c66ec88fSEmmanuel Vadot 298c66ec88fSEmmanuel Vadot* Example for ipq/apq8064 299c66ec88fSEmmanuel Vadot pcie@1b500000 { 300c66ec88fSEmmanuel Vadot compatible = "qcom,pcie-apq8064", "qcom,pcie-ipq8064", "snps,dw-pcie"; 301c66ec88fSEmmanuel Vadot reg = <0x1b500000 0x1000 302c66ec88fSEmmanuel Vadot 0x1b502000 0x80 303c66ec88fSEmmanuel Vadot 0x1b600000 0x100 304c66ec88fSEmmanuel Vadot 0x0ff00000 0x100000>; 305c66ec88fSEmmanuel Vadot reg-names = "dbi", "elbi", "parf", "config"; 306c66ec88fSEmmanuel Vadot device_type = "pci"; 307c66ec88fSEmmanuel Vadot linux,pci-domain = <0>; 308c66ec88fSEmmanuel Vadot bus-range = <0x00 0xff>; 309c66ec88fSEmmanuel Vadot num-lanes = <1>; 310c66ec88fSEmmanuel Vadot #address-cells = <3>; 311c66ec88fSEmmanuel Vadot #size-cells = <2>; 312c66ec88fSEmmanuel Vadot ranges = <0x81000000 0 0 0x0fe00000 0 0x00100000 /* I/O */ 313c66ec88fSEmmanuel Vadot 0x82000000 0 0 0x08000000 0 0x07e00000>; /* memory */ 314c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 238 IRQ_TYPE_NONE>; 315c66ec88fSEmmanuel Vadot interrupt-names = "msi"; 316c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 317c66ec88fSEmmanuel Vadot interrupt-map-mask = <0 0 0 0x7>; 318c66ec88fSEmmanuel Vadot interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 319c66ec88fSEmmanuel Vadot <0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 320c66ec88fSEmmanuel Vadot <0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 321c66ec88fSEmmanuel Vadot <0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 322c66ec88fSEmmanuel Vadot clocks = <&gcc PCIE_A_CLK>, 323c66ec88fSEmmanuel Vadot <&gcc PCIE_H_CLK>, 324c66ec88fSEmmanuel Vadot <&gcc PCIE_PHY_CLK>, 325c66ec88fSEmmanuel Vadot <&gcc PCIE_AUX_CLK>, 326c66ec88fSEmmanuel Vadot <&gcc PCIE_ALT_REF_CLK>; 327c66ec88fSEmmanuel Vadot clock-names = "core", "iface", "phy", "aux", "ref"; 328c66ec88fSEmmanuel Vadot resets = <&gcc PCIE_ACLK_RESET>, 329c66ec88fSEmmanuel Vadot <&gcc PCIE_HCLK_RESET>, 330c66ec88fSEmmanuel Vadot <&gcc PCIE_POR_RESET>, 331c66ec88fSEmmanuel Vadot <&gcc PCIE_PCI_RESET>, 332c66ec88fSEmmanuel Vadot <&gcc PCIE_PHY_RESET>, 333c66ec88fSEmmanuel Vadot <&gcc PCIE_EXT_RESET>; 334c66ec88fSEmmanuel Vadot reset-names = "axi", "ahb", "por", "pci", "phy", "ext"; 335c66ec88fSEmmanuel Vadot pinctrl-0 = <&pcie_pins_default>; 336c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 337c66ec88fSEmmanuel Vadot }; 338c66ec88fSEmmanuel Vadot 339c66ec88fSEmmanuel Vadot* Example for apq8084 340c66ec88fSEmmanuel Vadot pcie0@fc520000 { 341c66ec88fSEmmanuel Vadot compatible = "qcom,pcie-apq8084", "snps,dw-pcie"; 342c66ec88fSEmmanuel Vadot reg = <0xfc520000 0x2000>, 343c66ec88fSEmmanuel Vadot <0xff000000 0x1000>, 344c66ec88fSEmmanuel Vadot <0xff001000 0x1000>, 345c66ec88fSEmmanuel Vadot <0xff002000 0x2000>; 346c66ec88fSEmmanuel Vadot reg-names = "parf", "dbi", "elbi", "config"; 347c66ec88fSEmmanuel Vadot device_type = "pci"; 348c66ec88fSEmmanuel Vadot linux,pci-domain = <0>; 349c66ec88fSEmmanuel Vadot bus-range = <0x00 0xff>; 350c66ec88fSEmmanuel Vadot num-lanes = <1>; 351c66ec88fSEmmanuel Vadot #address-cells = <3>; 352c66ec88fSEmmanuel Vadot #size-cells = <2>; 353c66ec88fSEmmanuel Vadot ranges = <0x81000000 0 0 0xff200000 0 0x00100000 /* I/O */ 354c66ec88fSEmmanuel Vadot 0x82000000 0 0x00300000 0xff300000 0 0x00d00000>; /* memory */ 355c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 243 IRQ_TYPE_NONE>; 356c66ec88fSEmmanuel Vadot interrupt-names = "msi"; 357c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 358c66ec88fSEmmanuel Vadot interrupt-map-mask = <0 0 0 0x7>; 359c66ec88fSEmmanuel Vadot interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 360c66ec88fSEmmanuel Vadot <0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 361c66ec88fSEmmanuel Vadot <0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 362c66ec88fSEmmanuel Vadot <0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 363c66ec88fSEmmanuel Vadot clocks = <&gcc GCC_PCIE_0_CFG_AHB_CLK>, 364c66ec88fSEmmanuel Vadot <&gcc GCC_PCIE_0_MSTR_AXI_CLK>, 365c66ec88fSEmmanuel Vadot <&gcc GCC_PCIE_0_SLV_AXI_CLK>, 366c66ec88fSEmmanuel Vadot <&gcc GCC_PCIE_0_AUX_CLK>; 367c66ec88fSEmmanuel Vadot clock-names = "iface", "master_bus", "slave_bus", "aux"; 368c66ec88fSEmmanuel Vadot resets = <&gcc GCC_PCIE_0_BCR>; 369c66ec88fSEmmanuel Vadot reset-names = "core"; 370c66ec88fSEmmanuel Vadot power-domains = <&gcc PCIE0_GDSC>; 371c66ec88fSEmmanuel Vadot vdda-supply = <&pma8084_l3>; 372c66ec88fSEmmanuel Vadot phys = <&pciephy0>; 373c66ec88fSEmmanuel Vadot phy-names = "pciephy"; 374c66ec88fSEmmanuel Vadot perst-gpio = <&tlmm 70 GPIO_ACTIVE_LOW>; 375c66ec88fSEmmanuel Vadot pinctrl-0 = <&pcie0_pins_default>; 376c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 377c66ec88fSEmmanuel Vadot }; 378