1*b673d06eSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*b673d06eSKrzysztof Kozlowski%YAML 1.2 3*b673d06eSKrzysztof Kozlowski--- 4*b673d06eSKrzysztof Kozlowski$id: http://devicetree.org/schemas/pci/qcom,pcie-apq8064.yaml# 5*b673d06eSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6*b673d06eSKrzysztof Kozlowski 7*b673d06eSKrzysztof Kozlowskititle: Qualcomm APQ8064/IPQ8064 PCI Express Root Complex 8*b673d06eSKrzysztof Kozlowski 9*b673d06eSKrzysztof Kozlowskimaintainers: 10*b673d06eSKrzysztof Kozlowski - Bjorn Andersson <andersson@kernel.org> 11*b673d06eSKrzysztof Kozlowski - Manivannan Sadhasivam <mani@kernel.org> 12*b673d06eSKrzysztof Kozlowski 13*b673d06eSKrzysztof Kozlowskiproperties: 14*b673d06eSKrzysztof Kozlowski compatible: 15*b673d06eSKrzysztof Kozlowski enum: 16*b673d06eSKrzysztof Kozlowski - qcom,pcie-apq8064 17*b673d06eSKrzysztof Kozlowski - qcom,pcie-ipq8064 18*b673d06eSKrzysztof Kozlowski - qcom,pcie-ipq8064-v2 19*b673d06eSKrzysztof Kozlowski 20*b673d06eSKrzysztof Kozlowski reg: 21*b673d06eSKrzysztof Kozlowski maxItems: 4 22*b673d06eSKrzysztof Kozlowski 23*b673d06eSKrzysztof Kozlowski reg-names: 24*b673d06eSKrzysztof Kozlowski items: 25*b673d06eSKrzysztof Kozlowski - const: dbi 26*b673d06eSKrzysztof Kozlowski - const: elbi 27*b673d06eSKrzysztof Kozlowski - const: parf 28*b673d06eSKrzysztof Kozlowski - const: config 29*b673d06eSKrzysztof Kozlowski 30*b673d06eSKrzysztof Kozlowski clocks: 31*b673d06eSKrzysztof Kozlowski minItems: 3 32*b673d06eSKrzysztof Kozlowski maxItems: 5 33*b673d06eSKrzysztof Kozlowski 34*b673d06eSKrzysztof Kozlowski clock-names: 35*b673d06eSKrzysztof Kozlowski minItems: 3 36*b673d06eSKrzysztof Kozlowski items: 37*b673d06eSKrzysztof Kozlowski - const: core # Clocks the pcie hw block 38*b673d06eSKrzysztof Kozlowski - const: iface # Configuration AHB clock 39*b673d06eSKrzysztof Kozlowski - const: phy 40*b673d06eSKrzysztof Kozlowski - const: aux 41*b673d06eSKrzysztof Kozlowski - const: ref 42*b673d06eSKrzysztof Kozlowski 43*b673d06eSKrzysztof Kozlowski interrupts: 44*b673d06eSKrzysztof Kozlowski maxItems: 1 45*b673d06eSKrzysztof Kozlowski 46*b673d06eSKrzysztof Kozlowski interrupt-names: 47*b673d06eSKrzysztof Kozlowski items: 48*b673d06eSKrzysztof Kozlowski - const: msi 49*b673d06eSKrzysztof Kozlowski 50*b673d06eSKrzysztof Kozlowski resets: 51*b673d06eSKrzysztof Kozlowski minItems: 5 52*b673d06eSKrzysztof Kozlowski maxItems: 6 53*b673d06eSKrzysztof Kozlowski 54*b673d06eSKrzysztof Kozlowski reset-names: 55*b673d06eSKrzysztof Kozlowski minItems: 5 56*b673d06eSKrzysztof Kozlowski items: 57*b673d06eSKrzysztof Kozlowski - const: axi 58*b673d06eSKrzysztof Kozlowski - const: ahb 59*b673d06eSKrzysztof Kozlowski - const: por 60*b673d06eSKrzysztof Kozlowski - const: pci 61*b673d06eSKrzysztof Kozlowski - const: phy 62*b673d06eSKrzysztof Kozlowski - const: ext 63*b673d06eSKrzysztof Kozlowski 64*b673d06eSKrzysztof Kozlowski vdda-supply: 65*b673d06eSKrzysztof Kozlowski description: A phandle to the core analog power supply 66*b673d06eSKrzysztof Kozlowski 67*b673d06eSKrzysztof Kozlowski vdda_phy-supply: 68*b673d06eSKrzysztof Kozlowski description: A phandle to the core analog power supply for PHY 69*b673d06eSKrzysztof Kozlowski 70*b673d06eSKrzysztof Kozlowski vdda_refclk-supply: 71*b673d06eSKrzysztof Kozlowski description: A phandle to the core analog power supply for IC which generates reference clock 72*b673d06eSKrzysztof Kozlowski 73*b673d06eSKrzysztof Kozlowskirequired: 74*b673d06eSKrzysztof Kozlowski - resets 75*b673d06eSKrzysztof Kozlowski - reset-names 76*b673d06eSKrzysztof Kozlowski - vdda-supply 77*b673d06eSKrzysztof Kozlowski - vdda_phy-supply 78*b673d06eSKrzysztof Kozlowski - vdda_refclk-supply 79*b673d06eSKrzysztof Kozlowski 80*b673d06eSKrzysztof KozlowskiallOf: 81*b673d06eSKrzysztof Kozlowski - $ref: qcom,pcie-common.yaml# 82*b673d06eSKrzysztof Kozlowski - if: 83*b673d06eSKrzysztof Kozlowski properties: 84*b673d06eSKrzysztof Kozlowski compatible: 85*b673d06eSKrzysztof Kozlowski contains: 86*b673d06eSKrzysztof Kozlowski enum: 87*b673d06eSKrzysztof Kozlowski - qcom,pcie-apq8064 88*b673d06eSKrzysztof Kozlowski then: 89*b673d06eSKrzysztof Kozlowski properties: 90*b673d06eSKrzysztof Kozlowski clocks: 91*b673d06eSKrzysztof Kozlowski maxItems: 3 92*b673d06eSKrzysztof Kozlowski clock-names: 93*b673d06eSKrzysztof Kozlowski maxItems: 3 94*b673d06eSKrzysztof Kozlowski resets: 95*b673d06eSKrzysztof Kozlowski maxItems: 5 96*b673d06eSKrzysztof Kozlowski reset-names: 97*b673d06eSKrzysztof Kozlowski maxItems: 5 98*b673d06eSKrzysztof Kozlowski else: 99*b673d06eSKrzysztof Kozlowski properties: 100*b673d06eSKrzysztof Kozlowski clocks: 101*b673d06eSKrzysztof Kozlowski minItems: 5 102*b673d06eSKrzysztof Kozlowski clock-names: 103*b673d06eSKrzysztof Kozlowski minItems: 5 104*b673d06eSKrzysztof Kozlowski resets: 105*b673d06eSKrzysztof Kozlowski minItems: 6 106*b673d06eSKrzysztof Kozlowski reset-names: 107*b673d06eSKrzysztof Kozlowski minItems: 6 108*b673d06eSKrzysztof Kozlowski 109*b673d06eSKrzysztof KozlowskiunevaluatedProperties: false 110*b673d06eSKrzysztof Kozlowski 111*b673d06eSKrzysztof Kozlowskiexamples: 112*b673d06eSKrzysztof Kozlowski - | 113*b673d06eSKrzysztof Kozlowski #include <dt-bindings/clock/qcom,gcc-msm8960.h> 114*b673d06eSKrzysztof Kozlowski #include <dt-bindings/gpio/gpio.h> 115*b673d06eSKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 116*b673d06eSKrzysztof Kozlowski #include <dt-bindings/reset/qcom,gcc-msm8960.h> 117*b673d06eSKrzysztof Kozlowski 118*b673d06eSKrzysztof Kozlowski pcie@1b500000 { 119*b673d06eSKrzysztof Kozlowski compatible = "qcom,pcie-apq8064"; 120*b673d06eSKrzysztof Kozlowski reg = <0x1b500000 0x1000>, 121*b673d06eSKrzysztof Kozlowski <0x1b502000 0x80>, 122*b673d06eSKrzysztof Kozlowski <0x1b600000 0x100>, 123*b673d06eSKrzysztof Kozlowski <0x0ff00000 0x100000>; 124*b673d06eSKrzysztof Kozlowski reg-names = "dbi", "elbi", "parf", "config"; 125*b673d06eSKrzysztof Kozlowski ranges = <0x81000000 0x0 0x00000000 0x0fe00000 0x0 0x00100000>, /* I/O */ 126*b673d06eSKrzysztof Kozlowski <0x82000000 0x0 0x08000000 0x08000000 0x0 0x07e00000>; /* mem */ 127*b673d06eSKrzysztof Kozlowski 128*b673d06eSKrzysztof Kozlowski device_type = "pci"; 129*b673d06eSKrzysztof Kozlowski linux,pci-domain = <0>; 130*b673d06eSKrzysztof Kozlowski bus-range = <0x00 0xff>; 131*b673d06eSKrzysztof Kozlowski num-lanes = <1>; 132*b673d06eSKrzysztof Kozlowski #address-cells = <3>; 133*b673d06eSKrzysztof Kozlowski #size-cells = <2>; 134*b673d06eSKrzysztof Kozlowski 135*b673d06eSKrzysztof Kozlowski clocks = <&gcc PCIE_A_CLK>, 136*b673d06eSKrzysztof Kozlowski <&gcc PCIE_H_CLK>, 137*b673d06eSKrzysztof Kozlowski <&gcc PCIE_PHY_REF_CLK>; 138*b673d06eSKrzysztof Kozlowski clock-names = "core", "iface", "phy"; 139*b673d06eSKrzysztof Kozlowski 140*b673d06eSKrzysztof Kozlowski interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 141*b673d06eSKrzysztof Kozlowski interrupt-names = "msi"; 142*b673d06eSKrzysztof Kozlowski #interrupt-cells = <1>; 143*b673d06eSKrzysztof Kozlowski interrupt-map-mask = <0 0 0 0x7>; 144*b673d06eSKrzysztof Kozlowski interrupt-map = <0 0 0 1 &intc GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 145*b673d06eSKrzysztof Kozlowski <0 0 0 2 &intc GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 146*b673d06eSKrzysztof Kozlowski <0 0 0 3 &intc GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 147*b673d06eSKrzysztof Kozlowski <0 0 0 4 &intc GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 148*b673d06eSKrzysztof Kozlowski 149*b673d06eSKrzysztof Kozlowski resets = <&gcc PCIE_ACLK_RESET>, 150*b673d06eSKrzysztof Kozlowski <&gcc PCIE_HCLK_RESET>, 151*b673d06eSKrzysztof Kozlowski <&gcc PCIE_POR_RESET>, 152*b673d06eSKrzysztof Kozlowski <&gcc PCIE_PCI_RESET>, 153*b673d06eSKrzysztof Kozlowski <&gcc PCIE_PHY_RESET>; 154*b673d06eSKrzysztof Kozlowski reset-names = "axi", "ahb", "por", "pci", "phy"; 155*b673d06eSKrzysztof Kozlowski 156*b673d06eSKrzysztof Kozlowski perst-gpios = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>; 157*b673d06eSKrzysztof Kozlowski vdda-supply = <&pm8921_s3>; 158*b673d06eSKrzysztof Kozlowski vdda_phy-supply = <&pm8921_lvs6>; 159*b673d06eSKrzysztof Kozlowski vdda_refclk-supply = <&v3p3_fixed>; 160*b673d06eSKrzysztof Kozlowski 161*b673d06eSKrzysztof Kozlowski pcie@0 { 162*b673d06eSKrzysztof Kozlowski device_type = "pci"; 163*b673d06eSKrzysztof Kozlowski reg = <0x0 0x0 0x0 0x0 0x0>; 164*b673d06eSKrzysztof Kozlowski bus-range = <0x01 0xff>; 165*b673d06eSKrzysztof Kozlowski 166*b673d06eSKrzysztof Kozlowski #address-cells = <3>; 167*b673d06eSKrzysztof Kozlowski #size-cells = <2>; 168*b673d06eSKrzysztof Kozlowski ranges; 169*b673d06eSKrzysztof Kozlowski }; 170*b673d06eSKrzysztof Kozlowski }; 171