]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/remoteproc/qcom,adsp.yaml
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / Bindings / remoteproc / qcom,adsp.yaml
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
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,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,sdm845-adsp-pas
28 - qcom,sdm845-cdsp-pas
29 - qcom,sdm845-slpi-pas
30
31 reg:
32 maxItems: 1
33
34 cx-supply:
35 description: Phandle to the CX regulator
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
52 required:
53 - compatible
54 - memory-region
55
56 unevaluatedProperties: false
57
58 allOf:
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,sdm845-adsp-pas
73 - qcom,sdm845-cdsp-pas
74 - qcom,sdm845-slpi-pas
75 then:
76 properties:
77 clocks:
78 items:
79 - description: XO clock
80 clock-names:
81 items:
82 - const: xo
83
84 - if:
85 properties:
86 compatible:
87 contains:
88 enum:
89 - qcom,msm8226-adsp-pil
90 - qcom,msm8953-adsp-pil
91 - qcom,msm8974-adsp-pil
92 - qcom,msm8996-adsp-pil
93 - qcom,msm8996-slpi-pil
94 - qcom,msm8998-adsp-pas
95 - qcom,msm8998-slpi-pas
96 - qcom,sdm845-adsp-pas
97 - qcom,sdm845-cdsp-pas
98 - qcom,sdm845-slpi-pas
99 then:
100 properties:
101 interrupts:
102 maxItems: 5
103 interrupt-names:
104 maxItems: 5
105
106 - if:
107 properties:
108 compatible:
109 contains:
110 enum:
111 - qcom,msm8974-adsp-pil
112 then:
113 required:
114 - cx-supply
115
116 - if:
117 properties:
118 compatible:
119 contains:
120 enum:
121 - qcom,msm8226-adsp-pil
122 - qcom,msm8953-adsp-pil
123 - qcom,msm8996-adsp-pil
124 - qcom,msm8998-adsp-pas
125 then:
126 properties:
127 power-domains:
128 items:
129 - description: CX power domain
130 power-domain-names:
131 items:
132 - const: cx
133
134 - if:
135 properties:
136 compatible:
137 contains:
138 enum:
139 - qcom,msm8996-slpi-pil
140 - qcom,msm8998-slpi-pas
141 then:
142 properties:
143 power-domains:
144 items:
145 - description: SSC-CX power domain
146 power-domain-names:
147 items:
148 - const: ssc_cx
149 required:
150 - px-supply
151
152 - if:
153 properties:
154 compatible:
155 enum:
156 - qcom,sdm845-slpi-pas
157 then:
158 properties:
159 power-domains:
160 items:
161 - description: LCX power domain
162 - description: LMX power domain
163 power-domain-names:
164 items:
165 - const: lcx
166 - const: lmx
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 then:
182 properties:
183 qcom,qmp: false
184
185 examples:
186 - |
187 #include <dt-bindings/clock/qcom,rpmcc.h>
188 #include <dt-bindings/interrupt-controller/arm-gic.h>
189 #include <dt-bindings/interrupt-controller/irq.h>
190 adsp {
191 compatible = "qcom,msm8974-adsp-pil";
192
193 interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
194 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
195 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
196 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
197 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
198 interrupt-names = "wdog",
199 "fatal",
200 "ready",
201 "handover",
202 "stop-ack";
203
204 clocks = <&rpmcc RPM_CXO_CLK>;
205 clock-names = "xo";
206
207 cx-supply = <&pm8841_s2>;
208
209 memory-region = <&adsp_region>;
210
211 qcom,smem-states = <&adsp_smp2p_out 0>;
212 qcom,smem-state-names = "stop";
213
214 smd-edge {
215 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
216
217 qcom,ipc = <&apcs 8 8>;
218 qcom,smd-edge = <1>;
219 };
220 };