blob: 042a2e4159bd64db798a2efaa878ee3e7fd6efa5 [file] [log] [blame]
Bjorn Anderssonc49e9e92016-06-06 16:58:19 -07001Qualcomm WCNSS Binding
2
3This binding describes the Qualcomm WCNSS hardware. It consists of control
4block 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
28The subnodes of the wcnss node are optional and describe the individual blocks in
29the WCNSS.
30
31== Bluetooth
32The 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
Loic Poulaine7868a22017-09-08 15:57:54 +020040- local-bd-address:
41 Usage: optional
42 Value type: <u8 array>
43 Definition: see Documentation/devicetree/bindings/net/bluetooth.txt
44
Bjorn Anderssonc49e9e92016-06-06 16:58:19 -070045== WiFi
46The following properties are defined to the WiFi node:
47
48- compatible:
49 Usage: required
50 Value type: <string>
51 Definition: must be one of:
52 "qcom,wcnss-wlan",
53
54- interrupts:
55 Usage: required
56 Value type: <prop-encoded-array>
57 Definition: should specify the "rx" and "tx" interrupts
58
59- interrupt-names:
60 Usage: required
61 Value type: <stringlist>
62 Definition: must contain "rx" and "tx"
63
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
68
69- qcom,smem-state-names:
70 Usage: required
71 Value type: <stringlist>
72 Definition: must contain "tx-enable" and "tx-rings-empty"
73
74= EXAMPLE
75The 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
77described; as found on the 8974 platform.
78
79smd {
80 compatible = "qcom,smd";
81
82 pronto-edge {
83 interrupts = <0 142 1>;
84
85 qcom,ipc = <&apcs 8 17>;
86 qcom,smd-edge = <6>;
87
88 wcnss {
89 compatible = "qcom,wcnss";
90 qcom,smd-channels = "WCNSS_CTRL";
91
92 #address-cells = <1>;
93 #size-cells = <1>;
94
95 qcom,mmio = <&pronto>;
96
97 bt {
98 compatible = "qcom,wcnss-bt";
Loic Poulaine7868a22017-09-08 15:57:54 +020099
100 /* BD address 00:11:22:33:44:55 */
101 local-bd-address = [ 55 44 33 22 11 00 ];
Bjorn Anderssonc49e9e92016-06-06 16:58:19 -0700102 };
103
104 wlan {
105 compatible = "qcom,wcnss-wlan";
106
107 interrupts = <0 145 0>, <0 146 0>;
108 interrupt-names = "tx", "rx";
109
110 qcom,smem-state = <&apps_smsm 10>, <&apps_smsm 9>;
111 qcom,smem-state-names = "tx-enable", "tx-rings-empty";
112 };
113 };
114 };
115};
116
117soc {
118 pronto: pronto {
119 compatible = "qcom,pronto";
120
121 reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>;
122 reg-names = "ccu", "dxe", "pmu";
123 };
124};