Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / remoteproc / qcom,adsp.txt
1 Qualcomm ADSP Peripheral Image Loader
2
3 This document defines the binding for a component that loads and boots firmware
4 on the Qualcomm ADSP Hexagon core.
5
6 - compatible:
7         Usage: required
8         Value type: <string>
9         Definition: must be one of:
10                     "qcom,msm8974-adsp-pil"
11                     "qcom,msm8996-adsp-pil"
12
13 - interrupts-extended:
14         Usage: required
15         Value type: <prop-encoded-array>
16         Definition: must list the watchdog, fatal IRQs ready, handover and
17                     stop-ack IRQs
18
19 - interrupt-names:
20         Usage: required
21         Value type: <stringlist>
22         Definition: must be "wdog", "fatal", "ready", "handover", "stop-ack"
23
24 - clocks:
25         Usage: required
26         Value type: <prop-encoded-array>
27         Definition: reference to the xo clock to be held on behalf of the
28                     booting Hexagon core
29
30 - clock-names:
31         Usage: required
32         Value type: <stringlist>
33         Definition: must be "xo"
34
35 - cx-supply:
36         Usage: required
37         Value type: <phandle>
38         Definition: reference to the regulator to be held on behalf of the
39                     booting Hexagon core
40
41 - memory-region:
42         Usage: required
43         Value type: <phandle>
44         Definition: reference to the reserved-memory for the ADSP
45
46 - qcom,smem-states:
47         Usage: required
48         Value type: <phandle>
49         Definition: reference to the smem state for requesting the ADSP to
50                     shut down
51
52 - qcom,smem-state-names:
53         Usage: required
54         Value type: <stringlist>
55         Definition: must be "stop"
56
57
58 = SUBNODES
59 The adsp node may have an subnode named "smd-edge" that describes the SMD edge,
60 channels and devices related to the ADSP.  See ../soc/qcom/qcom,smd.txt for
61 details on how to describe the SMD edge.
62
63
64 = EXAMPLE
65 The following example describes the resources needed to boot control the
66 ADSP, as it is found on MSM8974 boards.
67
68         adsp {
69                 compatible = "qcom,msm8974-adsp-pil";
70
71                 interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>,
72                                       <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
73                                       <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
74                                       <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
75                                       <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
76                 interrupt-names = "wdog",
77                                   "fatal",
78                                   "ready",
79                                   "handover",
80                                   "stop-ack";
81
82                 clocks = <&rpmcc RPM_CXO_CLK>;
83                 clock-names = "xo";
84
85                 cx-supply = <&pm8841_s2>;
86
87                 memory-region = <&adsp_region>;
88
89                 qcom,smem-states = <&adsp_smp2p_out 0>;
90                 qcom,smem-state-names = "stop";
91
92                 smd-edge {
93                         interrupts = <0 156 IRQ_TYPE_EDGE_RISING>;
94
95                         qcom,ipc = <&apcs 8 8>;
96                         qcom,smd-edge = <1>;
97                 };
98         };