1756485bfSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2756485bfSKrzysztof Kozlowski%YAML 1.2 3756485bfSKrzysztof Kozlowski--- 4756485bfSKrzysztof Kozlowski$id: http://devicetree.org/schemas/pci/qcom,pcie-sc7280.yaml# 5756485bfSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6756485bfSKrzysztof Kozlowski 7756485bfSKrzysztof Kozlowskititle: Qualcomm SC7280 PCI Express Root Complex 8756485bfSKrzysztof Kozlowski 9756485bfSKrzysztof Kozlowskimaintainers: 10756485bfSKrzysztof Kozlowski - Bjorn Andersson <andersson@kernel.org> 11756485bfSKrzysztof Kozlowski - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 12756485bfSKrzysztof Kozlowski 13756485bfSKrzysztof Kozlowskidescription: 14756485bfSKrzysztof Kozlowski Qualcomm SC7280 SoC PCIe root complex controller is based on the Synopsys 15756485bfSKrzysztof Kozlowski DesignWare PCIe IP. 16756485bfSKrzysztof Kozlowski 17756485bfSKrzysztof Kozlowskiproperties: 18756485bfSKrzysztof Kozlowski compatible: 19756485bfSKrzysztof Kozlowski const: qcom,pcie-sc7280 20756485bfSKrzysztof Kozlowski 21756485bfSKrzysztof Kozlowski reg: 22756485bfSKrzysztof Kozlowski minItems: 5 23756485bfSKrzysztof Kozlowski maxItems: 6 24756485bfSKrzysztof Kozlowski 25756485bfSKrzysztof Kozlowski reg-names: 26756485bfSKrzysztof Kozlowski minItems: 5 27756485bfSKrzysztof Kozlowski items: 28756485bfSKrzysztof Kozlowski - const: parf # Qualcomm specific registers 29756485bfSKrzysztof Kozlowski - const: dbi # DesignWare PCIe registers 30756485bfSKrzysztof Kozlowski - const: elbi # External local bus interface registers 31756485bfSKrzysztof Kozlowski - const: atu # ATU address space 32756485bfSKrzysztof Kozlowski - const: config # PCIe configuration space 33756485bfSKrzysztof Kozlowski - const: mhi # MHI registers 34756485bfSKrzysztof Kozlowski 35756485bfSKrzysztof Kozlowski clocks: 36756485bfSKrzysztof Kozlowski minItems: 13 37756485bfSKrzysztof Kozlowski maxItems: 13 38756485bfSKrzysztof Kozlowski 39756485bfSKrzysztof Kozlowski clock-names: 40756485bfSKrzysztof Kozlowski items: 41756485bfSKrzysztof Kozlowski - const: pipe # PIPE clock 42756485bfSKrzysztof Kozlowski - const: pipe_mux # PIPE MUX 43756485bfSKrzysztof Kozlowski - const: phy_pipe # PIPE output clock 44756485bfSKrzysztof Kozlowski - const: ref # REFERENCE clock 45756485bfSKrzysztof Kozlowski - const: aux # Auxiliary clock 46756485bfSKrzysztof Kozlowski - const: cfg # Configuration clock 47756485bfSKrzysztof Kozlowski - const: bus_master # Master AXI clock 48756485bfSKrzysztof Kozlowski - const: bus_slave # Slave AXI clock 49756485bfSKrzysztof Kozlowski - const: slave_q2a # Slave Q2A clock 50756485bfSKrzysztof Kozlowski - const: tbu # PCIe TBU clock 51756485bfSKrzysztof Kozlowski - const: ddrss_sf_tbu # PCIe SF TBU clock 52756485bfSKrzysztof Kozlowski - const: aggre0 # Aggre NoC PCIe CENTER SF AXI clock 53756485bfSKrzysztof Kozlowski - const: aggre1 # Aggre NoC PCIe1 AXI clock 54756485bfSKrzysztof Kozlowski 55756485bfSKrzysztof Kozlowski interrupts: 56*364cfd8aSRayyan Ansari minItems: 8 57*364cfd8aSRayyan Ansari maxItems: 8 58756485bfSKrzysztof Kozlowski 59756485bfSKrzysztof Kozlowski interrupt-names: 60756485bfSKrzysztof Kozlowski items: 61*364cfd8aSRayyan Ansari - const: msi0 62*364cfd8aSRayyan Ansari - const: msi1 63*364cfd8aSRayyan Ansari - const: msi2 64*364cfd8aSRayyan Ansari - const: msi3 65*364cfd8aSRayyan Ansari - const: msi4 66*364cfd8aSRayyan Ansari - const: msi5 67*364cfd8aSRayyan Ansari - const: msi6 68*364cfd8aSRayyan Ansari - const: msi7 69756485bfSKrzysztof Kozlowski 70756485bfSKrzysztof Kozlowski resets: 71756485bfSKrzysztof Kozlowski maxItems: 1 72756485bfSKrzysztof Kozlowski 73756485bfSKrzysztof Kozlowski reset-names: 74756485bfSKrzysztof Kozlowski items: 75756485bfSKrzysztof Kozlowski - const: pci 76756485bfSKrzysztof Kozlowski 77756485bfSKrzysztof KozlowskiallOf: 78756485bfSKrzysztof Kozlowski - $ref: qcom,pcie-common.yaml# 79756485bfSKrzysztof Kozlowski 80756485bfSKrzysztof KozlowskiunevaluatedProperties: false 81756485bfSKrzysztof Kozlowski 82756485bfSKrzysztof Kozlowskiexamples: 83756485bfSKrzysztof Kozlowski - | 84756485bfSKrzysztof Kozlowski #include <dt-bindings/clock/qcom,gcc-sc7280.h> 85756485bfSKrzysztof Kozlowski #include <dt-bindings/clock/qcom,rpmh.h> 86756485bfSKrzysztof Kozlowski #include <dt-bindings/gpio/gpio.h> 87756485bfSKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 88756485bfSKrzysztof Kozlowski 89756485bfSKrzysztof Kozlowski soc { 90756485bfSKrzysztof Kozlowski #address-cells = <2>; 91756485bfSKrzysztof Kozlowski #size-cells = <2>; 92756485bfSKrzysztof Kozlowski 93756485bfSKrzysztof Kozlowski pcie@1c08000 { 94756485bfSKrzysztof Kozlowski compatible = "qcom,pcie-sc7280"; 95756485bfSKrzysztof Kozlowski reg = <0 0x01c08000 0 0x3000>, 96756485bfSKrzysztof Kozlowski <0 0x40000000 0 0xf1d>, 97756485bfSKrzysztof Kozlowski <0 0x40000f20 0 0xa8>, 98756485bfSKrzysztof Kozlowski <0 0x40001000 0 0x1000>, 99756485bfSKrzysztof Kozlowski <0 0x40100000 0 0x100000>; 100756485bfSKrzysztof Kozlowski reg-names = "parf", "dbi", "elbi", "atu", "config"; 101756485bfSKrzysztof Kozlowski ranges = <0x01000000 0x0 0x00000000 0x0 0x40200000 0x0 0x100000>, 102756485bfSKrzysztof Kozlowski <0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1fd00000>; 103756485bfSKrzysztof Kozlowski 104756485bfSKrzysztof Kozlowski bus-range = <0x00 0xff>; 105756485bfSKrzysztof Kozlowski device_type = "pci"; 106756485bfSKrzysztof Kozlowski linux,pci-domain = <1>; 107756485bfSKrzysztof Kozlowski num-lanes = <2>; 108756485bfSKrzysztof Kozlowski 109756485bfSKrzysztof Kozlowski #address-cells = <3>; 110756485bfSKrzysztof Kozlowski #size-cells = <2>; 111756485bfSKrzysztof Kozlowski 112756485bfSKrzysztof Kozlowski assigned-clocks = <&gcc GCC_PCIE_1_AUX_CLK>; 113756485bfSKrzysztof Kozlowski assigned-clock-rates = <19200000>; 114756485bfSKrzysztof Kozlowski 115756485bfSKrzysztof Kozlowski clocks = <&gcc GCC_PCIE_1_PIPE_CLK>, 116756485bfSKrzysztof Kozlowski <&gcc GCC_PCIE_1_PIPE_CLK_SRC>, 117756485bfSKrzysztof Kozlowski <&pcie1_phy>, 118756485bfSKrzysztof Kozlowski <&rpmhcc RPMH_CXO_CLK>, 119756485bfSKrzysztof Kozlowski <&gcc GCC_PCIE_1_AUX_CLK>, 120756485bfSKrzysztof Kozlowski <&gcc GCC_PCIE_1_CFG_AHB_CLK>, 121756485bfSKrzysztof Kozlowski <&gcc GCC_PCIE_1_MSTR_AXI_CLK>, 122756485bfSKrzysztof Kozlowski <&gcc GCC_PCIE_1_SLV_AXI_CLK>, 123756485bfSKrzysztof Kozlowski <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>, 124756485bfSKrzysztof Kozlowski <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>, 125756485bfSKrzysztof Kozlowski <&gcc GCC_DDRSS_PCIE_SF_CLK>, 126756485bfSKrzysztof Kozlowski <&gcc GCC_AGGRE_NOC_PCIE_CENTER_SF_AXI_CLK>, 127756485bfSKrzysztof Kozlowski <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>; 128756485bfSKrzysztof Kozlowski 129756485bfSKrzysztof Kozlowski clock-names = "pipe", 130756485bfSKrzysztof Kozlowski "pipe_mux", 131756485bfSKrzysztof Kozlowski "phy_pipe", 132756485bfSKrzysztof Kozlowski "ref", 133756485bfSKrzysztof Kozlowski "aux", 134756485bfSKrzysztof Kozlowski "cfg", 135756485bfSKrzysztof Kozlowski "bus_master", 136756485bfSKrzysztof Kozlowski "bus_slave", 137756485bfSKrzysztof Kozlowski "slave_q2a", 138756485bfSKrzysztof Kozlowski "tbu", 139756485bfSKrzysztof Kozlowski "ddrss_sf_tbu", 140756485bfSKrzysztof Kozlowski "aggre0", 141756485bfSKrzysztof Kozlowski "aggre1"; 142756485bfSKrzysztof Kozlowski 143756485bfSKrzysztof Kozlowski dma-coherent; 144756485bfSKrzysztof Kozlowski 145*364cfd8aSRayyan Ansari interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>, 146*364cfd8aSRayyan Ansari <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>, 147*364cfd8aSRayyan Ansari <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>, 148*364cfd8aSRayyan Ansari <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>, 149*364cfd8aSRayyan Ansari <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>, 150*364cfd8aSRayyan Ansari <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>, 151*364cfd8aSRayyan Ansari <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>, 152*364cfd8aSRayyan Ansari <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>; 153*364cfd8aSRayyan Ansari interrupt-names = "msi0", "msi1", "msi2", "msi3", 154*364cfd8aSRayyan Ansari "msi4", "msi5", "msi6", "msi7"; 155756485bfSKrzysztof Kozlowski #interrupt-cells = <1>; 156756485bfSKrzysztof Kozlowski interrupt-map-mask = <0 0 0 0x7>; 157756485bfSKrzysztof Kozlowski interrupt-map = <0 0 0 1 &intc 0 0 0 434 IRQ_TYPE_LEVEL_HIGH>, 158756485bfSKrzysztof Kozlowski <0 0 0 2 &intc 0 0 0 435 IRQ_TYPE_LEVEL_HIGH>, 159756485bfSKrzysztof Kozlowski <0 0 0 3 &intc 0 0 0 438 IRQ_TYPE_LEVEL_HIGH>, 160756485bfSKrzysztof Kozlowski <0 0 0 4 &intc 0 0 0 439 IRQ_TYPE_LEVEL_HIGH>; 161756485bfSKrzysztof Kozlowski 162756485bfSKrzysztof Kozlowski iommu-map = <0x0 &apps_smmu 0x1c80 0x1>, 163756485bfSKrzysztof Kozlowski <0x100 &apps_smmu 0x1c81 0x1>; 164756485bfSKrzysztof Kozlowski 165756485bfSKrzysztof Kozlowski phys = <&pcie1_phy>; 166756485bfSKrzysztof Kozlowski phy-names = "pciephy"; 167756485bfSKrzysztof Kozlowski 168756485bfSKrzysztof Kozlowski pinctrl-names = "default"; 169756485bfSKrzysztof Kozlowski pinctrl-0 = <&pcie1_clkreq_n>; 170756485bfSKrzysztof Kozlowski 171756485bfSKrzysztof Kozlowski power-domains = <&gcc GCC_PCIE_1_GDSC>; 172756485bfSKrzysztof Kozlowski 173756485bfSKrzysztof Kozlowski resets = <&gcc GCC_PCIE_1_BCR>; 174756485bfSKrzysztof Kozlowski reset-names = "pci"; 175756485bfSKrzysztof Kozlowski 176756485bfSKrzysztof Kozlowski perst-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; 177756485bfSKrzysztof Kozlowski vddpe-3v3-supply = <&pp3300_ssd>; 178756485bfSKrzysztof Kozlowski }; 179756485bfSKrzysztof Kozlowski }; 180