Merge tag 'cris-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper...
[cascardo/linux.git] / Documentation / devicetree / bindings / remoteproc / qcom,wcnss-pil.txt
1 Qualcomm WCNSS Peripheral Image Loader
2
3 This document defines the binding for a component that loads and boots firmware
4 on the Qualcomm WCNSS core.
5
6 - compatible:
7         Usage: required
8         Value type: <string>
9         Definition: must be one of:
10                     "qcom,riva-pil",
11                     "qcom,pronto-v1-pil",
12                     "qcom,pronto-v2-pil"
13
14 - reg:
15         Usage: required
16         Value type: <prop-encoded-array>
17         Definition: must specify the base address and size of the CCU, DXE and
18                     PMU register blocks
19
20 - reg-names:
21         Usage: required
22         Value type: <stringlist>
23         Definition: must be "ccu", "dxe", "pmu"
24
25 - interrupts-extended:
26         Usage: required
27         Value type: <prop-encoded-array>
28         Definition: must list the watchdog and fatal IRQs and may specify the
29                     ready, handover and stop-ack IRQs
30
31 - interrupt-names:
32         Usage: required
33         Value type: <stringlist>
34         Definition: should be "wdog", "fatal", optionally followed by "ready",
35                     "handover", "stop-ack"
36
37 - vddmx-supply:
38 - vddcx-supply:
39 - vddpx-supply:
40         Usage: required
41         Value type: <phandle>
42         Definition: reference to the regulators to be held on behalf of the
43                     booting of the WCNSS core
44
45 - qcom,smem-states:
46         Usage: optional
47         Value type: <prop-encoded-array>
48         Definition: reference to the SMEM state used to indicate to WCNSS that
49                     it should shut down
50
51 - qcom,smem-state-names:
52         Usage: optional
53         Value type: <stringlist>
54         Definition: should be "stop"
55
56 - memory-region:
57         Usage: required
58         Value type: <prop-encoded-array>
59         Definition: reference to reserved-memory node for the remote processor
60                     see ../reserved-memory/reserved-memory.txt
61
62 = SUBNODES
63 A single subnode of the WCNSS PIL describes the attached rf module and its
64 resource dependencies.
65
66 - compatible:
67         Usage: required
68         Value type: <string>
69         Definition: must be one of:
70                     "qcom,wcn3620",
71                     "qcom,wcn3660",
72                     "qcom,wcn3680"
73
74 - clocks:
75         Usage: required
76         Value type: <prop-encoded-array>
77         Definition: should specify the xo clock and optionally the rf clock
78
79 - clock-names:
80         Usage: required
81         Value type: <stringlist>
82         Definition: should be "xo", optionally followed by "rf"
83
84 - vddxo-supply:
85 - vddrfa-supply:
86 - vddpa-supply:
87 - vdddig-supply:
88         Usage: required
89         Value type: <phandle>
90         Definition: reference to the regulators to be held on behalf of the
91                     booting of the WCNSS core
92
93 = EXAMPLE
94 The following example describes the resources needed to boot control the WCNSS,
95 with attached WCN3680, as it is commonly found on MSM8974 boards.
96
97 pronto@fb204000 {
98         compatible = "qcom,pronto-v2-pil";
99         reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>;
100         reg-names = "ccu", "dxe", "pmu";
101
102         interrupts-extended = <&intc 0 149 1>,
103                               <&wcnss_smp2p_slave 0 0>,
104                               <&wcnss_smp2p_slave 1 0>,
105                               <&wcnss_smp2p_slave 2 0>,
106                               <&wcnss_smp2p_slave 3 0>;
107         interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
108
109         vddmx-supply = <&pm8841_s1>;
110         vddcx-supply = <&pm8841_s2>;
111         vddpx-supply = <&pm8941_s3>;
112
113         qcom,smem-states = <&wcnss_smp2p_out 0>;
114         qcom,smem-state-names = "stop";
115
116         memory-region = <&wcnss_region>;
117
118         pinctrl-names = "default";
119         pinctrl-0 = <&wcnss_pin_a>;
120
121         iris {
122                 compatible = "qcom,wcn3680";
123
124                 clocks = <&rpmcc RPM_CXO_CLK_SRC>, <&rpmcc RPM_CXO_A2>;
125                 clock-names = "xo", "rf";
126
127                 vddxo-supply = <&pm8941_l6>;
128                 vddrfa-supply = <&pm8941_l11>;
129                 vddpa-supply = <&pm8941_l19>;
130                 vdddig-supply = <&pm8941_s3>;
131         };
132 };