Merge branches 'arm/msm', 'arm/allwinner', 'arm/smmu', 'x86/vt-d', 'hyper-v', 'core...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / remoteproc / qcom,q6v5.txt
1 Qualcomm Hexagon Peripheral Image Loader
2
3 This document defines the binding for a component that loads and boots firmware
4 on the Qualcomm Hexagon core.
5
6 - compatible:
7         Usage: required
8         Value type: <string>
9         Definition: must be one of:
10                     "qcom,q6v5-pil",
11                     "qcom,ipq8074-wcss-pil"
12                     "qcom,msm8916-mss-pil",
13                     "qcom,msm8974-mss-pil"
14                     "qcom,msm8996-mss-pil"
15                     "qcom,msm8998-mss-pil"
16                     "qcom,sc7180-mss-pil"
17                     "qcom,sdm845-mss-pil"
18
19 - reg:
20         Usage: required
21         Value type: <prop-encoded-array>
22         Definition: must specify the base address and size of the qdsp6 and
23                     rmb register blocks
24
25 - reg-names:
26         Usage: required
27         Value type: <stringlist>
28         Definition: must be "q6dsp" and "rmb"
29
30 - interrupts-extended:
31         Usage: required
32         Value type: <prop-encoded-array>
33         Definition: reference to the interrupts that match interrupt-names
34
35 - interrupt-names:
36         Usage: required
37         Value type: <stringlist>
38         Definition: The interrupts needed depends on the the compatible
39                     string:
40         qcom,q6v5-pil:
41         qcom,ipq8074-wcss-pil:
42         qcom,msm8916-mss-pil:
43         qcom,msm8974-mss-pil:
44                     must be "wdog", "fatal", "ready", "handover", "stop-ack"
45         qcom,msm8996-mss-pil:
46         qcom,msm8998-mss-pil:
47         qcom,sc7180-mss-pil:
48         qcom,sdm845-mss-pil:
49                     must be "wdog", "fatal", "ready", "handover", "stop-ack",
50                     "shutdown-ack"
51
52 - firmware-name:
53         Usage: optional
54         Value type: <stringlist>
55         Definition: must list the relative firmware image paths for mba and
56                     modem. They are used for booting and authenticating the
57                     Hexagon core.
58
59 - clocks:
60         Usage: required
61         Value type: <phandle>
62         Definition: reference to the clocks that match clock-names
63
64 - clock-names:
65         Usage: required
66         Value type: <stringlist>
67         Definition: The clocks needed depend on the compatible string:
68         qcom,ipq8074-wcss-pil:
69                     no clock names required
70         qcom,q6v5-pil:
71         qcom,msm8916-mss-pil:
72         qcom,msm8974-mss-pil:
73                     must be "iface", "bus", "mem", "xo"
74         qcom,msm8996-mss-pil:
75                     must be "iface", "bus", "mem", "xo", "gpll0_mss",
76                     "snoc_axi", "mnoc_axi", "pnoc", "qdss"
77         qcom,msm8998-mss-pil:
78                     must be "iface", "bus", "mem", "xo", "gpll0_mss",
79                     "snoc_axi", "mnoc_axi", "qdss"
80         qcom,sc7180-mss-pil:
81                     must be "iface", "bus", "xo", "snoc_axi", "mnoc_axi",
82                     "mss_crypto", "mss_nav", "nav"
83         qcom,sdm845-mss-pil:
84                     must be "iface", "bus", "mem", "xo", "gpll0_mss",
85                     "snoc_axi", "mnoc_axi", "prng"
86
87 - resets:
88         Usage: required
89         Value type: <phandle>
90         Definition: reference to the reset-controller for the modem sub-system
91                     reference to the list of 3 reset-controllers for the
92                     wcss sub-system
93                     reference to the list of 2 reset-controllers for the modem
94                     sub-system on SC7180, SDM845 SoCs
95
96 - reset-names:
97         Usage: required
98         Value type: <stringlist>
99         Definition: must be "mss_restart" for the modem sub-system
100                     must be "wcss_aon_reset", "wcss_reset", "wcss_q6_reset"
101                     for the wcss sub-system
102                     must be "mss_restart", "pdc_reset" for the modem
103                     sub-system on SC7180, SDM845 SoCs
104
105 For the compatible strings below the following supplies are required:
106   "qcom,q6v5-pil"
107   "qcom,msm8916-mss-pil",
108 - cx-supply:
109 - mx-supply:
110 - pll-supply:
111         Usage: required
112         Value type: <phandle>
113         Definition: reference to the regulators to be held on behalf of the
114                     booting of the Hexagon core
115
116 For the compatible string below the following supplies are required:
117   "qcom,msm8974-mss-pil"
118 - cx-supply:
119 - mss-supply:
120 - mx-supply:
121 - pll-supply:
122         Usage: required
123         Value type: <phandle>
124         Definition: reference to the regulators to be held on behalf of the
125                     booting of the Hexagon core
126
127 For the compatible string below the following supplies are required:
128   "qcom,msm8996-mss-pil"
129 - pll-supply:
130         Usage: required
131         Value type: <phandle>
132         Definition: reference to the regulators to be held on behalf of the
133                     booting of the Hexagon core
134
135 - power-domains:
136         Usage: required
137         Value type: <phandle>
138         Definition: reference to power-domains that match power-domain-names
139
140 - power-domain-names:
141         Usage: required
142         Value type: <stringlist>
143         Definition: The power-domains needed depend on the compatible string:
144         qcom,q6v5-pil:
145         qcom,ipq8074-wcss-pil:
146         qcom,msm8916-mss-pil:
147         qcom,msm8974-mss-pil:
148                     no power-domain names required
149         qcom,msm8996-mss-pil:
150         qcom,msm8998-mss-pil:
151                     must be "cx", "mx"
152         qcom,sc7180-mss-pil:
153         qcom,sdm845-mss-pil:
154                     must be "cx", "mx", "mss", "load_state"
155
156 - qcom,smem-states:
157         Usage: required
158         Value type: <phandle>
159         Definition: reference to the smem state for requesting the Hexagon to
160                     shut down
161
162 - qcom,smem-state-names:
163         Usage: required
164         Value type: <stringlist>
165         Definition: must be "stop"
166
167 - qcom,halt-regs:
168         Usage: required
169         Value type: <prop-encoded-array>
170         Definition: a phandle reference to a syscon representing TCSR followed
171                     by the three offsets within syscon for q6, modem and nc
172                     halt registers.
173
174 For the compatible strings below the following phandle references are required:
175   "qcom,sc7180-mss-pil"
176 - qcom,halt-nav-regs:
177         Usage: required
178         Value type: <prop-encoded-array>
179         Definition: reference to a list of 2 phandles with one offset each for
180                     the modem sub-system running on SC7180 SoC. The first
181                     phandle reference is to the mss clock node followed by the
182                     offset within register space for nav halt register. The
183                     second phandle reference is to a syscon representing TCSR
184                     followed by the offset within syscon for conn_box_spare0
185                     register.
186
187 The Hexagon node must contain iommus property as described in ../iommu/iommu.txt
188 on platforms which do not have TrustZone.
189
190 = SUBNODES:
191 The Hexagon node must contain two subnodes, named "mba" and "mpss" representing
192 the memory regions used by the Hexagon firmware. Each sub-node must contain:
193
194 - memory-region:
195         Usage: required
196         Value type: <phandle>
197         Definition: reference to the reserved-memory for the region
198
199 The Hexagon node may also have an subnode named either "smd-edge" or
200 "glink-edge" that describes the communication edge, channels and devices
201 related to the Hexagon.  See ../soc/qcom/qcom,smd.txt and
202 ../soc/qcom/qcom,glink.txt for details on how to describe these.
203
204 = EXAMPLE
205 The following example describes the resources needed to boot control the
206 Hexagon, as it is found on MSM8974 boards.
207
208         modem-rproc@fc880000 {
209                 compatible = "qcom,q6v5-pil";
210                 reg = <0xfc880000 0x100>,
211                       <0xfc820000 0x020>;
212                 reg-names = "qdsp6", "rmb";
213
214                 interrupts-extended = <&intc 0 24 1>,
215                                       <&modem_smp2p_in 0 0>,
216                                       <&modem_smp2p_in 1 0>,
217                                       <&modem_smp2p_in 2 0>,
218                                       <&modem_smp2p_in 3 0>;
219                 interrupt-names = "wdog",
220                                   "fatal",
221                                   "ready",
222                                   "handover",
223                                   "stop-ack";
224
225                 clocks = <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
226                          <&gcc GCC_MSS_CFG_AHB_CLK>,
227                          <&gcc GCC_BOOT_ROM_AHB_CLK>;
228                 clock-names = "iface", "bus", "mem";
229
230                 qcom,halt-regs = <&tcsr_mutex_block 0x1180 0x1200 0x1280>;
231
232                 resets = <&gcc GCC_MSS_RESTART>;
233                 reset-names = "mss_restart";
234
235                 cx-supply = <&pm8841_s2>;
236                 mss-supply = <&pm8841_s3>;
237                 mx-supply = <&pm8841_s1>;
238                 pll-supply = <&pm8941_l12>;
239
240                 qcom,smem-states = <&modem_smp2p_out 0>;
241                 qcom,smem-state-names = "stop";
242
243                 mba {
244                         memory-region = <&mba_region>;
245                 };
246
247                 mpss {
248                         memory-region = <&mpss_region>;
249                 };
250         };