]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - drivers/net/wireless/libertas/host.h
7af921b0832ffd0f4bcf5f7f07d0f42758903ae6
[mirror_ubuntu-bionic-kernel.git] / drivers / net / wireless / libertas / host.h
1 /**
2 * This file contains definitions of WLAN commands.
3 */
4
5 #ifndef _HOST_H_
6 #define _HOST_H_
7
8 /** PUBLIC DEFINITIONS */
9 #define DEFAULT_AD_HOC_CHANNEL 6
10 #define DEFAULT_AD_HOC_CHANNEL_A 36
11
12 /** IEEE 802.11 oids */
13 #define OID_802_11_SSID 0x00008002
14 #define OID_802_11_INFRASTRUCTURE_MODE 0x00008008
15 #define OID_802_11_FRAGMENTATION_THRESHOLD 0x00008009
16 #define OID_802_11_RTS_THRESHOLD 0x0000800A
17 #define OID_802_11_TX_ANTENNA_SELECTED 0x0000800D
18 #define OID_802_11_SUPPORTED_RATES 0x0000800E
19 #define OID_802_11_STATISTICS 0x00008012
20 #define OID_802_11_TX_RETRYCOUNT 0x0000801D
21 #define OID_802_11D_ENABLE 0x00008020
22
23 #define CMD_OPTION_WAITFORRSP 0x0002
24
25 /** Host command ID */
26 #define CMD_CODE_DNLD 0x0002
27 #define CMD_GET_HW_SPEC 0x0003
28 #define CMD_EEPROM_UPDATE 0x0004
29 #define CMD_802_11_RESET 0x0005
30 #define CMD_802_11_SCAN 0x0006
31 #define CMD_802_11_GET_LOG 0x000b
32 #define CMD_MAC_MULTICAST_ADR 0x0010
33 #define CMD_802_11_AUTHENTICATE 0x0011
34 #define CMD_802_11_EEPROM_ACCESS 0x0059
35 #define CMD_802_11_ASSOCIATE 0x0050
36 #define CMD_802_11_SET_WEP 0x0013
37 #define CMD_802_11_GET_STAT 0x0014
38 #define CMD_802_3_GET_STAT 0x0015
39 #define CMD_802_11_SNMP_MIB 0x0016
40 #define CMD_MAC_REG_MAP 0x0017
41 #define CMD_BBP_REG_MAP 0x0018
42 #define CMD_MAC_REG_ACCESS 0x0019
43 #define CMD_BBP_REG_ACCESS 0x001a
44 #define CMD_RF_REG_ACCESS 0x001b
45 #define CMD_802_11_RADIO_CONTROL 0x001c
46 #define CMD_802_11_RF_CHANNEL 0x001d
47 #define CMD_802_11_RF_TX_POWER 0x001e
48 #define CMD_802_11_RSSI 0x001f
49 #define CMD_802_11_RF_ANTENNA 0x0020
50
51 #define CMD_802_11_PS_MODE 0x0021
52
53 #define CMD_802_11_DATA_RATE 0x0022
54 #define CMD_RF_REG_MAP 0x0023
55 #define CMD_802_11_DEAUTHENTICATE 0x0024
56 #define CMD_802_11_REASSOCIATE 0x0025
57 #define CMD_802_11_DISASSOCIATE 0x0026
58 #define CMD_MAC_CONTROL 0x0028
59 #define CMD_802_11_AD_HOC_START 0x002b
60 #define CMD_802_11_AD_HOC_JOIN 0x002c
61
62 #define CMD_802_11_QUERY_TKIP_REPLY_CNTRS 0x002e
63 #define CMD_802_11_ENABLE_RSN 0x002f
64 #define CMD_802_11_PAIRWISE_TSC 0x0036
65 #define CMD_802_11_GROUP_TSC 0x0037
66 #define CMD_802_11_KEY_MATERIAL 0x005e
67
68 #define CMD_802_11_SET_AFC 0x003c
69 #define CMD_802_11_GET_AFC 0x003d
70
71 #define CMD_802_11_AD_HOC_STOP 0x0040
72
73 #define CMD_802_11_BEACON_STOP 0x0049
74
75 #define CMD_802_11_MAC_ADDRESS 0x004D
76 #define CMD_802_11_EEPROM_ACCESS 0x0059
77
78 #define CMD_802_11_BAND_CONFIG 0x0058
79
80 #define CMD_802_11D_DOMAIN_INFO 0x005b
81
82 #define CMD_802_11_SLEEP_PARAMS 0x0066
83
84 #define CMD_802_11_INACTIVITY_TIMEOUT 0x0067
85
86 #define CMD_802_11_TPC_CFG 0x0072
87 #define CMD_802_11_PWR_CFG 0x0073
88
89 #define CMD_802_11_LED_GPIO_CTRL 0x004e
90
91 #define CMD_802_11_SUBSCRIBE_EVENT 0x0075
92
93 #define CMD_802_11_RATE_ADAPT_RATESET 0x0076
94
95 #define CMD_802_11_TX_RATE_QUERY 0x007f
96
97 #define CMD_GET_TSF 0x0080
98
99 #define CMD_BT_ACCESS 0x0087
100 #define CMD_RET_BT_ACCESS 0x8087
101
102 #define CMD_FWT_ACCESS 0x0095
103 #define CMD_RET_FWT_ACCESS 0x8095
104
105 #define CMD_MESH_ACCESS 0x009b
106 #define CMD_RET_MESH_ACCESS 0x809b
107
108 /* For the IEEE Power Save */
109 #define CMD_SUBCMD_ENTER_PS 0x0030
110 #define CMD_SUBCMD_EXIT_PS 0x0031
111 #define CMD_SUBCMD_SLEEP_CONFIRMED 0x0034
112 #define CMD_SUBCMD_FULL_POWERDOWN 0x0035
113 #define CMD_SUBCMD_FULL_POWERUP 0x0036
114
115 /* command RET code, MSB is set to 1 */
116 #define CMD_RET_HW_SPEC_INFO 0x8003
117 #define CMD_RET_EEPROM_UPDATE 0x8004
118 #define CMD_RET_802_11_RESET 0x8005
119 #define CMD_RET_802_11_SCAN 0x8006
120 #define CMD_RET_802_11_GET_LOG 0x800b
121 #define CMD_RET_MAC_CONTROL 0x8028
122 #define CMD_RET_MAC_MULTICAST_ADR 0x8010
123 #define CMD_RET_802_11_AUTHENTICATE 0x8011
124 #define CMD_RET_802_11_DEAUTHENTICATE 0x8024
125 #define CMD_RET_802_11_ASSOCIATE 0x8012
126 #define CMD_RET_802_11_REASSOCIATE 0x8025
127 #define CMD_RET_802_11_DISASSOCIATE 0x8026
128 #define CMD_RET_802_11_SET_WEP 0x8013
129 #define CMD_RET_802_11_STAT 0x8014
130 #define CMD_RET_802_3_STAT 0x8015
131 #define CMD_RET_802_11_SNMP_MIB 0x8016
132 #define CMD_RET_MAC_REG_MAP 0x8017
133 #define CMD_RET_BBP_REG_MAP 0x8018
134 #define CMD_RET_RF_REG_MAP 0x8023
135 #define CMD_RET_MAC_REG_ACCESS 0x8019
136 #define CMD_RET_BBP_REG_ACCESS 0x801a
137 #define CMD_RET_RF_REG_ACCESS 0x801b
138 #define CMD_RET_802_11_RADIO_CONTROL 0x801c
139 #define CMD_RET_802_11_RF_CHANNEL 0x801d
140 #define CMD_RET_802_11_RSSI 0x801f
141 #define CMD_RET_802_11_RF_TX_POWER 0x801e
142 #define CMD_RET_802_11_RF_ANTENNA 0x8020
143 #define CMD_RET_802_11_PS_MODE 0x8021
144 #define CMD_RET_802_11_DATA_RATE 0x8022
145
146 #define CMD_RET_802_11_AD_HOC_START 0x802B
147 #define CMD_RET_802_11_AD_HOC_JOIN 0x802C
148
149 #define CMD_RET_802_11_QUERY_TKIP_REPLY_CNTRS 0x802e
150 #define CMD_RET_802_11_ENABLE_RSN 0x802f
151 #define CMD_RET_802_11_PAIRWISE_TSC 0x8036
152 #define CMD_RET_802_11_GROUP_TSC 0x8037
153 #define CMD_RET_802_11_KEY_MATERIAL 0x805e
154
155 #define CMD_ENABLE_RSN 0x0001
156 #define CMD_DISABLE_RSN 0x0000
157
158 #define CMD_ACT_SET 0x0001
159 #define CMD_ACT_GET 0x0000
160
161 #define CMD_ACT_GET_AES (CMD_ACT_GET + 2)
162 #define CMD_ACT_SET_AES (CMD_ACT_SET + 2)
163 #define CMD_ACT_REMOVE_AES (CMD_ACT_SET + 3)
164
165 #define CMD_RET_802_11_SET_AFC 0x803c
166 #define CMD_RET_802_11_GET_AFC 0x803d
167
168 #define CMD_RET_802_11_AD_HOC_STOP 0x8040
169
170 #define CMD_RET_802_11_BEACON_STOP 0x8049
171
172 #define CMD_RET_802_11_MAC_ADDRESS 0x804D
173 #define CMD_RET_802_11_EEPROM_ACCESS 0x8059
174
175 #define CMD_RET_802_11_BAND_CONFIG 0x8058
176
177 #define CMD_RET_802_11_SLEEP_PARAMS 0x8066
178
179 #define CMD_RET_802_11_INACTIVITY_TIMEOUT 0x8067
180
181 #define CMD_RET_802_11D_DOMAIN_INFO (0x8000 | \
182 CMD_802_11D_DOMAIN_INFO)
183
184 #define CMD_RET_802_11_TPC_CFG (CMD_802_11_TPC_CFG | 0x8000)
185 #define CMD_RET_802_11_PWR_CFG (CMD_802_11_PWR_CFG | 0x8000)
186
187 #define CMD_RET_802_11_LED_GPIO_CTRL 0x804e
188
189 #define CMD_RET_802_11_SUBSCRIBE_EVENT (CMD_802_11_SUBSCRIBE_EVENT | 0x8000)
190
191 #define CMD_RET_802_11_RATE_ADAPT_RATESET (CMD_802_11_RATE_ADAPT_RATESET | 0x8000)
192
193 #define CMD_RTE_802_11_TX_RATE_QUERY (CMD_802_11_TX_RATE_QUERY | 0x8000)
194
195 #define CMD_RET_GET_TSF 0x8080
196
197 /* Define action or option for CMD_802_11_SET_WEP */
198 #define CMD_ACT_ADD 0x0002
199 #define CMD_ACT_REMOVE 0x0004
200 #define CMD_ACT_USE_DEFAULT 0x0008
201
202 #define CMD_TYPE_WEP_40_BIT 0x0001
203 #define CMD_TYPE_WEP_104_BIT 0x0002
204
205 #define CMD_NUM_OF_WEP_KEYS 4
206
207 #define CMD_WEP_KEY_INDEX_MASK 0x3fff
208
209 /* Define action or option for CMD_802_11_RESET */
210 #define CMD_ACT_HALT 0x0003
211
212 /* Define action or option for CMD_802_11_SCAN */
213 #define CMD_BSS_TYPE_BSS 0x0001
214 #define CMD_BSS_TYPE_IBSS 0x0002
215 #define CMD_BSS_TYPE_ANY 0x0003
216
217 /* Define action or option for CMD_802_11_SCAN */
218 #define CMD_SCAN_TYPE_ACTIVE 0x0000
219 #define CMD_SCAN_TYPE_PASSIVE 0x0001
220
221 #define CMD_SCAN_RADIO_TYPE_BG 0
222
223 #define CMD_SCAN_PROBE_DELAY_TIME 0
224
225 /* Define action or option for CMD_MAC_CONTROL */
226 #define CMD_ACT_MAC_RX_ON 0x0001
227 #define CMD_ACT_MAC_TX_ON 0x0002
228 #define CMD_ACT_MAC_LOOPBACK_ON 0x0004
229 #define CMD_ACT_MAC_WEP_ENABLE 0x0008
230 #define CMD_ACT_MAC_INT_ENABLE 0x0010
231 #define CMD_ACT_MAC_MULTICAST_ENABLE 0x0020
232 #define CMD_ACT_MAC_BROADCAST_ENABLE 0x0040
233 #define CMD_ACT_MAC_PROMISCUOUS_ENABLE 0x0080
234 #define CMD_ACT_MAC_ALL_MULTICAST_ENABLE 0x0100
235 #define CMD_ACT_MAC_STRICT_PROTECTION_ENABLE 0x0400
236
237 /* Define action or option for CMD_802_11_RADIO_CONTROL */
238 #define CMD_TYPE_AUTO_PREAMBLE 0x0001
239 #define CMD_TYPE_SHORT_PREAMBLE 0x0002
240 #define CMD_TYPE_LONG_PREAMBLE 0x0003
241
242 #define TURN_ON_RF 0x01
243 #define RADIO_ON 0x01
244 #define RADIO_OFF 0x00
245
246 #define SET_AUTO_PREAMBLE 0x05
247 #define SET_SHORT_PREAMBLE 0x03
248 #define SET_LONG_PREAMBLE 0x01
249
250 /* Define action or option for CMD_802_11_RF_CHANNEL */
251 #define CMD_OPT_802_11_RF_CHANNEL_GET 0x00
252 #define CMD_OPT_802_11_RF_CHANNEL_SET 0x01
253
254 /* Define action or option for CMD_802_11_RF_TX_POWER */
255 #define CMD_ACT_TX_POWER_OPT_GET 0x0000
256 #define CMD_ACT_TX_POWER_OPT_SET_HIGH 0x8007
257 #define CMD_ACT_TX_POWER_OPT_SET_MID 0x8004
258 #define CMD_ACT_TX_POWER_OPT_SET_LOW 0x8000
259
260 #define CMD_ACT_TX_POWER_INDEX_HIGH 0x0007
261 #define CMD_ACT_TX_POWER_INDEX_MID 0x0004
262 #define CMD_ACT_TX_POWER_INDEX_LOW 0x0000
263
264 /* Define action or option for CMD_802_11_DATA_RATE */
265 #define CMD_ACT_SET_tx_auto 0x0000
266 #define CMD_ACT_SET_tx_fix_rate 0x0001
267 #define CMD_ACT_GET_tx_rate 0x0002
268
269 #define CMD_ACT_SET_rx 0x0001
270 #define CMD_ACT_SET_tx 0x0002
271 #define CMD_ACT_SET_both 0x0003
272 #define CMD_ACT_GET_rx 0x0004
273 #define CMD_ACT_GET_tx 0x0008
274 #define CMD_ACT_GET_both 0x000c
275
276 /* Define action or option for CMD_802_11_PS_MODE */
277 #define CMD_TYPE_CAM 0x0000
278 #define CMD_TYPE_MAX_PSP 0x0001
279 #define CMD_TYPE_FAST_PSP 0x0002
280
281 /* Define action or option for CMD_BT_ACCESS */
282 enum CMD_BT_ACCESS_opts {
283 /* The bt commands start at 5 instead of 1 because the old dft commands
284 * are mapped to 1-4. These old commands are no longer maintained and
285 * should not be called.
286 */
287 CMD_ACT_BT_ACCESS_ADD = 5,
288 CMD_ACT_BT_ACCESS_DEL,
289 CMD_ACT_BT_ACCESS_LIST,
290 CMD_ACT_BT_ACCESS_RESET,
291 CMD_ACT_BT_ACCESS_SET_INVERT,
292 CMD_ACT_BT_ACCESS_GET_INVERT
293 };
294
295 /* Define action or option for CMD_FWT_ACCESS */
296 enum CMD_FWT_ACCESS_opts {
297 CMD_ACT_FWT_ACCESS_ADD = 1,
298 CMD_ACT_FWT_ACCESS_DEL,
299 CMD_ACT_FWT_ACCESS_LOOKUP,
300 CMD_ACT_FWT_ACCESS_LIST,
301 CMD_ACT_FWT_ACCESS_LIST_route,
302 CMD_ACT_FWT_ACCESS_LIST_neighbor,
303 CMD_ACT_FWT_ACCESS_RESET,
304 CMD_ACT_FWT_ACCESS_CLEANUP,
305 CMD_ACT_FWT_ACCESS_TIME,
306 };
307
308 /* Define action or option for CMD_MESH_ACCESS */
309 enum CMD_MESH_ACCESS_opts {
310 CMD_ACT_MESH_GET_TTL = 1,
311 CMD_ACT_MESH_SET_TTL,
312 CMD_ACT_MESH_GET_STATS,
313 CMD_ACT_MESH_GET_ANYCAST,
314 CMD_ACT_MESH_SET_ANYCAST,
315 CMD_ACT_MESH_SET_LINK_COSTS,
316 CMD_ACT_MESH_GET_LINK_COSTS,
317 CMD_ACT_MESH_SET_BCAST_RATE,
318 CMD_ACT_MESH_GET_BCAST_RATE,
319 CMD_ACT_MESH_SET_RREQ_DELAY,
320 CMD_ACT_MESH_GET_RREQ_DELAY,
321 CMD_ACT_MESH_SET_ROUTE_EXP,
322 CMD_ACT_MESH_GET_ROUTE_EXP,
323 };
324
325 /** Card Event definition */
326 #define MACREG_INT_CODE_TX_PPA_FREE 0x00000000
327 #define MACREG_INT_CODE_TX_DMA_DONE 0x00000001
328 #define MACREG_INT_CODE_LINK_LOSE_W_SCAN 0x00000002
329 #define MACREG_INT_CODE_LINK_LOSE_NO_SCAN 0x00000003
330 #define MACREG_INT_CODE_LINK_SENSED 0x00000004
331 #define MACREG_INT_CODE_CMD_FINISHED 0x00000005
332 #define MACREG_INT_CODE_MIB_CHANGED 0x00000006
333 #define MACREG_INT_CODE_INIT_DONE 0x00000007
334 #define MACREG_INT_CODE_DEAUTHENTICATED 0x00000008
335 #define MACREG_INT_CODE_DISASSOCIATED 0x00000009
336 #define MACREG_INT_CODE_PS_AWAKE 0x0000000a
337 #define MACREG_INT_CODE_PS_SLEEP 0x0000000b
338 #define MACREG_INT_CODE_MIC_ERR_MULTICAST 0x0000000d
339 #define MACREG_INT_CODE_MIC_ERR_UNICAST 0x0000000e
340 #define MACREG_INT_CODE_WM_AWAKE 0x0000000f
341 #define MACREG_INT_CODE_ADHOC_BCN_LOST 0x00000011
342 #define MACREG_INT_CODE_RSSI_LOW 0x00000019
343 #define MACREG_INT_CODE_SNR_LOW 0x0000001a
344 #define MACREG_INT_CODE_MAX_FAIL 0x0000001b
345 #define MACREG_INT_CODE_RSSI_HIGH 0x0000001c
346 #define MACREG_INT_CODE_SNR_HIGH 0x0000001d
347 #define MACREG_INT_CODE_MESH_AUTO_STARTED 0x00000023
348
349 #endif /* _HOST_H_ */