WIP FPC-III support
[linux/fpc-iii.git] / Documentation / devicetree / bindings / soc / qcom / qcom,wcnss.txt
blob042a2e4159bd64db798a2efaa878ee3e7fd6efa5
1 Qualcomm WCNSS Binding
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.
6 - compatible:
7         Usage: required
8         Value type: <string>
9         Definition: must be: "qcom,wcnss",
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".
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"
27 = SUBNODES
28 The subnodes of the wcnss node are optional and describe the individual blocks in
29 the WCNSS.
31 == Bluetooth
32 The following properties are defined to the bluetooth node:
34 - compatible:
35         Usage: required
36         Value type: <string>
37         Definition: must be:
38                     "qcom,wcnss-bt"
40 - local-bd-address:
41         Usage: optional
42         Value type: <u8 array>
43         Definition: see Documentation/devicetree/bindings/net/bluetooth.txt
45 == WiFi
46 The following properties are defined to the WiFi node:
48 - compatible:
49         Usage: required
50         Value type: <string>
51         Definition: must be one of:
52                     "qcom,wcnss-wlan",
54 - interrupts:
55         Usage: required
56         Value type: <prop-encoded-array>
57         Definition: should specify the "rx" and "tx" interrupts
59 - interrupt-names:
60         Usage: required
61         Value type: <stringlist>
62         Definition: must contain "rx" and "tx"
64 - qcom,smem-state:
65         Usage: required
66         Value type: <prop-encoded-array>
67         Definition: should reference the tx-enable and tx-rings-empty SMEM states
69 - qcom,smem-state-names:
70         Usage: required
71         Value type: <stringlist>
72         Definition: must contain "tx-enable" and "tx-rings-empty"
74 = EXAMPLE
75 The following example represents a SMD node, with one edge representing the
76 "pronto" subsystem, with the wcnss device and its wcn3680 BT and WiFi blocks
77 described; as found on the 8974 platform.
79 smd {
80         compatible = "qcom,smd";
82         pronto-edge {
83                 interrupts = <0 142 1>;
85                 qcom,ipc = <&apcs 8 17>;
86                 qcom,smd-edge = <6>;
88                 wcnss {
89                         compatible = "qcom,wcnss";
90                         qcom,smd-channels = "WCNSS_CTRL";
92                         #address-cells = <1>;
93                         #size-cells = <1>;
95                         qcom,mmio = <&pronto>;
97                         bt {
98                                 compatible = "qcom,wcnss-bt";
100                                 /* BD address 00:11:22:33:44:55 */
101                                 local-bd-address = [ 55 44 33 22 11 00 ];
102                         };
104                         wlan {
105                                 compatible = "qcom,wcnss-wlan";
107                                 interrupts = <0 145 0>, <0 146 0>;
108                                 interrupt-names = "tx", "rx";
110                                 qcom,smem-state = <&apps_smsm 10>, <&apps_smsm 9>;
111                                 qcom,smem-state-names = "tx-enable", "tx-rings-empty";
112                         };
113                 };
114         };
117 soc {
118         pronto: pronto {
119                 compatible = "qcom,pronto";
121                 reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>;
122                 reg-names = "ccu", "dxe", "pmu";
123         };