1 Qualcomm ADSP Peripheral Image Loader
3 This document defines the binding for a component that loads and boots firmware
4 on the Qualcomm ADSP Hexagon core.
9 Definition: must be one of:
10 "qcom,msm8974-adsp-pil"
11 "qcom,msm8996-adsp-pil"
12 "qcom,msm8996-slpi-pil"
13 "qcom,msm8998-adsp-pas"
14 "qcom,msm8998-slpi-pas"
15 "qcom,qcs404-adsp-pas"
16 "qcom,qcs404-cdsp-pas"
17 "qcom,qcs404-wcss-pas"
18 "qcom,sc7180-mpss-pas"
19 "qcom,sdm845-adsp-pas"
20 "qcom,sdm845-cdsp-pas"
22 "qcom,sm8150-adsp-pas"
23 "qcom,sm8150-cdsp-pas"
24 "qcom,sm8150-mpss-pas"
25 "qcom,sm8150-slpi-pas"
26 "qcom,sm8250-adsp-pas"
27 "qcom,sm8250-cdsp-pas"
28 "qcom,sm8250-slpi-pas"
29 "qcom,sm8350-adsp-pas"
30 "qcom,sm8350-cdsp-pas"
31 "qcom,sm8350-slpi-pas"
32 "qcom,sm8350-mpss-pas"
34 - interrupts-extended:
36 Value type: <prop-encoded-array>
37 Definition: reference to the interrupts that match interrupt-names
41 Value type: <stringlist>
42 Definition: The interrupts needed depends on the compatible
44 qcom,msm8974-adsp-pil:
45 qcom,msm8996-adsp-pil:
46 qcom,msm8996-slpi-pil:
47 qcom,msm8998-adsp-pas:
48 qcom,msm8998-slpi-pas:
62 must be "wdog", "fatal", "ready", "handover", "stop-ack"
68 must be "wdog", "fatal", "ready", "handover", "stop-ack",
74 Definition: must list the relative firmware image path for the
79 Value type: <prop-encoded-array>
80 Definition: reference to the xo clock and optionally aggre2 clock to be
81 held on behalf of the booting Hexagon core
85 Value type: <stringlist>
86 Definition: must be "xo" and optionally include "aggre2"
91 Definition: reference to the regulator to be held on behalf of the
97 Definition: reference to the px regulator to be held on behalf of the
102 Value type: <phandle>
103 Definition: reference to power-domains that match the power-domain-names
105 - power-domain-names:
107 Value type: <stringlist>
108 Definition: The power-domains needed depend on the compatible string:
109 qcom,msm8974-adsp-pil:
110 qcom,msm8996-adsp-pil:
111 qcom,msm8998-adsp-pas:
113 qcom,msm8996-slpi-pil:
115 qcom,msm8998-slpi-pas:
117 qcom,qcs404-adsp-pas:
119 qcom,qcs404-cdsp-pas:
120 qcom,qcs404-wcss-pas:
122 qcom,sdm845-adsp-pas:
123 qcom,sdm845-cdsp-pas:
124 qcom,sm8150-adsp-pas:
125 qcom,sm8150-cdsp-pas:
126 qcom,sm8250-cdsp-pas:
127 qcom,sm8350-cdsp-pas:
128 must be "cx", "load_state"
129 qcom,sc7180-mpss-pas:
130 qcom,sm8150-mpss-pas:
131 qcom,sm8350-mpss-pas:
132 must be "cx", "load_state", "mss"
135 qcom,sm8250-adsp-pas:
136 qcom,sm8350-adsp-pas:
137 qcom,sm8150-slpi-pas:
138 qcom,sm8250-slpi-pas:
139 qcom,sm8350-slpi-pas:
140 must be "lcx", "lmx", "load_state"
144 Value type: <phandle>
145 Definition: reference to the reserved-memory for the ADSP
149 Value type: <phandle>
150 Definition: reference to the smem state for requesting the ADSP to
153 - qcom,smem-state-names:
155 Value type: <stringlist>
156 Definition: must be "stop"
160 The adsp node may have an subnode named either "smd-edge" or "glink-edge" that
161 describes the communication edge, channels and devices related to the ADSP.
162 See ../soc/qcom/qcom,smd.txt and ../soc/qcom/qcom,glink.txt for details on how
167 The following example describes the resources needed to boot control the
168 ADSP, as it is found on MSM8974 boards.
171 compatible = "qcom,msm8974-adsp-pil";
173 interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>,
174 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
175 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
176 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
177 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
178 interrupt-names = "wdog",
184 clocks = <&rpmcc RPM_CXO_CLK>;
187 cx-supply = <&pm8841_s2>;
189 memory-region = <&adsp_region>;
191 qcom,smem-states = <&adsp_smp2p_out 0>;
192 qcom,smem-state-names = "stop";
195 interrupts = <0 156 IRQ_TYPE_EDGE_RISING>;
197 qcom,ipc = <&apcs 8 8>;
202 The following example describes the resources needed to boot control the
203 SLPI, as it is found on MSM8996 boards.
206 compatible = "qcom,msm8996-slpi-pil";
207 interrupts-extended = <&intc 0 390 IRQ_TYPE_EDGE_RISING>,
208 <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
209 <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
210 <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
211 <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
212 interrupt-names = "wdog",
218 clocks = <&rpmcc MSM8996_RPM_SMD_XO_CLK_SRC>,
219 <&rpmcc MSM8996_RPM_SMD_AGGR2_NOC_CLK>;
220 clock-names = "xo", "aggre2";
222 cx-supply = <&pm8994_l26>;
223 px-supply = <&pm8994_lvs2>;
225 memory-region = <&slpi_region>;
226 qcom,smem-states = <&slpi_smp2p_out 0>;
227 qcom,smem-state-names = "stop";