~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/pci/qcom,pcie-ep.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Qualcomm PCIe Endpoint Controller
  8 
  9 maintainers:
 10   - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
 11 
 12 properties:
 13   compatible:
 14     oneOf:
 15       - enum:
 16           - qcom,sa8775p-pcie-ep
 17           - qcom,sdx55-pcie-ep
 18           - qcom,sm8450-pcie-ep
 19       - items:
 20           - const: qcom,sdx65-pcie-ep
 21           - const: qcom,sdx55-pcie-ep
 22 
 23   reg:
 24     minItems: 6
 25     items:
 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
 33 
 34   reg-names:
 35     minItems: 6
 36     items:
 37       - const: parf
 38       - const: dbi
 39       - const: elbi
 40       - const: atu
 41       - const: addr_space
 42       - const: mmio
 43       - const: dma
 44 
 45   clocks:
 46     minItems: 5
 47     maxItems: 8
 48 
 49   clock-names:
 50     minItems: 5
 51     maxItems: 8
 52 
 53   qcom,perst-regs:
 54     description: Reference to a syscon representing TCSR followed by the two
 55                  offsets within syscon for Perst enable and Perst separation
 56                  enable registers
 57     $ref: /schemas/types.yaml#/definitions/phandle-array
 58     items:
 59       - items:
 60           - description: Syscon to TCSR system registers
 61           - description: Perst enable offset
 62           - description: Perst separation enable offset
 63 
 64   interrupts:
 65     minItems: 2
 66     items:
 67       - description: PCIe Global interrupt
 68       - description: PCIe Doorbell interrupt
 69       - description: DMA interrupt
 70 
 71   interrupt-names:
 72     minItems: 2
 73     items:
 74       - const: global
 75       - const: doorbell
 76       - const: dma
 77 
 78   reset-gpios:
 79     description: GPIO used as PERST# input signal
 80     maxItems: 1
 81 
 82   wake-gpios:
 83     description: GPIO used as WAKE# output signal
 84     maxItems: 1
 85 
 86   interconnects:
 87     maxItems: 2
 88 
 89   interconnect-names:
 90     items:
 91       - const: pcie-mem
 92       - const: cpu-pcie
 93 
 94   resets:
 95     maxItems: 1
 96 
 97   reset-names:
 98     const: core
 99 
100   power-domains:
101     maxItems: 1
102 
103   phys:
104     maxItems: 1
105 
106   phy-names:
107     const: pciephy
108 
109   num-lanes:
110     default: 2
111 
112 required:
113   - compatible
114   - reg
115   - reg-names
116   - clocks
117   - clock-names
118   - interrupts
119   - interrupt-names
120   - reset-gpios
121   - interconnects
122   - interconnect-names
123   - resets
124   - reset-names
125   - power-domains
126 
127 allOf:
128   - $ref: pci-ep.yaml#
129   - if:
130       properties:
131         compatible:
132           contains:
133             enum:
134               - qcom,sdx55-pcie-ep
135     then:
136       properties:
137         reg:
138           maxItems: 6
139         reg-names:
140           maxItems: 6
141         clocks:
142           items:
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
150         clock-names:
151           items:
152             - const: aux
153             - const: cfg
154             - const: bus_master
155             - const: bus_slave
156             - const: slave_q2a
157             - const: sleep
158             - const: ref
159         interrupts:
160           maxItems: 2
161         interrupt-names:
162           maxItems: 2
163 
164   - if:
165       properties:
166         compatible:
167           contains:
168             enum:
169               - qcom,sm8450-pcie-ep
170     then:
171       properties:
172         reg:
173           maxItems: 6
174         reg-names:
175           maxItems: 6
176         clocks:
177           items:
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
186         clock-names:
187           items:
188             - const: aux
189             - const: cfg
190             - const: bus_master
191             - const: bus_slave
192             - const: slave_q2a
193             - const: ref
194             - const: ddrss_sf_tbu
195             - const: aggre_noc_axi
196         interrupts:
197           maxItems: 2
198         interrupt-names:
199           maxItems: 2
200 
201   - if:
202       properties:
203         compatible:
204           contains:
205             enum:
206               - qcom,sa8775p-pcie-ep
207     then:
208       properties:
209         reg:
210           minItems: 7
211           maxItems: 7
212         reg-names:
213           minItems: 7
214           maxItems: 7
215         clocks:
216           items:
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
222         clock-names:
223           items:
224             - const: aux
225             - const: cfg
226             - const: bus_master
227             - const: bus_slave
228             - const: slave_q2a
229         interrupts:
230           minItems: 3
231           maxItems: 3
232         interrupt-names:
233           minItems: 3
234           maxItems: 3
235 
236 unevaluatedProperties: false
237 
238 examples:
239   - |
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>
244 
245     pcie_ep: pcie-ep@1c00000 {
246         compatible = "qcom,sdx55-pcie-ep";
247         reg = <0x01c00000 0x3000>,
248               <0x40000000 0xf1d>,
249               <0x40000f20 0xc8>,
250               <0x40001000 0x1000>,
251               <0x40002000 0x1000>,
252               <0x01c03000 0x3000>;
253         reg-names = "parf", "dbi", "elbi", "atu", "addr_space",
254                     "mmio";
255 
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";
265 
266         qcom,perst-regs = <&tcsr 0xb258 0xb270>;
267 
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>;
282         num-lanes = <2>;
283         linux,pci-domain = <0>;
284     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php