1*edf1701cSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*edf1701cSKrzysztof Kozlowski%YAML 1.2 3*edf1701cSKrzysztof Kozlowski--- 4*edf1701cSKrzysztof Kozlowski$id: http://devicetree.org/schemas/pci/qcom,pcie-ipq8074.yaml# 5*edf1701cSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6*edf1701cSKrzysztof Kozlowski 7*edf1701cSKrzysztof Kozlowskititle: Qualcomm IPQ8074 PCI Express Root Complex 8*edf1701cSKrzysztof Kozlowski 9*edf1701cSKrzysztof Kozlowskimaintainers: 10*edf1701cSKrzysztof Kozlowski - Bjorn Andersson <andersson@kernel.org> 11*edf1701cSKrzysztof Kozlowski - Manivannan Sadhasivam <mani@kernel.org> 12*edf1701cSKrzysztof Kozlowski 13*edf1701cSKrzysztof Kozlowskiproperties: 14*edf1701cSKrzysztof Kozlowski compatible: 15*edf1701cSKrzysztof Kozlowski enum: 16*edf1701cSKrzysztof Kozlowski - qcom,pcie-ipq8074 17*edf1701cSKrzysztof Kozlowski 18*edf1701cSKrzysztof Kozlowski reg: 19*edf1701cSKrzysztof Kozlowski maxItems: 4 20*edf1701cSKrzysztof Kozlowski 21*edf1701cSKrzysztof Kozlowski reg-names: 22*edf1701cSKrzysztof Kozlowski items: 23*edf1701cSKrzysztof Kozlowski - const: dbi 24*edf1701cSKrzysztof Kozlowski - const: elbi 25*edf1701cSKrzysztof Kozlowski - const: parf 26*edf1701cSKrzysztof Kozlowski - const: config 27*edf1701cSKrzysztof Kozlowski 28*edf1701cSKrzysztof Kozlowski clocks: 29*edf1701cSKrzysztof Kozlowski maxItems: 5 30*edf1701cSKrzysztof Kozlowski 31*edf1701cSKrzysztof Kozlowski clock-names: 32*edf1701cSKrzysztof Kozlowski items: 33*edf1701cSKrzysztof Kozlowski - const: iface # PCIe to SysNOC BIU clock 34*edf1701cSKrzysztof Kozlowski - const: axi_m # AXI Master clock 35*edf1701cSKrzysztof Kozlowski - const: axi_s # AXI Slave clock 36*edf1701cSKrzysztof Kozlowski - const: ahb 37*edf1701cSKrzysztof Kozlowski - const: aux 38*edf1701cSKrzysztof Kozlowski 39*edf1701cSKrzysztof Kozlowski interrupts: 40*edf1701cSKrzysztof Kozlowski maxItems: 9 41*edf1701cSKrzysztof Kozlowski 42*edf1701cSKrzysztof Kozlowski interrupt-names: 43*edf1701cSKrzysztof Kozlowski items: 44*edf1701cSKrzysztof Kozlowski - const: msi0 45*edf1701cSKrzysztof Kozlowski - const: msi1 46*edf1701cSKrzysztof Kozlowski - const: msi2 47*edf1701cSKrzysztof Kozlowski - const: msi3 48*edf1701cSKrzysztof Kozlowski - const: msi4 49*edf1701cSKrzysztof Kozlowski - const: msi5 50*edf1701cSKrzysztof Kozlowski - const: msi6 51*edf1701cSKrzysztof Kozlowski - const: msi7 52*edf1701cSKrzysztof Kozlowski - const: global 53*edf1701cSKrzysztof Kozlowski 54*edf1701cSKrzysztof Kozlowski resets: 55*edf1701cSKrzysztof Kozlowski maxItems: 7 56*edf1701cSKrzysztof Kozlowski 57*edf1701cSKrzysztof Kozlowski reset-names: 58*edf1701cSKrzysztof Kozlowski items: 59*edf1701cSKrzysztof Kozlowski - const: pipe 60*edf1701cSKrzysztof Kozlowski - const: sleep 61*edf1701cSKrzysztof Kozlowski - const: sticky # Core sticky reset 62*edf1701cSKrzysztof Kozlowski - const: axi_m # AXI master reset 63*edf1701cSKrzysztof Kozlowski - const: axi_s # AXI slave reset 64*edf1701cSKrzysztof Kozlowski - const: ahb 65*edf1701cSKrzysztof Kozlowski - const: axi_m_sticky # AXI master sticky reset 66*edf1701cSKrzysztof Kozlowski 67*edf1701cSKrzysztof Kozlowskirequired: 68*edf1701cSKrzysztof Kozlowski - resets 69*edf1701cSKrzysztof Kozlowski - reset-names 70*edf1701cSKrzysztof Kozlowski 71*edf1701cSKrzysztof KozlowskiallOf: 72*edf1701cSKrzysztof Kozlowski - $ref: qcom,pcie-common.yaml# 73*edf1701cSKrzysztof Kozlowski 74*edf1701cSKrzysztof KozlowskiunevaluatedProperties: false 75*edf1701cSKrzysztof Kozlowski 76*edf1701cSKrzysztof Kozlowskiexamples: 77*edf1701cSKrzysztof Kozlowski - | 78*edf1701cSKrzysztof Kozlowski #include <dt-bindings/clock/qcom,gcc-ipq8074.h> 79*edf1701cSKrzysztof Kozlowski #include <dt-bindings/gpio/gpio.h> 80*edf1701cSKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 81*edf1701cSKrzysztof Kozlowski 82*edf1701cSKrzysztof Kozlowski pcie@10000000 { 83*edf1701cSKrzysztof Kozlowski compatible = "qcom,pcie-ipq8074"; 84*edf1701cSKrzysztof Kozlowski reg = <0x10000000 0xf1d>, 85*edf1701cSKrzysztof Kozlowski <0x10000f20 0xa8>, 86*edf1701cSKrzysztof Kozlowski <0x00088000 0x2000>, 87*edf1701cSKrzysztof Kozlowski <0x10100000 0x1000>; 88*edf1701cSKrzysztof Kozlowski reg-names = "dbi", "elbi", "parf", "config"; 89*edf1701cSKrzysztof Kozlowski ranges = <0x81000000 0x0 0x00000000 0x10200000 0x0 0x10000>, /* I/O */ 90*edf1701cSKrzysztof Kozlowski <0x82000000 0x0 0x10220000 0x10220000 0x0 0xfde0000>; /* MEM */ 91*edf1701cSKrzysztof Kozlowski 92*edf1701cSKrzysztof Kozlowski device_type = "pci"; 93*edf1701cSKrzysztof Kozlowski linux,pci-domain = <1>; 94*edf1701cSKrzysztof Kozlowski bus-range = <0x00 0xff>; 95*edf1701cSKrzysztof Kozlowski num-lanes = <1>; 96*edf1701cSKrzysztof Kozlowski max-link-speed = <2>; 97*edf1701cSKrzysztof Kozlowski #address-cells = <3>; 98*edf1701cSKrzysztof Kozlowski #size-cells = <2>; 99*edf1701cSKrzysztof Kozlowski 100*edf1701cSKrzysztof Kozlowski clocks = <&gcc GCC_SYS_NOC_PCIE1_AXI_CLK>, 101*edf1701cSKrzysztof Kozlowski <&gcc GCC_PCIE1_AXI_M_CLK>, 102*edf1701cSKrzysztof Kozlowski <&gcc GCC_PCIE1_AXI_S_CLK>, 103*edf1701cSKrzysztof Kozlowski <&gcc GCC_PCIE1_AHB_CLK>, 104*edf1701cSKrzysztof Kozlowski <&gcc GCC_PCIE1_AUX_CLK>; 105*edf1701cSKrzysztof Kozlowski clock-names = "iface", 106*edf1701cSKrzysztof Kozlowski "axi_m", 107*edf1701cSKrzysztof Kozlowski "axi_s", 108*edf1701cSKrzysztof Kozlowski "ahb", 109*edf1701cSKrzysztof Kozlowski "aux"; 110*edf1701cSKrzysztof Kozlowski 111*edf1701cSKrzysztof Kozlowski interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>, 112*edf1701cSKrzysztof Kozlowski <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, 113*edf1701cSKrzysztof Kozlowski <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>, 114*edf1701cSKrzysztof Kozlowski <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 115*edf1701cSKrzysztof Kozlowski <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 116*edf1701cSKrzysztof Kozlowski <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 117*edf1701cSKrzysztof Kozlowski <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, 118*edf1701cSKrzysztof Kozlowski <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, 119*edf1701cSKrzysztof Kozlowski <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 120*edf1701cSKrzysztof Kozlowski interrupt-names = "msi0", 121*edf1701cSKrzysztof Kozlowski "msi1", 122*edf1701cSKrzysztof Kozlowski "msi2", 123*edf1701cSKrzysztof Kozlowski "msi3", 124*edf1701cSKrzysztof Kozlowski "msi4", 125*edf1701cSKrzysztof Kozlowski "msi5", 126*edf1701cSKrzysztof Kozlowski "msi6", 127*edf1701cSKrzysztof Kozlowski "msi7", 128*edf1701cSKrzysztof Kozlowski "global"; 129*edf1701cSKrzysztof Kozlowski #interrupt-cells = <1>; 130*edf1701cSKrzysztof Kozlowski interrupt-map-mask = <0 0 0 0x7>; 131*edf1701cSKrzysztof Kozlowski interrupt-map = <0 0 0 1 &intc 0 GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 132*edf1701cSKrzysztof Kozlowski <0 0 0 2 &intc 0 GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 133*edf1701cSKrzysztof Kozlowski <0 0 0 3 &intc 0 GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 134*edf1701cSKrzysztof Kozlowski <0 0 0 4 &intc 0 GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 135*edf1701cSKrzysztof Kozlowski 136*edf1701cSKrzysztof Kozlowski phys = <&pcie_qmp1>; 137*edf1701cSKrzysztof Kozlowski phy-names = "pciephy"; 138*edf1701cSKrzysztof Kozlowski 139*edf1701cSKrzysztof Kozlowski resets = <&gcc GCC_PCIE1_PIPE_ARES>, 140*edf1701cSKrzysztof Kozlowski <&gcc GCC_PCIE1_SLEEP_ARES>, 141*edf1701cSKrzysztof Kozlowski <&gcc GCC_PCIE1_CORE_STICKY_ARES>, 142*edf1701cSKrzysztof Kozlowski <&gcc GCC_PCIE1_AXI_MASTER_ARES>, 143*edf1701cSKrzysztof Kozlowski <&gcc GCC_PCIE1_AXI_SLAVE_ARES>, 144*edf1701cSKrzysztof Kozlowski <&gcc GCC_PCIE1_AHB_ARES>, 145*edf1701cSKrzysztof Kozlowski <&gcc GCC_PCIE1_AXI_MASTER_STICKY_ARES>; 146*edf1701cSKrzysztof Kozlowski reset-names = "pipe", 147*edf1701cSKrzysztof Kozlowski "sleep", 148*edf1701cSKrzysztof Kozlowski "sticky", 149*edf1701cSKrzysztof Kozlowski "axi_m", 150*edf1701cSKrzysztof Kozlowski "axi_s", 151*edf1701cSKrzysztof Kozlowski "ahb", 152*edf1701cSKrzysztof Kozlowski "axi_m_sticky"; 153*edf1701cSKrzysztof Kozlowski 154*edf1701cSKrzysztof Kozlowski perst-gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; 155*edf1701cSKrzysztof Kozlowski 156*edf1701cSKrzysztof Kozlowski pcie@0 { 157*edf1701cSKrzysztof Kozlowski device_type = "pci"; 158*edf1701cSKrzysztof Kozlowski reg = <0x0 0x0 0x0 0x0 0x0>; 159*edf1701cSKrzysztof Kozlowski bus-range = <0x01 0xff>; 160*edf1701cSKrzysztof Kozlowski 161*edf1701cSKrzysztof Kozlowski #address-cells = <3>; 162*edf1701cSKrzysztof Kozlowski #size-cells = <2>; 163*edf1701cSKrzysztof Kozlowski ranges; 164*edf1701cSKrzysztof Kozlowski }; 165*edf1701cSKrzysztof Kozlowski }; 166