Based on kernel version 7.0. Page generated on 2026-04-23 09:48 EST.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/pci/qcom,pcie-qcs404.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Qualcomm QCS404 PCI Express Root Complex maintainers: - Bjorn Andersson <andersson@kernel.org> - Manivannan Sadhasivam <mani@kernel.org> properties: compatible: enum: - qcom,pcie-qcs404 reg: maxItems: 4 reg-names: items: - const: dbi - const: elbi - const: parf - const: config clocks: maxItems: 4 clock-names: items: - const: iface # AHB clock - const: aux - const: master_bus # AXI Master clock - const: slave_bus # AXI Slave clock interrupts: maxItems: 1 interrupt-names: items: - const: msi resets: maxItems: 6 reset-names: items: - const: axi_m # AXI Master reset - const: axi_s # AXI Slave reset - const: axi_m_sticky # AXI Master Sticky reset - const: pipe_sticky - const: pwr - const: ahb required: - resets - reset-names allOf: - $ref: qcom,pcie-common.yaml# unevaluatedProperties: false examples: - | #include <dt-bindings/clock/qcom,gcc-qcs404.h> #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interrupt-controller/arm-gic.h> pcie@10000000 { compatible = "qcom,pcie-qcs404"; reg = <0x10000000 0xf1d>, <0x10000f20 0xa8>, <0x07780000 0x2000>, <0x10001000 0x2000>; reg-names = "dbi", "elbi", "parf", "config"; ranges = <0x81000000 0x0 0x00000000 0x10003000 0x0 0x00010000>, /* I/O */ <0x82000000 0x0 0x10013000 0x10013000 0x0 0x007ed000>; /* memory */ device_type = "pci"; linux,pci-domain = <0>; bus-range = <0x00 0xff>; num-lanes = <1>; #address-cells = <3>; #size-cells = <2>; clocks = <&gcc GCC_PCIE_0_CFG_AHB_CLK>, <&gcc GCC_PCIE_0_AUX_CLK>, <&gcc GCC_PCIE_0_MSTR_AXI_CLK>, <&gcc GCC_PCIE_0_SLV_AXI_CLK>; clock-names = "iface", "aux", "master_bus", "slave_bus"; interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "msi"; #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 0x7>; interrupt-map = <0 0 0 1 &intc GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ <0 0 0 2 &intc GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ <0 0 0 3 &intc GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ <0 0 0 4 &intc GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ phys = <&pcie_phy>; phy-names = "pciephy"; perst-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; resets = <&gcc GCC_PCIE_0_AXI_MASTER_ARES>, <&gcc GCC_PCIE_0_AXI_SLAVE_ARES>, <&gcc GCC_PCIE_0_AXI_MASTER_STICKY_ARES>, <&gcc GCC_PCIE_0_CORE_STICKY_ARES>, <&gcc GCC_PCIE_0_BCR>, <&gcc GCC_PCIE_0_AHB_ARES>; reset-names = "axi_m", "axi_s", "axi_m_sticky", "pipe_sticky", "pwr", "ahb"; pcie@0 { device_type = "pci"; reg = <0x0 0x0 0x0 0x0 0x0>; bus-range = <0x01 0xff>; #address-cells = <3>; #size-cells = <2>; ranges; }; }; |