Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
7title: Qualcomm ADSP Peripheral Image Loader
8
9maintainers:
10 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11
12description:
13 This document defines the binding for a component that loads and boots
14 firmware on the Qualcomm ADSP Hexagon core.
15
16properties:
17 compatible:
18 enum:
19 - qcom,msm8226-adsp-pil
20 - qcom,msm8953-adsp-pil
21 - qcom,msm8974-adsp-pil
22 - qcom,msm8996-adsp-pil
23 - qcom,msm8996-slpi-pil
24 - qcom,msm8998-adsp-pas
25 - qcom,msm8998-slpi-pas
26 - qcom,sdm660-adsp-pas
27 - qcom,sdm660-cdsp-pas
28 - qcom,sdm845-adsp-pas
29 - qcom,sdm845-cdsp-pas
30 - qcom,sdm845-slpi-pas
31
32 reg:
33 maxItems: 1
34
35 cx-supply: true
36
37 px-supply:
38 description: Phandle to the PX regulator
39
40 qcom,qmp:
41 $ref: /schemas/types.yaml#/definitions/phandle
42 description: Reference to the AOSS side-channel message RAM.
43
44 memory-region:
45 maxItems: 1
46 description: Reference to the reserved-memory for the Hexagon core
47
48 firmware-name:
49 maxItems: 1
50 description: Firmware name for the Hexagon core
51
52required:
53 - compatible
54 - memory-region
55
56unevaluatedProperties: false
57
58allOf:
59 - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
60 - if:
61 properties:
62 compatible:
63 contains:
64 enum:
65 - qcom,msm8226-adsp-pil
66 - qcom,msm8953-adsp-pil
67 - qcom,msm8974-adsp-pil
68 - qcom,msm8996-adsp-pil
69 - qcom,msm8996-slpi-pil
70 - qcom,msm8998-adsp-pas
71 - qcom,msm8998-slpi-pas
72 - qcom,sdm660-adsp-pas
73 - qcom,sdm660-cdsp-pas
74 - qcom,sdm845-adsp-pas
75 - qcom,sdm845-cdsp-pas
76 - qcom,sdm845-slpi-pas
77 then:
78 properties:
79 clocks:
80 items:
81 - description: XO clock
82 clock-names:
83 items:
84 - const: xo
85
86 - if:
87 properties:
88 compatible:
89 contains:
90 enum:
91 - qcom,msm8226-adsp-pil
92 - qcom,msm8953-adsp-pil
93 - qcom,msm8974-adsp-pil
94 - qcom,msm8996-adsp-pil
95 - qcom,msm8996-slpi-pil
96 - qcom,msm8998-adsp-pas
97 - qcom,msm8998-slpi-pas
98 - qcom,sdm660-adsp-pas
99 - qcom,sdm660-cdsp-pas
100 - qcom,sdm845-adsp-pas
101 - qcom,sdm845-cdsp-pas
102 - qcom,sdm845-slpi-pas
103 then:
104 properties:
105 interrupts:
106 maxItems: 5
107 interrupt-names:
108 maxItems: 5
109
110 - if:
111 properties:
112 compatible:
113 contains:
114 enum:
115 - qcom,msm8226-adsp-pil
116 - qcom,msm8953-adsp-pil
117 - qcom,msm8974-adsp-pil
118 - qcom,msm8996-adsp-pil
119 - qcom,msm8998-adsp-pas
120 - qcom,sdm660-adsp-pas
121 - qcom,sdm660-cdsp-pas
122 then:
123 properties:
124 power-domains:
125 items:
126 - description: CX power domain
127 power-domain-names:
128 items:
129 - const: cx
130
131 - if:
132 properties:
133 compatible:
134 contains:
135 enum:
136 - qcom,msm8996-slpi-pil
137 - qcom,msm8998-slpi-pas
138 then:
139 properties:
140 power-domains:
141 items:
142 - description: SSC-CX power domain
143 power-domain-names:
144 items:
145 - const: ssc_cx
146 required:
147 - px-supply
148
149 - if:
150 properties:
151 compatible:
152 enum:
153 - qcom,sdm845-slpi-pas
154 then:
155 properties:
156 power-domains:
157 items:
158 - description: LCX power domain
159 - description: LMX power domain
160 power-domain-names:
161 items:
162 - const: lcx
163 - const: lmx
164 else:
165 properties:
166 cx-supply: false
167
168 - if:
169 properties:
170 compatible:
171 contains:
172 enum:
173 - qcom,msm8226-adsp-pil
174 - qcom,msm8953-adsp-pil
175 - qcom,msm8974-adsp-pil
176 - qcom,msm8996-adsp-pil
177 - qcom,msm8996-slpi-pil
178 - qcom,msm8998-adsp-pas
179 - qcom,msm8998-slpi-pas
180 - qcom,sdm660-adsp-pas
181 - qcom,sdm660-cdsp-pas
182 then:
183 properties:
184 qcom,qmp: false
185
186examples:
187 - |
188 #include <dt-bindings/clock/qcom,rpmcc.h>
189 #include <dt-bindings/interrupt-controller/arm-gic.h>
190 #include <dt-bindings/interrupt-controller/irq.h>
191 #include <dt-bindings/power/qcom-rpmpd.h>
192 adsp {
193 compatible = "qcom,msm8974-adsp-pil";
194
195 interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
196 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
197 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
198 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
199 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
200 interrupt-names = "wdog",
201 "fatal",
202 "ready",
203 "handover",
204 "stop-ack";
205
206 clocks = <&rpmcc RPM_CXO_CLK>;
207 clock-names = "xo";
208
209 power-domains = <&rpmpd MSM8974_VDDCX>;
210 power-domain-names = "cx";
211
212 memory-region = <&adsp_region>;
213
214 qcom,smem-states = <&adsp_smp2p_out 0>;
215 qcom,smem-state-names = "stop";
216
217 smd-edge {
218 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
219
220 qcom,ipc = <&apcs 8 8>;
221 qcom,smd-edge = <1>;
222 };
223 };