Merge remote-tracking branch 'regmap/fix/cache' into regmap-linus
[sfrench/cifs-2.6.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
12 - reg:
13         Usage: required
14         Value type: <prop-encoded-array>
15         Definition: must specify the base address and size of the qdsp6 and
16                     rmb register blocks
17
18 - reg-names:
19         Usage: required
20         Value type: <stringlist>
21         Definition: must be "q6dsp" and "rmb"
22
23 - interrupts-extended:
24         Usage: required
25         Value type: <prop-encoded-array>
26         Definition: must list the watchdog, fatal IRQs ready, handover and
27                     stop-ack IRQs
28
29 - interrupt-names:
30         Usage: required
31         Value type: <stringlist>
32         Definition: must be "wdog", "fatal", "ready", "handover", "stop-ack"
33
34 - clocks:
35         Usage: required
36         Value type: <phandle>
37         Definition: reference to the iface, bus and mem clocks to be held on
38                     behalf of the booting of the Hexagon core
39
40 - clock-names:
41         Usage: required
42         Value type: <stringlist>
43         Definition: must be "iface", "bus", "mem"
44
45 - resets:
46         Usage: required
47         Value type: <phandle>
48         Definition: reference to the reset-controller for the modem sub-system
49
50 - reset-names:
51         Usage: required
52         Value type: <stringlist>
53         Definition: must be "mss_restart"
54
55 - cx-supply:
56 - mss-supply:
57 - mx-supply:
58 - pll-supply:
59         Usage: required
60         Value type: <phandle>
61         Definition: reference to the regulators to be held on behalf of the
62                     booting of the Hexagon core
63
64 - qcom,smem-states:
65         Usage: required
66         Value type: <phandle>
67         Definition: reference to the smem state for requesting the Hexagon to
68                     shut down
69
70 - qcom,smem-state-names:
71         Usage: required
72         Value type: <stringlist>
73         Definition: must be "stop"
74
75 - qcom,halt-regs:
76         Usage: required
77         Value type: <prop-encoded-array>
78         Definition: a phandle reference to a syscon representing TCSR followed
79                     by the three offsets within syscon for q6, modem and nc
80                     halt registers.
81
82 = SUBNODES:
83 The Hexagon node must contain two subnodes, named "mba" and "mpss" representing
84 the memory regions used by the Hexagon firmware. Each sub-node must contain:
85
86 - memory-region:
87         Usage: required
88         Value type: <phandle>
89         Definition: reference to the reserved-memory for the region
90
91 = EXAMPLE
92 The following example describes the resources needed to boot control the
93 Hexagon, as it is found on MSM8974 boards.
94
95         modem-rproc@fc880000 {
96                 compatible = "qcom,q6v5-pil";
97                 reg = <0xfc880000 0x100>,
98                       <0xfc820000 0x020>;
99                 reg-names = "qdsp6", "rmb";
100
101                 interrupts-extended = <&intc 0 24 1>,
102                                       <&modem_smp2p_in 0 0>,
103                                       <&modem_smp2p_in 1 0>,
104                                       <&modem_smp2p_in 2 0>,
105                                       <&modem_smp2p_in 3 0>;
106                 interrupt-names = "wdog",
107                                   "fatal",
108                                   "ready",
109                                   "handover",
110                                   "stop-ack";
111
112                 clocks = <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
113                          <&gcc GCC_MSS_CFG_AHB_CLK>,
114                          <&gcc GCC_BOOT_ROM_AHB_CLK>;
115                 clock-names = "iface", "bus", "mem";
116
117                 qcom,halt-regs = <&tcsr_mutex_block 0x1180 0x1200 0x1280>;
118
119                 resets = <&gcc GCC_MSS_RESTART>;
120                 reset-names = "mss_restart";
121
122                 cx-supply = <&pm8841_s2>;
123                 mss-supply = <&pm8841_s3>;
124                 mx-supply = <&pm8841_s1>;
125                 pll-supply = <&pm8941_l12>;
126
127                 qcom,smem-states = <&modem_smp2p_out 0>;
128                 qcom,smem-state-names = "stop";
129
130                 mba {
131                         memory-region = <&mba_region>;
132                 };
133
134                 mpss {
135                         memory-region = <&mpss_region>;
136                 };
137         };