Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / soc / qcom / qcom,wcnss.txt
1 Qualcomm WCNSS Binding
2
3 This binding describes the Qualcomm WCNSS hardware. It consists of control
4 block and a BT, WiFi and FM radio block, all using SMD as command channels.
5
6 - compatible:
7         Usage: required
8         Value type: <string>
9         Definition: must be: "qcom,wcnss",
10
11 - qcom,smd-channel:
12         Usage: required
13         Value type: <string>
14         Definition: standard SMD property specifying the SMD channel used for
15                     communication with the WiFi firmware.
16                     Should be "WCNSS_CTRL".
17
18 - qcom,mmio:
19         Usage: required
20         Value type: <prop-encoded-array>
21         Definition: reference to a node specifying the wcnss "ccu" and "dxe"
22                     register blocks. The node must be compatible with one of
23                     the following:
24                     "qcom,riva",
25                     "qcom,pronto"
26
27 = SUBNODES
28 The subnodes of the wcnss node are optional and describe the individual blocks in
29 the WCNSS.
30
31 == Bluetooth
32 The following properties are defined to the bluetooth node:
33
34 - compatible:
35         Usage: required
36         Value type: <string>
37         Definition: must be:
38                     "qcom,wcnss-bt"
39
40 == WiFi
41 The following properties are defined to the WiFi node:
42
43 - compatible:
44         Usage: required
45         Value type: <string>
46         Definition: must be one of:
47                     "qcom,wcnss-wlan",
48
49 - interrupts:
50         Usage: required
51         Value type: <prop-encoded-array>
52         Definition: should specify the "rx" and "tx" interrupts
53
54 - interrupt-names:
55         Usage: required
56         Value type: <stringlist>
57         Definition: must contain "rx" and "tx"
58
59 - qcom,smem-state:
60         Usage: required
61         Value type: <prop-encoded-array>
62         Definition: should reference the tx-enable and tx-rings-empty SMEM states
63
64 - qcom,smem-state-names:
65         Usage: required
66         Value type: <stringlist>
67         Definition: must contain "tx-enable" and "tx-rings-empty"
68
69 = EXAMPLE
70 The following example represents a SMD node, with one edge representing the
71 "pronto" subsystem, with the wcnss device and its wcn3680 BT and WiFi blocks
72 described; as found on the 8974 platform.
73
74 smd {
75         compatible = "qcom,smd";
76
77         pronto-edge {
78                 interrupts = <0 142 1>;
79
80                 qcom,ipc = <&apcs 8 17>;
81                 qcom,smd-edge = <6>;
82
83                 wcnss {
84                         compatible = "qcom,wcnss";
85                         qcom,smd-channels = "WCNSS_CTRL";
86
87                         #address-cells = <1>;
88                         #size-cells = <1>;
89
90                         qcom,mmio = <&pronto>;
91
92                         bt {
93                                 compatible = "qcom,wcnss-bt";
94                         };
95
96                         wlan {
97                                 compatible = "qcom,wcnss-wlan";
98
99                                 interrupts = <0 145 0>, <0 146 0>;
100                                 interrupt-names = "tx", "rx";
101
102                                 qcom,smem-state = <&apps_smsm 10>, <&apps_smsm 9>;
103                                 qcom,smem-state-names = "tx-enable", "tx-rings-empty";
104                         };
105                 };
106         };
107 };
108
109 soc {
110         pronto: pronto {
111                 compatible = "qcom,pronto";
112
113                 reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>;
114                 reg-names = "ccu", "dxe", "pmu";
115         };
116 };