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 binding
10 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
20 - description: Qualcomm-specific PARF configuration registers
21 - description: DesignWare PCIe registers
22 - description: External local bus interface registers
23 - description: Address Translation Unit (ATU) registers
24 - description: Memory region used to map remote RC address space
25 - description: BAR memory region
45 description: Reference to a syscon representing TCSR followed by the two
46 offsets within syscon for Perst enable and Perst separation
48 $ref: "/schemas/types.yaml#/definitions/phandle-array"
55 - description: PCIe Global interrupt
56 - description: PCIe Doorbell interrupt
64 description: GPIO used as PERST# input signal
68 description: GPIO used as WAKE# output signal
114 - description: PCIe Auxiliary clock
115 - description: PCIe CFG AHB clock
116 - description: PCIe Master AXI clock
117 - description: PCIe Slave AXI clock
118 - description: PCIe Slave Q2A AXI clock
119 - description: PCIe Sleep clock
120 - description: PCIe Reference clock
136 - qcom,sm8450-pcie-ep
141 - description: PCIe Auxiliary clock
142 - description: PCIe CFG AHB clock
143 - description: PCIe Master AXI clock
144 - description: PCIe Slave AXI clock
145 - description: PCIe Slave Q2A AXI clock
146 - description: PCIe Reference clock
147 - description: PCIe DDRSS SF TBU clock
148 - description: PCIe AGGRE NOC AXI clock
157 - const: ddrss_sf_tbu
158 - const: aggre_noc_axi
160 unevaluatedProperties: false
164 #include <dt-bindings/clock/qcom,gcc-sdx55.h>
165 #include <dt-bindings/gpio/gpio.h>
166 #include <dt-bindings/interrupt-controller/arm-gic.h>
167 pcie_ep: pcie-ep@40000000 {
168 compatible = "qcom,sdx55-pcie-ep";
169 reg = <0x01c00000 0x3000>,
175 reg-names = "parf", "dbi", "elbi", "atu", "addr_space",
178 clocks = <&gcc GCC_PCIE_AUX_CLK>,
179 <&gcc GCC_PCIE_CFG_AHB_CLK>,
180 <&gcc GCC_PCIE_MSTR_AXI_CLK>,
181 <&gcc GCC_PCIE_SLV_AXI_CLK>,
182 <&gcc GCC_PCIE_SLV_Q2A_AXI_CLK>,
183 <&gcc GCC_PCIE_SLEEP_CLK>,
184 <&gcc GCC_PCIE_0_CLKREF_CLK>;
185 clock-names = "aux", "cfg", "bus_master", "bus_slave",
186 "slave_q2a", "sleep", "ref";
188 qcom,perst-regs = <&tcsr 0xb258 0xb270>;
190 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
191 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
192 interrupt-names = "global", "doorbell";
193 reset-gpios = <&tlmm 57 GPIO_ACTIVE_LOW>;
194 wake-gpios = <&tlmm 53 GPIO_ACTIVE_LOW>;
195 resets = <&gcc GCC_PCIE_BCR>;
196 reset-names = "core";
197 power-domains = <&gcc PCIE_GDSC>;
198 phys = <&pcie0_lane>;
199 phy-names = "pciephy";
200 max-link-speed = <3>;