1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/pci/qcom,pcie-ep.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm PCIe Endpoint Controller
10 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
16 - qcom,sa8775p-pcie-ep
20 - const: qcom,sdx65-pcie-ep
21 - const: qcom,sdx55-pcie-ep
26 - description: Qualcomm-specific PARF configuration registers
27 - description: DesignWare PCIe registers
28 - description: External local bus interface registers
29 - description: Address Translation Unit (ATU) registers
30 - description: Memory region used to map remote RC address space
31 - description: BAR memory region
32 - description: DMA register space
54 description: Reference to a syscon representing TCSR followed by the two
55 offsets within syscon for Perst enable and Perst separation
57 $ref: /schemas/types.yaml#/definitions/phandle-array
60 - description: Syscon to TCSR system registers
61 - description: Perst enable offset
62 - description: Perst separation enable offset
67 - description: PCIe Global interrupt
68 - description: PCIe Doorbell interrupt
69 - description: DMA interrupt
79 description: GPIO used as PERST# input signal
83 description: GPIO used as WAKE# output signal
143 - description: PCIe Auxiliary clock
144 - description: PCIe CFG AHB clock
145 - description: PCIe Master AXI clock
146 - description: PCIe Slave AXI clock
147 - description: PCIe Slave Q2A AXI clock
148 - description: PCIe Sleep clock
149 - description: PCIe Reference clock
169 - qcom,sm8450-pcie-ep
178 - description: PCIe Auxiliary clock
179 - description: PCIe CFG AHB clock
180 - description: PCIe Master AXI clock
181 - description: PCIe Slave AXI clock
182 - description: PCIe Slave Q2A AXI clock
183 - description: PCIe Reference clock
184 - description: PCIe DDRSS SF TBU clock
185 - description: PCIe AGGRE NOC AXI clock
194 - const: ddrss_sf_tbu
195 - const: aggre_noc_axi
206 - qcom,sa8775p-pcie-ep
217 - description: PCIe Auxiliary clock
218 - description: PCIe CFG AHB clock
219 - description: PCIe Master AXI clock
220 - description: PCIe Slave AXI clock
221 - description: PCIe Slave Q2A AXI clock
236 unevaluatedProperties: false
240 #include <dt-bindings/clock/qcom,gcc-sdx55.h>
241 #include <dt-bindings/gpio/gpio.h>
242 #include <dt-bindings/interconnect/qcom,sdx55.h>
243 #include <dt-bindings/interrupt-controller/arm-gic.h>
245 pcie_ep: pcie-ep@1c00000 {
246 compatible = "qcom,sdx55-pcie-ep";
247 reg = <0x01c00000 0x3000>,
253 reg-names = "parf", "dbi", "elbi", "atu", "addr_space",
256 clocks = <&gcc GCC_PCIE_AUX_CLK>,
257 <&gcc GCC_PCIE_CFG_AHB_CLK>,
258 <&gcc GCC_PCIE_MSTR_AXI_CLK>,
259 <&gcc GCC_PCIE_SLV_AXI_CLK>,
260 <&gcc GCC_PCIE_SLV_Q2A_AXI_CLK>,
261 <&gcc GCC_PCIE_SLEEP_CLK>,
262 <&gcc GCC_PCIE_0_CLKREF_CLK>;
263 clock-names = "aux", "cfg", "bus_master", "bus_slave",
264 "slave_q2a", "sleep", "ref";
266 qcom,perst-regs = <&tcsr 0xb258 0xb270>;
268 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
269 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
270 interrupt-names = "global", "doorbell";
271 interconnects = <&system_noc MASTER_PCIE &mc_virt SLAVE_EBI_CH0>,
272 <&mem_noc MASTER_AMPSS_M0 &system_noc SLAVE_PCIE_0>;
273 interconnect-names = "pcie-mem", "cpu-pcie";
274 reset-gpios = <&tlmm 57 GPIO_ACTIVE_LOW>;
275 wake-gpios = <&tlmm 53 GPIO_ACTIVE_LOW>;
276 resets = <&gcc GCC_PCIE_BCR>;
277 reset-names = "core";
278 power-domains = <&gcc PCIE_GDSC>;
279 phys = <&pcie0_lane>;
280 phy-names = "pciephy";
281 max-link-speed = <3>;
283 linux,pci-domain = <0>;