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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/remoteproc/qcom,msm8996-mss-pil.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/remoteproc/qcom,msm8996-mss-pil.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Qualcomm MSM8996 MSS Peripheral Image Loader (and similar)
  8 
  9 maintainers:
 10   - Bjorn Andersson <andersson@kernel.org>
 11   - Sibi Sankar <quic_sibis@quicinc.com>
 12 
 13 description:
 14   MSS Peripheral Image Loader loads and boots firmware on the
 15   Qualcomm Technology Inc. MSM8996 Modem Hexagon Core (and similar).
 16 
 17 properties:
 18   compatible:
 19     enum:
 20       - qcom,msm8996-mss-pil
 21       - qcom,msm8998-mss-pil
 22       - qcom,sdm660-mss-pil
 23       - qcom,sdm845-mss-pil
 24 
 25   reg:
 26     items:
 27       - description: MSS QDSP6 registers
 28       - description: RMB registers
 29 
 30   reg-names:
 31     items:
 32       - const: qdsp6
 33       - const: rmb
 34 
 35   iommus:
 36     items:
 37       - description: MSA Stream 1
 38       - description: MSA Stream 2
 39 
 40   interrupts:
 41     items:
 42       - description: Watchdog interrupt
 43       - description: Fatal interrupt
 44       - description: Ready interrupt
 45       - description: Handover interrupt
 46       - description: Stop acknowledge interrupt
 47       - description: Shutdown acknowledge interrupt
 48 
 49   interrupt-names:
 50     items:
 51       - const: wdog
 52       - const: fatal
 53       - const: ready
 54       - const: handover
 55       - const: stop-ack
 56       - const: shutdown-ack
 57 
 58   clocks:
 59     minItems: 8
 60     maxItems: 9
 61 
 62   clock-names:
 63     minItems: 8
 64     maxItems: 9
 65 
 66   power-domains:
 67     items:
 68       - description: CX power domain
 69       - description: MX power domain
 70       - description: MSS power domain (only valid for qcom,sdm845-mss-pil)
 71     minItems: 2
 72 
 73   power-domain-names:
 74     items:
 75       - const: cx
 76       - const: mx
 77       - const: mss # only valid for qcom,sdm845-mss-pil
 78     minItems: 2
 79 
 80   pll-supply:
 81     description: PLL supply
 82 
 83   resets:
 84     items:
 85       - description: AOSS restart
 86       - description: PDC reset (only valid for qcom,sdm845-mss-pil)
 87     minItems: 1
 88 
 89   reset-names:
 90     items:
 91       - const: mss_restart
 92       - const: pdc_reset # only valid for qcom,sdm845-mss-pil
 93     minItems: 1
 94 
 95   qcom,qmp:
 96     $ref: /schemas/types.yaml#/definitions/phandle
 97     description: Reference to the AOSS side-channel message RAM.
 98 
 99   qcom,smem-states:
100     $ref: /schemas/types.yaml#/definitions/phandle-array
101     description: States used by the AP to signal the Hexagon core
102     items:
103       - description: Stop modem
104 
105   qcom,smem-state-names:
106     description: Names of the states used by the AP to signal the Hexagon core
107     items:
108       - const: stop
109 
110   qcom,halt-regs:
111     $ref: /schemas/types.yaml#/definitions/phandle-array
112     description:
113       Halt registers are used to halt transactions of various sub-components
114       within MSS.
115     items:
116       - items:
117           - description: phandle to TCSR syscon region
118           - description: offset to the Q6 halt register
119           - description: offset to the modem halt register
120           - description: offset to the nc halt register
121 
122   memory-region:
123     items:
124       - description: MBA reserved region
125       - description: Modem reserved region
126       - description: Metadata reserved region
127 
128   firmware-name:
129     $ref: /schemas/types.yaml#/definitions/string-array
130     items:
131       - description: Name of MBA firmware
132       - description: Name of modem firmware
133 
134   smd-edge:
135     $ref: /schemas/remoteproc/qcom,smd-edge.yaml#
136     description:
137       Qualcomm Shared Memory subnode which represents communication edge,
138       channels and devices related to the Modem.
139     unevaluatedProperties: false
140 
141   glink-edge:
142     $ref: /schemas/remoteproc/qcom,glink-edge.yaml#
143     description:
144       Qualcomm G-Link subnode which represents communication edge, channels
145       and devices related to the Modem.
146     unevaluatedProperties: false
147 
148   # Deprecated properties
149   mba:
150     type: object
151     description:
152       MBA reserved region
153 
154     properties:
155       memory-region: true
156 
157     required:
158       - memory-region
159 
160     additionalProperties: false
161     deprecated: true
162 
163   mpss:
164     type: object
165     description:
166       MPSS reserved region
167 
168     properties:
169       memory-region: true
170 
171     required:
172       - memory-region
173 
174     additionalProperties: false
175     deprecated: true
176 
177   metadata:
178     type: object
179     description:
180       Metadata reserved region
181 
182     properties:
183       memory-region: true
184 
185     required:
186       - memory-region
187 
188     additionalProperties: false
189     deprecated: true
190 
191 required:
192   - compatible
193   - reg
194   - reg-names
195   - interrupts
196   - interrupt-names
197   - clocks
198   - clock-names
199   - power-domains
200   - power-domain-names
201   - resets
202   - reset-names
203   - qcom,halt-regs
204   - qcom,smem-states
205   - qcom,smem-state-names
206 
207 allOf:
208   - if:
209       properties:
210         compatible:
211           const: qcom,msm8996-mss-pil
212     then:
213       properties:
214         clocks:
215           items:
216             - description: GCC MSS IFACE clock
217             - description: GCC MSS BUS clock
218             - description: GCC MSS MEM clock
219             - description: RPM XO clock
220             - description: GCC MSS GPLL0 clock
221             - description: GCC MSS SNOC_AXI clock
222             - description: GCC MSS MNOC_AXI clock
223             - description: RPM QDSS clock
224         clock-names:
225           items:
226             - const: iface
227             - const: bus
228             - const: mem
229             - const: xo
230             - const: gpll0_mss
231             - const: snoc_axi
232             - const: mnoc_axi
233             - const: qdss
234       required:
235         - pll-supply
236         - smd-edge
237     else:
238       properties:
239         pll-supply: false
240         smd-edge: false
241 
242   - if:
243       properties:
244         compatible:
245           enum:
246             - qcom,msm8998-mss-pil
247             - qcom,sdm660-mss-pil
248     then:
249       properties:
250         clocks:
251           items:
252             - description: GCC MSS IFACE clock
253             - description: GCC MSS BUS clock
254             - description: GCC MSS MEM clock
255             - description: GCC MSS GPLL0 clock
256             - description: GCC MSS SNOC_AXI clock
257             - description: GCC MSS MNOC_AXI clock
258             - description: RPMH QDSS clock
259             - description: RPMH XO clock
260         clock-names:
261           items:
262             - const: iface
263             - const: bus
264             - const: mem
265             - const: gpll0_mss
266             - const: snoc_axi
267             - const: mnoc_axi
268             - const: qdss
269             - const: xo
270       required:
271         - glink-edge
272 
273   - if:
274       properties:
275         compatible:
276           const: qcom,sdm845-mss-pil
277     then:
278       properties:
279         power-domains:
280           minItems: 3
281         power-domain-names:
282           minItems: 3
283         resets:
284           minItems: 2
285         reset-names:
286           minItems: 2
287         clocks:
288           items:
289             - description: GCC MSS IFACE clock
290             - description: GCC MSS BUS clock
291             - description: GCC MSS MEM clock
292             - description: GCC MSS GPLL0 clock
293             - description: GCC MSS SNOC_AXI clock
294             - description: GCC MSS MNOC_AXI clock
295             - description: GCC MSS PRNG clock
296             - description: RPMH XO clock
297         clock-names:
298           items:
299             - const: iface
300             - const: bus
301             - const: mem
302             - const: gpll0_mss
303             - const: snoc_axi
304             - const: mnoc_axi
305             - const: prng
306             - const: xo
307       required:
308         - qcom,qmp
309         - glink-edge
310     else:
311       properties:
312         iommus: false
313         power-domains:
314           maxItems: 2
315         power-domain-names:
316           maxItems: 2
317         resets:
318           maxItems: 1
319         reset-names:
320           maxItems: 1
321         qcom,qmp: false
322 
323   # Fallbacks for deprecated properties
324   - oneOf:
325       - required:
326           - memory-region
327       - required:
328           - mba
329           - mpss
330           - metadata
331 
332 additionalProperties: false
333 
334 examples:
335   - |
336     #include <dt-bindings/clock/qcom,gcc-sdm845.h>
337     #include <dt-bindings/clock/qcom,rpmh.h>
338     #include <dt-bindings/interrupt-controller/arm-gic.h>
339     #include <dt-bindings/power/qcom-rpmpd.h>
340     #include <dt-bindings/reset/qcom,sdm845-aoss.h>
341     #include <dt-bindings/reset/qcom,sdm845-pdc.h>
342 
343     remoteproc@4080000 {
344         compatible = "qcom,sdm845-mss-pil";
345         reg = <0x04080000 0x408>, <0x04180000 0x48>;
346         reg-names = "qdsp6", "rmb";
347 
348         interrupts-extended = <&intc GIC_SPI 266 IRQ_TYPE_EDGE_RISING>,
349                               <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
350                               <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
351                               <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
352                               <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
353                               <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
354         interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack",
355                           "shutdown-ack";
356 
357         clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
358                  <&gcc GCC_MSS_Q6_MEMNOC_AXI_CLK>,
359                  <&gcc GCC_BOOT_ROM_AHB_CLK>,
360                  <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>,
361                  <&gcc GCC_MSS_SNOC_AXI_CLK>,
362                  <&gcc GCC_MSS_MFAB_AXIS_CLK>,
363                  <&gcc GCC_PRNG_AHB_CLK>,
364                  <&rpmhcc RPMH_CXO_CLK>;
365         clock-names = "iface", "bus", "mem", "gpll0_mss",
366                       "snoc_axi", "mnoc_axi", "prng", "xo";
367 
368         power-domains = <&rpmhpd SDM845_CX>,
369                         <&rpmhpd SDM845_MX>,
370                         <&rpmhpd SDM845_MSS>;
371         power-domain-names = "cx", "mx", "mss";
372 
373         memory-region = <&mba_mem>, <&mpss_mem>, <&mdata_mem>;
374 
375         resets = <&aoss_reset AOSS_CC_MSS_RESTART>,
376                  <&pdc_reset PDC_MODEM_SYNC_RESET>;
377         reset-names = "mss_restart", "pdc_reset";
378 
379         qcom,halt-regs = <&tcsr_regs_1 0x3000 0x5000 0x4000>;
380 
381         qcom,qmp = <&aoss_qmp>;
382 
383         qcom,smem-states = <&modem_smp2p_out 0>;
384         qcom,smem-state-names = "stop";
385 
386         glink-edge {
387             interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
388             label = "modem";
389             qcom,remote-pid = <1>;
390             mboxes = <&apss_shared 12>;
391         };
392     };

~ [ 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