1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/remoteproc/qcom,adsp.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm ADSP Peripheral Image Loader binding
8
9 maintainers:
10 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11
12 description:
13 This document defines the binding for a component that loads and boots
14 firmware on the Qualcomm ADSP Hexagon core.
15
16 properties:
17 compatible:
18 enum:
19 - qcom,msm8226-adsp-pil
20 - qcom,msm8974-adsp-pil
21 - qcom,msm8996-adsp-pil
22 - qcom,msm8996-slpi-pil
23 - qcom,msm8998-adsp-pas
24 - qcom,msm8998-slpi-pas
25 - qcom,qcs404-adsp-pas
26 - qcom,qcs404-cdsp-pas
27 - qcom,qcs404-wcss-pas
28 - qcom,sc7180-mpss-pas
29 - qcom,sc7280-mpss-pas
30 - qcom,sc8180x-adsp-pas
31 - qcom,sc8180x-cdsp-pas
32 - qcom,sc8180x-mpss-pas
33 - qcom,sc8280xp-adsp-pas
34 - qcom,sc8280xp-nsp0-pas
35 - qcom,sc8280xp-nsp1-pas
36 - qcom,sdm660-adsp-pas
37 - qcom,sdm845-adsp-pas
38 - qcom,sdm845-cdsp-pas
39 - qcom,sdx55-mpss-pas
40 - qcom,sm6350-adsp-pas
41 - qcom,sm6350-cdsp-pas
42 - qcom,sm6350-mpss-pas
43 - qcom,sm8150-adsp-pas
44 - qcom,sm8150-cdsp-pas
45 - qcom,sm8150-mpss-pas
46 - qcom,sm8150-slpi-pas
47 - qcom,sm8250-adsp-pas
48 - qcom,sm8250-cdsp-pas
49 - qcom,sm8250-slpi-pas
50 - qcom,sm8350-adsp-pas
51 - qcom,sm8350-cdsp-pas
52 - qcom,sm8350-slpi-pas
53 - qcom,sm8350-mpss-pas
54 - qcom,sm8450-adsp-pas
55 - qcom,sm8450-cdsp-pas
56 - qcom,sm8450-mpss-pas
57 - qcom,sm8450-slpi-pas
58
59 reg:
60 maxItems: 1
61
62 clocks:
63 minItems: 1
64 maxItems: 8
65
66 clock-names:
67 minItems: 1
68 maxItems: 8
69
70 interconnects:
71 maxItems: 1
72
73 interrupts:
74 minItems: 5
75 items:
76 - description: Watchdog interrupt
77 - description: Fatal interrupt
78 - description: Ready interrupt
79 - description: Handover interrupt
80 - description: Stop acknowledge interrupt
81 - description: Shutdown acknowledge interrupt
82
83 interrupt-names:
84 minItems: 5
85 items:
86 - const: wdog
87 - const: fatal
88 - const: ready
89 - const: handover
90 - const: stop-ack
91 - const: shutdown-ack
92
93 resets:
94 minItems: 1
95 maxItems: 3
96
97 reset-names:
98 minItems: 1
99 maxItems: 3
100
101 cx-supply:
102 description: Phandle to the CX regulator
103
104 px-supply:
105 description: Phandle to the PX regulator
106
107 power-domains:
108 minItems: 1
109 maxItems: 3
110
111 power-domain-names:
112 minItems: 1
113 maxItems: 3
114
115 firmware-name:
116 $ref: /schemas/types.yaml#/definitions/string
117 description: Firmware name for the Hexagon core
118
119 memory-region:
120 maxItems: 1
121 description: Reference to the reserved-memory for the Hexagon core
122
123 qcom,qmp:
124 $ref: /schemas/types.yaml#/definitions/phandle
125 description: Reference to the AOSS side-channel message RAM.
126
127 qcom,smem-states:
128 $ref: /schemas/types.yaml#/definitions/phandle-array
129 description: States used by the AP to signal the Hexagon core
130 items:
131 - description: Stop the modem
132
133 qcom,smem-state-names:
134 description: The names of the state bits used for SMP2P output
135 items:
136 - const: stop
137
138 qcom,halt-regs:
139 $ref: /schemas/types.yaml#/definitions/phandle-array
140 items:
141 - items:
142 - description: Phandle reference to a syscon representing TCSR
143 - description: offsets within syscon for q6 halt registers
144 - description: offsets within syscon for modem halt registers
145 - description: offsets within syscon for nc halt registers
146 description:
147 Phandle reference to a syscon representing TCSR followed by the
148 three offsets within syscon for q6, modem and nc halt registers.
149
150 smd-edge:
151 $ref: /schemas/remoteproc/qcom,smd-edge.yaml#
152 description:
153 Qualcomm Shared Memory subnode which represents communication edge,
154 channels and devices related to the ADSP.
155
156 glink-edge:
157 $ref: /schemas/remoteproc/qcom,glink-edge.yaml#
158 description:
159 Qualcomm G-Link subnode which represents communication edge, channels
160 and devices related to the ADSP.
161
162 required:
163 - compatible
164 - clocks
165 - clock-names
166 - interrupts
167 - interrupt-names
168 - memory-region
169 - qcom,smem-states
170 - qcom,smem-state-names
171
172 additionalProperties: false
173
174 allOf:
175 - if:
176 properties:
177 compatible:
178 contains:
179 enum:
180 - qcom,msm8226-adsp-pil
181 - qcom,msm8974-adsp-pil
182 - qcom,msm8996-adsp-pil
183 - qcom,msm8996-slpi-pil
184 - qcom,msm8998-adsp-pas
185 - qcom,qcs404-adsp-pas
186 - qcom,qcs404-wcss-pas
187 - qcom,sc7280-mpss-pas
188 - qcom,sc8180x-adsp-pas
189 - qcom,sc8180x-cdsp-pas
190 - qcom,sc8180x-mpss-pas
191 - qcom,sc8280xp-adsp-pas
192 - qcom,sc8280xp-nsp0-pas
193 - qcom,sc8280xp-nsp1-pas
194 - qcom,sdm845-adsp-pas
195 - qcom,sdm845-cdsp-pas
196 - qcom,sm6350-adsp-pas
197 - qcom,sm6350-cdsp-pas
198 - qcom,sm6350-mpss-pas
199 - qcom,sm8150-adsp-pas
200 - qcom,sm8150-cdsp-pas
201 - qcom,sm8150-mpss-pas
202 - qcom,sm8150-slpi-pas
203 - qcom,sm8250-adsp-pas
204 - qcom,sm8250-cdsp-pas
205 - qcom,sm8250-slpi-pas
206 - qcom,sm8350-adsp-pas
207 - qcom,sm8350-cdsp-pas
208 - qcom,sm8350-slpi-pas
209 - qcom,sm8350-mpss-pas
210 - qcom,sm8450-adsp-pas
211 - qcom,sm8450-cdsp-pas
212 - qcom,sm8450-slpi-pas
213 - qcom,sm8450-mpss-pas
214 then:
215 properties:
216 clocks:
217 items:
218 - description: XO clock
219 clock-names:
220 items:
221 - const: xo
222
223 - if:
224 properties:
225 compatible:
226 contains:
227 enum:
228 - qcom,msm8998-slpi-pas
229 then:
230 properties:
231 clocks:
232 items:
233 - description: XO clock
234 - description: AGGRE2 clock
235 clock-names:
236 items:
237 - const: xo
238 - const: aggre2
239
240 - if:
241 properties:
242 compatible:
243 contains:
244 enum:
245 - qcom,qcs404-cdsp-pas
246 then:
247 properties:
248 clocks:
249 items:
250 - description: XO clock
251 - description: SWAY clock
252 - description: TBU clock
253 - description: BIMC clock
254 - description: AHB AON clock
255 - description: Q6SS SLAVE clock
256 - description: Q6SS MASTER clock
257 - description: Q6 AXIM clock
258 clock-names:
259 items:
260 - const: xo
261 - const: sway
262 - const: tbu
263 - const: bimc
264 - const: ahb_aon
265 - const: q6ss_slave
266 - const: q6ss_master
267 - const: q6_axim
268
269 - if:
270 properties:
271 compatible:
272 contains:
273 enum:
274 - qcom,sc7180-mpss-pas
275 then:
276 properties:
277 clocks:
278 items:
279 - description: XO clock
280 - description: IFACE clock
281 - description: BUS clock
282 - description: NAC clock
283 - description: SNOC AXI clock
284 - description: MNOC AXI clock
285 clock-names:
286 items:
287 - const: xo
288 - const: iface
289 - const: bus
290 - const: nav
291 - const: snoc_axi
292 - const: mnoc_axi
293
294 - if:
295 properties:
296 compatible:
297 contains:
298 enum:
299 - qcom,msm8226-adsp-pil
300 - qcom,msm8974-adsp-pil
301 - qcom,msm8996-adsp-pil
302 - qcom,msm8996-slpi-pil
303 - qcom,msm8998-adsp-pas
304 - qcom,msm8998-slpi-pas
305 - qcom,qcs404-adsp-pas
306 - qcom,qcs404-cdsp-pas
307 - qcom,qcs404-wcss-pas
308 - qcom,sc8180x-adsp-pas
309 - qcom,sc8180x-cdsp-pas
310 - qcom,sc8280xp-adsp-pas
311 - qcom,sc8280xp-nsp0-pas
312 - qcom,sc8280xp-nsp1-pas
313 - qcom,sdm845-adsp-pas
314 - qcom,sdm845-cdsp-pas
315 - qcom,sm6350-adsp-pas
316 - qcom,sm6350-cdsp-pas
317 - qcom,sm8150-adsp-pas
318 - qcom,sm8150-cdsp-pas
319 - qcom,sm8150-slpi-pas
320 - qcom,sm8250-adsp-pas
321 - qcom,sm8250-cdsp-pas
322 - qcom,sm8250-slpi-pas
323 - qcom,sm8350-adsp-pas
324 - qcom,sm8350-cdsp-pas
325 - qcom,sm8350-slpi-pas
326 - qcom,sm8450-adsp-pas
327 - qcom,sm8450-cdsp-pas
328 - qcom,sm8450-slpi-pas
329 then:
330 properties:
331 interrupts:
332 maxItems: 5
333 interrupt-names:
334 maxItems: 5
335
336 - if:
337 properties:
338 compatible:
339 contains:
340 enum:
341 - qcom,sc7180-mpss-pas
342 - qcom,sc7280-mpss-pas
343 - qcom,sc8180x-mpss-pas
344 - qcom,sdx55-mpss-pas
345 - qcom,sm6350-mpss-pas
346 - qcom,sm8150-mpss-pas
347 - qcom,sm8350-mpss-pas
348 - qcom,sm8450-mpss-pas
349 then:
350 properties:
351 interrupts:
352 minItems: 6
353 interrupt-names:
354 minItems: 6
355
356 - if:
357 properties:
358 compatible:
359 contains:
360 enum:
361 - qcom,msm8974-adsp-pil
362 then:
363 required:
364 - cx-supply
365
366 - if:
367 properties:
368 compatible:
369 contains:
370 enum:
371 - qcom,msm8226-adsp-pil
372 - qcom,msm8996-adsp-pil
373 - qcom,msm8998-adsp-pas
374 - qcom,sm8150-adsp-pas
375 - qcom,sm8150-cdsp-pas
376 then:
377 properties:
378 power-domains:
379 items:
380 - description: CX power domain
381 power-domain-names:
382 items:
383 - const: cx
384
385 - if:
386 properties:
387 compatible:
388 contains:
389 enum:
390 - qcom,msm8996-slpi-pil
391 - qcom,msm8998-slpi-pas
392 then:
393 properties:
394 power-domains:
395 items:
396 - description: SSC-CX power domain
397 power-domain-names:
398 items:
399 - const: ssc_cx
400 required:
401 - px-supply
402
403 - if:
404 properties:
405 compatible:
406 contains:
407 enum:
408 - qcom,sc7180-mpss-pas
409 then:
410 properties:
411 power-domains:
412 items:
413 - description: CX power domain
414 - description: MX power domain
415 - description: MSS power domain
416 power-domain-names:
417 items:
418 - const: cx
419 - const: mx
420 - const: mss
421
422 - if:
423 properties:
424 compatible:
425 contains:
426 enum:
427 - qcom,sm6350-cdsp-pas
428 then:
429 properties:
430 power-domains:
431 items:
432 - description: CX power domain
433 - description: MX power domain
434 power-domain-names:
435 items:
436 - const: cx
437 - const: mx
438
439 - if:
440 properties:
441 compatible:
442 contains:
443 enum:
444 - qcom,sc7280-mpss-pas
445 - qcom,sdx55-mpss-pas
446 - qcom,sm6350-mpss-pas
447 - qcom,sm8150-mpss-pas
448 - qcom,sm8350-mpss-pas
449 - qcom,sm8450-mpss-pas
450 then:
451 properties:
452 power-domains:
453 items:
454 - description: CX power domain
455 - description: MSS power domain
456 power-domain-names:
457 items:
458 - const: cx
459 - const: mss
460
461 - if:
462 properties:
463 compatible:
464 contains:
465 enum:
466 - qcom,sc8180x-adsp-pas
467 - qcom,sc8180x-cdsp-pas
468 - qcom,sc8280xp-adsp-pas
469 - qcom,sm6350-adsp-pas
470 - qcom,sm8150-slpi-pas
471 - qcom,sm8250-adsp-pas
472 - qcom,sm8250-slpi-pas
473 - qcom,sm8350-adsp-pas
474 - qcom,sm8350-slpi-pas
475 - qcom,sm8450-adsp-pas
476 - qcom,sm8450-slpi-pas
477 then:
478 properties:
479 power-domains:
480 items:
481 - description: LCX power domain
482 - description: LMX power domain
483 power-domain-names:
484 items:
485 - const: lcx
486 - const: lmx
487
488 - if:
489 properties:
490 compatible:
491 contains:
492 enum:
493 - qcom,sm8350-cdsp-pas
494 - qcom,sm8450-cdsp-pas
495 then:
496 properties:
497 power-domains:
498 items:
499 - description: CX power domain
500 - description: MXC power domain
501 power-domain-names:
502 items:
503 - const: cx
504 - const: mxc
505
506 - if:
507 properties:
508 compatible:
509 contains:
510 enum:
511 - qcom,sc8280xp-nsp0-pas
512 - qcom,sc8280xp-nsp1-pas
513 then:
514 properties:
515 power-domains:
516 items:
517 - description: NSP power domain
518 power-domain-names:
519 items:
520 - const: nsp
521
522 - if:
523 properties:
524 compatible:
525 contains:
526 enum:
527 - qcom,qcs404-cdsp-pas
528 then:
529 properties:
530 resets:
531 items:
532 - description: CDSP restart
533 reset-names:
534 items:
535 - const: restart
536
537 - if:
538 properties:
539 compatible:
540 contains:
541 enum:
542 - qcom,sc7180-mpss-pas
543 - qcom,sc7280-mpss-pas
544 then:
545 properties:
546 resets:
547 items:
548 - description: MSS restart
549 - description: PDC reset
550 reset-names:
551 items:
552 - const: mss_restart
553 - const: pdc_reset
554
555 - if:
556 properties:
557 compatible:
558 contains:
559 enum:
560 - qcom,msm8226-adsp-pil
561 - qcom,msm8974-adsp-pil
562 - qcom,msm8996-adsp-pil
563 - qcom,msm8996-slpi-pil
564 - qcom,msm8998-adsp-pas
565 - qcom,msm8998-slpi-pas
566 - qcom,qcs404-adsp-pas
567 - qcom,qcs404-cdsp-pas
568 - qcom,qcs404-wcss-pas
569 - qcom,sdm660-adsp-pas
570 - qcom,sdx55-mpss-pas
571 then:
572 properties:
573 qcom,qmp: false
574
575 examples:
576 - |
577 #include <dt-bindings/clock/qcom,rpmcc.h>
578 #include <dt-bindings/interrupt-controller/arm-gic.h>
579 #include <dt-bindings/interrupt-controller/irq.h>
580 adsp {
581 compatible = "qcom,msm8974-adsp-pil";
582
583 interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
584 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
585 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
586 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
587 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
588 interrupt-names = "wdog",
589 "fatal",
590 "ready",
591 "handover",
592 "stop-ack";
593
594 clocks = <&rpmcc RPM_CXO_CLK>;
595 clock-names = "xo";
596
597 cx-supply = <&pm8841_s2>;
598
599 memory-region = <&adsp_region>;
600
601 qcom,smem-states = <&adsp_smp2p_out 0>;
602 qcom,smem-state-names = "stop";
603
604 smd-edge {
605 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
606
607 qcom,ipc = <&apcs 8 8>;
608 qcom,smd-edge = <1>;
609 };
610 };
Cache object: 2341706cc29999ed2e26031704376420
|