1*769f6826SKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*769f6826SKrzysztof Kozlowski%YAML 1.2 3*769f6826SKrzysztof Kozlowski--- 4*769f6826SKrzysztof Kozlowski$id: http://devicetree.org/schemas/pci/qcom,pcie-ipq4019.yaml# 5*769f6826SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6*769f6826SKrzysztof Kozlowski 7*769f6826SKrzysztof Kozlowskititle: Qualcomm IPQ4019 PCI Express Root Complex 8*769f6826SKrzysztof Kozlowski 9*769f6826SKrzysztof Kozlowskimaintainers: 10*769f6826SKrzysztof Kozlowski - Bjorn Andersson <andersson@kernel.org> 11*769f6826SKrzysztof Kozlowski - Manivannan Sadhasivam <mani@kernel.org> 12*769f6826SKrzysztof Kozlowski 13*769f6826SKrzysztof Kozlowskiproperties: 14*769f6826SKrzysztof Kozlowski compatible: 15*769f6826SKrzysztof Kozlowski enum: 16*769f6826SKrzysztof Kozlowski - qcom,pcie-ipq4019 17*769f6826SKrzysztof Kozlowski 18*769f6826SKrzysztof Kozlowski reg: 19*769f6826SKrzysztof Kozlowski maxItems: 4 20*769f6826SKrzysztof Kozlowski 21*769f6826SKrzysztof Kozlowski reg-names: 22*769f6826SKrzysztof Kozlowski items: 23*769f6826SKrzysztof Kozlowski - const: dbi 24*769f6826SKrzysztof Kozlowski - const: elbi 25*769f6826SKrzysztof Kozlowski - const: parf 26*769f6826SKrzysztof Kozlowski - const: config 27*769f6826SKrzysztof Kozlowski 28*769f6826SKrzysztof Kozlowski clocks: 29*769f6826SKrzysztof Kozlowski maxItems: 3 30*769f6826SKrzysztof Kozlowski 31*769f6826SKrzysztof Kozlowski clock-names: 32*769f6826SKrzysztof Kozlowski items: 33*769f6826SKrzysztof Kozlowski - const: aux 34*769f6826SKrzysztof Kozlowski - const: master_bus # Master AXI clock 35*769f6826SKrzysztof Kozlowski - const: slave_bus # Slave AXI clock 36*769f6826SKrzysztof Kozlowski 37*769f6826SKrzysztof Kozlowski interrupts: 38*769f6826SKrzysztof Kozlowski maxItems: 1 39*769f6826SKrzysztof Kozlowski 40*769f6826SKrzysztof Kozlowski interrupt-names: 41*769f6826SKrzysztof Kozlowski items: 42*769f6826SKrzysztof Kozlowski - const: msi 43*769f6826SKrzysztof Kozlowski 44*769f6826SKrzysztof Kozlowski resets: 45*769f6826SKrzysztof Kozlowski maxItems: 12 46*769f6826SKrzysztof Kozlowski 47*769f6826SKrzysztof Kozlowski reset-names: 48*769f6826SKrzysztof Kozlowski items: 49*769f6826SKrzysztof Kozlowski - const: axi_m # AXI master reset 50*769f6826SKrzysztof Kozlowski - const: axi_s # AXI slave reset 51*769f6826SKrzysztof Kozlowski - const: pipe 52*769f6826SKrzysztof Kozlowski - const: axi_m_vmid 53*769f6826SKrzysztof Kozlowski - const: axi_s_xpu 54*769f6826SKrzysztof Kozlowski - const: parf 55*769f6826SKrzysztof Kozlowski - const: phy 56*769f6826SKrzysztof Kozlowski - const: axi_m_sticky # AXI master sticky reset 57*769f6826SKrzysztof Kozlowski - const: pipe_sticky 58*769f6826SKrzysztof Kozlowski - const: pwr 59*769f6826SKrzysztof Kozlowski - const: ahb 60*769f6826SKrzysztof Kozlowski - const: phy_ahb 61*769f6826SKrzysztof Kozlowski 62*769f6826SKrzysztof Kozlowskirequired: 63*769f6826SKrzysztof Kozlowski - resets 64*769f6826SKrzysztof Kozlowski - reset-names 65*769f6826SKrzysztof Kozlowski 66*769f6826SKrzysztof KozlowskiallOf: 67*769f6826SKrzysztof Kozlowski - $ref: qcom,pcie-common.yaml# 68*769f6826SKrzysztof Kozlowski 69*769f6826SKrzysztof KozlowskiunevaluatedProperties: false 70*769f6826SKrzysztof Kozlowski 71*769f6826SKrzysztof Kozlowskiexamples: 72*769f6826SKrzysztof Kozlowski - | 73*769f6826SKrzysztof Kozlowski #include <dt-bindings/clock/qcom,gcc-ipq4019.h> 74*769f6826SKrzysztof Kozlowski #include <dt-bindings/gpio/gpio.h> 75*769f6826SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 76*769f6826SKrzysztof Kozlowski 77*769f6826SKrzysztof Kozlowski pcie@40000000 { 78*769f6826SKrzysztof Kozlowski compatible = "qcom,pcie-ipq4019"; 79*769f6826SKrzysztof Kozlowski reg = <0x40000000 0xf1d>, 80*769f6826SKrzysztof Kozlowski <0x40000f20 0xa8>, 81*769f6826SKrzysztof Kozlowski <0x80000 0x2000>, 82*769f6826SKrzysztof Kozlowski <0x40100000 0x1000>; 83*769f6826SKrzysztof Kozlowski reg-names = "dbi", "elbi", "parf", "config"; 84*769f6826SKrzysztof Kozlowski ranges = <0x81000000 0x0 0x00000000 0x40200000 0x0 0x00100000>, 85*769f6826SKrzysztof Kozlowski <0x82000000 0x0 0x40300000 0x40300000 0x0 0x00d00000>; 86*769f6826SKrzysztof Kozlowski 87*769f6826SKrzysztof Kozlowski device_type = "pci"; 88*769f6826SKrzysztof Kozlowski linux,pci-domain = <0>; 89*769f6826SKrzysztof Kozlowski bus-range = <0x00 0xff>; 90*769f6826SKrzysztof Kozlowski num-lanes = <1>; 91*769f6826SKrzysztof Kozlowski #address-cells = <3>; 92*769f6826SKrzysztof Kozlowski #size-cells = <2>; 93*769f6826SKrzysztof Kozlowski 94*769f6826SKrzysztof Kozlowski clocks = <&gcc GCC_PCIE_AHB_CLK>, 95*769f6826SKrzysztof Kozlowski <&gcc GCC_PCIE_AXI_M_CLK>, 96*769f6826SKrzysztof Kozlowski <&gcc GCC_PCIE_AXI_S_CLK>; 97*769f6826SKrzysztof Kozlowski clock-names = "aux", 98*769f6826SKrzysztof Kozlowski "master_bus", 99*769f6826SKrzysztof Kozlowski "slave_bus"; 100*769f6826SKrzysztof Kozlowski 101*769f6826SKrzysztof Kozlowski interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; 102*769f6826SKrzysztof Kozlowski interrupt-names = "msi"; 103*769f6826SKrzysztof Kozlowski #interrupt-cells = <1>; 104*769f6826SKrzysztof Kozlowski interrupt-map-mask = <0 0 0 0x7>; 105*769f6826SKrzysztof Kozlowski interrupt-map = <0 0 0 1 &intc GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 106*769f6826SKrzysztof Kozlowski <0 0 0 2 &intc GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 107*769f6826SKrzysztof Kozlowski <0 0 0 3 &intc GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 108*769f6826SKrzysztof Kozlowski <0 0 0 4 &intc GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 109*769f6826SKrzysztof Kozlowski 110*769f6826SKrzysztof Kozlowski resets = <&gcc PCIE_AXI_M_ARES>, 111*769f6826SKrzysztof Kozlowski <&gcc PCIE_AXI_S_ARES>, 112*769f6826SKrzysztof Kozlowski <&gcc PCIE_PIPE_ARES>, 113*769f6826SKrzysztof Kozlowski <&gcc PCIE_AXI_M_VMIDMT_ARES>, 114*769f6826SKrzysztof Kozlowski <&gcc PCIE_AXI_S_XPU_ARES>, 115*769f6826SKrzysztof Kozlowski <&gcc PCIE_PARF_XPU_ARES>, 116*769f6826SKrzysztof Kozlowski <&gcc PCIE_PHY_ARES>, 117*769f6826SKrzysztof Kozlowski <&gcc PCIE_AXI_M_STICKY_ARES>, 118*769f6826SKrzysztof Kozlowski <&gcc PCIE_PIPE_STICKY_ARES>, 119*769f6826SKrzysztof Kozlowski <&gcc PCIE_PWR_ARES>, 120*769f6826SKrzysztof Kozlowski <&gcc PCIE_AHB_ARES>, 121*769f6826SKrzysztof Kozlowski <&gcc PCIE_PHY_AHB_ARES>; 122*769f6826SKrzysztof Kozlowski reset-names = "axi_m", 123*769f6826SKrzysztof Kozlowski "axi_s", 124*769f6826SKrzysztof Kozlowski "pipe", 125*769f6826SKrzysztof Kozlowski "axi_m_vmid", 126*769f6826SKrzysztof Kozlowski "axi_s_xpu", 127*769f6826SKrzysztof Kozlowski "parf", 128*769f6826SKrzysztof Kozlowski "phy", 129*769f6826SKrzysztof Kozlowski "axi_m_sticky", 130*769f6826SKrzysztof Kozlowski "pipe_sticky", 131*769f6826SKrzysztof Kozlowski "pwr", 132*769f6826SKrzysztof Kozlowski "ahb", 133*769f6826SKrzysztof Kozlowski "phy_ahb"; 134*769f6826SKrzysztof Kozlowski 135*769f6826SKrzysztof Kozlowski perst-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 136*769f6826SKrzysztof Kozlowski 137*769f6826SKrzysztof Kozlowski pcie@0 { 138*769f6826SKrzysztof Kozlowski device_type = "pci"; 139*769f6826SKrzysztof Kozlowski reg = <0x0 0x0 0x0 0x0 0x0>; 140*769f6826SKrzysztof Kozlowski bus-range = <0x01 0xff>; 141*769f6826SKrzysztof Kozlowski 142*769f6826SKrzysztof Kozlowski #address-cells = <3>; 143*769f6826SKrzysztof Kozlowski #size-cells = <2>; 144*769f6826SKrzysztof Kozlowski ranges; 145*769f6826SKrzysztof Kozlowski }; 146*769f6826SKrzysztof Kozlowski }; 147