xref: /openbmc/linux/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1cf107e98SManivannan Sadhasivam# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2cf107e98SManivannan Sadhasivam%YAML 1.2
3cf107e98SManivannan Sadhasivam---
4cf107e98SManivannan Sadhasivam$id: http://devicetree.org/schemas/remoteproc/qcom,adsp.yaml#
5cf107e98SManivannan Sadhasivam$schema: http://devicetree.org/meta-schemas/core.yaml#
6cf107e98SManivannan Sadhasivam
784e85359SKrzysztof Kozlowskititle: Qualcomm ADSP Peripheral Image Loader
8cf107e98SManivannan Sadhasivam
9cf107e98SManivannan Sadhasivammaintainers:
10cf107e98SManivannan Sadhasivam  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11cf107e98SManivannan Sadhasivam
12cf107e98SManivannan Sadhasivamdescription:
13cf107e98SManivannan Sadhasivam  This document defines the binding for a component that loads and boots
14cf107e98SManivannan Sadhasivam  firmware on the Qualcomm ADSP Hexagon core.
15cf107e98SManivannan Sadhasivam
16cf107e98SManivannan Sadhasivamproperties:
17cf107e98SManivannan Sadhasivam  compatible:
18cf107e98SManivannan Sadhasivam    enum:
19b5143185SLuca Weiss      - qcom,msm8226-adsp-pil
204a0510a4SSireesh Kodali      - qcom,msm8953-adsp-pil
21cf107e98SManivannan Sadhasivam      - qcom,msm8974-adsp-pil
22cf107e98SManivannan Sadhasivam      - qcom,msm8996-adsp-pil
23cf107e98SManivannan Sadhasivam      - qcom,msm8996-slpi-pil
24cf107e98SManivannan Sadhasivam      - qcom,msm8998-adsp-pas
25cf107e98SManivannan Sadhasivam      - qcom,msm8998-slpi-pas
26f35ef8e4SKonrad Dybcio      - qcom,sdm660-adsp-pas
27cf107e98SManivannan Sadhasivam      - qcom,sdm845-adsp-pas
28cf107e98SManivannan Sadhasivam      - qcom,sdm845-cdsp-pas
29*242a6268SDylan Van Assche      - qcom,sdm845-slpi-pas
30cf107e98SManivannan Sadhasivam
31cf107e98SManivannan Sadhasivam  reg:
32cf107e98SManivannan Sadhasivam    maxItems: 1
33cf107e98SManivannan Sadhasivam
34cf107e98SManivannan Sadhasivam  cx-supply:
35cf107e98SManivannan Sadhasivam    description: Phandle to the CX regulator
36cf107e98SManivannan Sadhasivam
37cf107e98SManivannan Sadhasivam  px-supply:
38cf107e98SManivannan Sadhasivam    description: Phandle to the PX regulator
39cf107e98SManivannan Sadhasivam
40e73c632bSSibi Sankar  qcom,qmp:
41e73c632bSSibi Sankar    $ref: /schemas/types.yaml#/definitions/phandle
42e73c632bSSibi Sankar    description: Reference to the AOSS side-channel message RAM.
43e73c632bSSibi Sankar
44cee616c6SNeil Armstrong  memory-region:
45cee616c6SNeil Armstrong    maxItems: 1
46cee616c6SNeil Armstrong    description: Reference to the reserved-memory for the Hexagon core
47cee616c6SNeil Armstrong
483aacc3b2SKrzysztof Kozlowski  firmware-name:
493aacc3b2SKrzysztof Kozlowski    maxItems: 1
503aacc3b2SKrzysztof Kozlowski    description: Firmware name for the Hexagon core
513aacc3b2SKrzysztof Kozlowski
52cf107e98SManivannan Sadhasivamrequired:
53cf107e98SManivannan Sadhasivam  - compatible
541e5c6933SKrzysztof Kozlowski  - memory-region
55cf107e98SManivannan Sadhasivam
56ea5a10aeSKrzysztof KozlowskiunevaluatedProperties: false
57cf107e98SManivannan Sadhasivam
58cf107e98SManivannan SadhasivamallOf:
59ea5a10aeSKrzysztof Kozlowski  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
60cf107e98SManivannan Sadhasivam  - if:
61cf107e98SManivannan Sadhasivam      properties:
62cf107e98SManivannan Sadhasivam        compatible:
63cf107e98SManivannan Sadhasivam          contains:
64cf107e98SManivannan Sadhasivam            enum:
65b5143185SLuca Weiss              - qcom,msm8226-adsp-pil
664a0510a4SSireesh Kodali              - qcom,msm8953-adsp-pil
67cf107e98SManivannan Sadhasivam              - qcom,msm8974-adsp-pil
68cf107e98SManivannan Sadhasivam              - qcom,msm8996-adsp-pil
69cf107e98SManivannan Sadhasivam              - qcom,msm8998-adsp-pas
70cf107e98SManivannan Sadhasivam              - qcom,sdm845-adsp-pas
71cf107e98SManivannan Sadhasivam              - qcom,sdm845-cdsp-pas
72*242a6268SDylan Van Assche              - qcom,sdm845-slpi-pas
73cf107e98SManivannan Sadhasivam    then:
74cf107e98SManivannan Sadhasivam      properties:
75cf107e98SManivannan Sadhasivam        clocks:
76cf107e98SManivannan Sadhasivam          items:
77cf107e98SManivannan Sadhasivam            - description: XO clock
78cf107e98SManivannan Sadhasivam        clock-names:
79cf107e98SManivannan Sadhasivam          items:
80cf107e98SManivannan Sadhasivam            - const: xo
81cf107e98SManivannan Sadhasivam
82cf107e98SManivannan Sadhasivam  - if:
83cf107e98SManivannan Sadhasivam      properties:
84cf107e98SManivannan Sadhasivam        compatible:
85cf107e98SManivannan Sadhasivam          contains:
86cf107e98SManivannan Sadhasivam            enum:
87569d3a75SKrzysztof Kozlowski              - qcom,msm8996-slpi-pil
88cf107e98SManivannan Sadhasivam              - qcom,msm8998-slpi-pas
89cf107e98SManivannan Sadhasivam    then:
90cf107e98SManivannan Sadhasivam      properties:
91cf107e98SManivannan Sadhasivam        clocks:
92cf107e98SManivannan Sadhasivam          items:
93cf107e98SManivannan Sadhasivam            - description: XO clock
94cf107e98SManivannan Sadhasivam            - description: AGGRE2 clock
95cf107e98SManivannan Sadhasivam        clock-names:
96cf107e98SManivannan Sadhasivam          items:
97cf107e98SManivannan Sadhasivam            - const: xo
98cf107e98SManivannan Sadhasivam            - const: aggre2
99cf107e98SManivannan Sadhasivam
100cf107e98SManivannan Sadhasivam  - if:
101cf107e98SManivannan Sadhasivam      properties:
102cf107e98SManivannan Sadhasivam        compatible:
103cf107e98SManivannan Sadhasivam          contains:
104cf107e98SManivannan Sadhasivam            enum:
105b5143185SLuca Weiss              - qcom,msm8226-adsp-pil
1064a0510a4SSireesh Kodali              - qcom,msm8953-adsp-pil
107cf107e98SManivannan Sadhasivam              - qcom,msm8974-adsp-pil
108cf107e98SManivannan Sadhasivam              - qcom,msm8996-adsp-pil
109cf107e98SManivannan Sadhasivam              - qcom,msm8996-slpi-pil
110cf107e98SManivannan Sadhasivam              - qcom,msm8998-adsp-pas
111cf107e98SManivannan Sadhasivam              - qcom,msm8998-slpi-pas
112cf107e98SManivannan Sadhasivam              - qcom,sdm845-adsp-pas
113cf107e98SManivannan Sadhasivam              - qcom,sdm845-cdsp-pas
114*242a6268SDylan Van Assche              - qcom,sdm845-slpi-pas
115cf107e98SManivannan Sadhasivam    then:
116cf107e98SManivannan Sadhasivam      properties:
117cf107e98SManivannan Sadhasivam        interrupts:
118d2403ee7SKrzysztof Kozlowski          maxItems: 5
119cf107e98SManivannan Sadhasivam        interrupt-names:
120d2403ee7SKrzysztof Kozlowski          maxItems: 5
121cf107e98SManivannan Sadhasivam
122cf107e98SManivannan Sadhasivam  - if:
123cf107e98SManivannan Sadhasivam      properties:
124cf107e98SManivannan Sadhasivam        compatible:
125cf107e98SManivannan Sadhasivam          contains:
126cf107e98SManivannan Sadhasivam            enum:
127cf107e98SManivannan Sadhasivam              - qcom,msm8974-adsp-pil
128cf107e98SManivannan Sadhasivam    then:
129cf107e98SManivannan Sadhasivam      required:
130cf107e98SManivannan Sadhasivam        - cx-supply
131cf107e98SManivannan Sadhasivam
132cf107e98SManivannan Sadhasivam  - if:
133cf107e98SManivannan Sadhasivam      properties:
134cf107e98SManivannan Sadhasivam        compatible:
135cf107e98SManivannan Sadhasivam          contains:
136cf107e98SManivannan Sadhasivam            enum:
137b5143185SLuca Weiss              - qcom,msm8226-adsp-pil
1384a0510a4SSireesh Kodali              - qcom,msm8953-adsp-pil
139e50f4bdaSYassine Oudjana              - qcom,msm8996-adsp-pil
140cf107e98SManivannan Sadhasivam              - qcom,msm8998-adsp-pas
141cf107e98SManivannan Sadhasivam    then:
142cf107e98SManivannan Sadhasivam      properties:
143cf107e98SManivannan Sadhasivam        power-domains:
144cf107e98SManivannan Sadhasivam          items:
145cf107e98SManivannan Sadhasivam            - description: CX power domain
146cf107e98SManivannan Sadhasivam        power-domain-names:
147cf107e98SManivannan Sadhasivam          items:
148cf107e98SManivannan Sadhasivam            - const: cx
149cf107e98SManivannan Sadhasivam
150cf107e98SManivannan Sadhasivam  - if:
151cf107e98SManivannan Sadhasivam      properties:
152cf107e98SManivannan Sadhasivam        compatible:
153cf107e98SManivannan Sadhasivam          contains:
154cf107e98SManivannan Sadhasivam            enum:
155e50f4bdaSYassine Oudjana              - qcom,msm8996-slpi-pil
156cf107e98SManivannan Sadhasivam              - qcom,msm8998-slpi-pas
157cf107e98SManivannan Sadhasivam    then:
158cf107e98SManivannan Sadhasivam      properties:
159cf107e98SManivannan Sadhasivam        power-domains:
160cf107e98SManivannan Sadhasivam          items:
161cf107e98SManivannan Sadhasivam            - description: SSC-CX power domain
162cf107e98SManivannan Sadhasivam        power-domain-names:
163cf107e98SManivannan Sadhasivam          items:
164cf107e98SManivannan Sadhasivam            - const: ssc_cx
165cf107e98SManivannan Sadhasivam      required:
166cf107e98SManivannan Sadhasivam        - px-supply
167cf107e98SManivannan Sadhasivam
168cf107e98SManivannan Sadhasivam  - if:
169cf107e98SManivannan Sadhasivam      properties:
170cf107e98SManivannan Sadhasivam        compatible:
171*242a6268SDylan Van Assche          enum:
172*242a6268SDylan Van Assche            - qcom,sdm845-slpi-pas
173*242a6268SDylan Van Assche    then:
174*242a6268SDylan Van Assche      properties:
175*242a6268SDylan Van Assche        power-domains:
176*242a6268SDylan Van Assche          items:
177*242a6268SDylan Van Assche            - description: LCX power domain
178*242a6268SDylan Van Assche            - description: LMX power domain
179*242a6268SDylan Van Assche        power-domain-names:
180*242a6268SDylan Van Assche          items:
181*242a6268SDylan Van Assche            - const: lcx
182*242a6268SDylan Van Assche            - const: lmx
183*242a6268SDylan Van Assche
184*242a6268SDylan Van Assche  - if:
185*242a6268SDylan Van Assche      properties:
186*242a6268SDylan Van Assche        compatible:
187cf107e98SManivannan Sadhasivam          contains:
188cf107e98SManivannan Sadhasivam            enum:
189b5143185SLuca Weiss              - qcom,msm8226-adsp-pil
1904a0510a4SSireesh Kodali              - qcom,msm8953-adsp-pil
191e73c632bSSibi Sankar              - qcom,msm8974-adsp-pil
192e73c632bSSibi Sankar              - qcom,msm8996-adsp-pil
193e73c632bSSibi Sankar              - qcom,msm8996-slpi-pil
194e73c632bSSibi Sankar              - qcom,msm8998-adsp-pas
195e73c632bSSibi Sankar              - qcom,msm8998-slpi-pas
196e73c632bSSibi Sankar              - qcom,sdm660-adsp-pas
197e73c632bSSibi Sankar    then:
198e73c632bSSibi Sankar      properties:
199e73c632bSSibi Sankar        qcom,qmp: false
200e73c632bSSibi Sankar
201cf107e98SManivannan Sadhasivamexamples:
202cf107e98SManivannan Sadhasivam  - |
203cf107e98SManivannan Sadhasivam    #include <dt-bindings/clock/qcom,rpmcc.h>
204c47b3b39SKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
205cf107e98SManivannan Sadhasivam    #include <dt-bindings/interrupt-controller/irq.h>
206cf107e98SManivannan Sadhasivam    adsp {
207cf107e98SManivannan Sadhasivam        compatible = "qcom,msm8974-adsp-pil";
208cf107e98SManivannan Sadhasivam
209c47b3b39SKrzysztof Kozlowski        interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
210cf107e98SManivannan Sadhasivam                      <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
211cf107e98SManivannan Sadhasivam                      <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
212cf107e98SManivannan Sadhasivam                      <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
213cf107e98SManivannan Sadhasivam                      <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
214cf107e98SManivannan Sadhasivam        interrupt-names = "wdog",
215cf107e98SManivannan Sadhasivam                  "fatal",
216cf107e98SManivannan Sadhasivam                  "ready",
217cf107e98SManivannan Sadhasivam                  "handover",
218cf107e98SManivannan Sadhasivam                  "stop-ack";
219cf107e98SManivannan Sadhasivam
220cf107e98SManivannan Sadhasivam        clocks = <&rpmcc RPM_CXO_CLK>;
221cf107e98SManivannan Sadhasivam        clock-names = "xo";
222cf107e98SManivannan Sadhasivam
223cf107e98SManivannan Sadhasivam        cx-supply = <&pm8841_s2>;
224cf107e98SManivannan Sadhasivam
225cf107e98SManivannan Sadhasivam        memory-region = <&adsp_region>;
226cf107e98SManivannan Sadhasivam
227cf107e98SManivannan Sadhasivam        qcom,smem-states = <&adsp_smp2p_out 0>;
228cf107e98SManivannan Sadhasivam        qcom,smem-state-names = "stop";
229cf107e98SManivannan Sadhasivam
230cf107e98SManivannan Sadhasivam        smd-edge {
231c47b3b39SKrzysztof Kozlowski            interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
232cf107e98SManivannan Sadhasivam
233cf107e98SManivannan Sadhasivam            qcom,ipc = <&apcs 8 8>;
234cf107e98SManivannan Sadhasivam            qcom,smd-edge = <1>;
235cf107e98SManivannan Sadhasivam        };
236cf107e98SManivannan Sadhasivam    };
237