xref: /freebsd/sys/contrib/device-tree/Bindings/soc/qcom/qcom,wcnss.txt (revision dc318a4ffabcbfa23bb56a33403aad36e6de30af)
1Qualcomm 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
40- local-bd-address:
41	Usage: optional
42	Value type: <u8 array>
43	Definition: see Documentation/devicetree/bindings/net/bluetooth.txt
44
45== 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";
99
100				/* BD address 00:11:22:33:44:55 */
101				local-bd-address = [ 55 44 33 22 11 00 ];
102			};
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};
125