Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(653)

Side by Side Diff: chromeos/drivers/ath6kl/os/linux/include/athdrv_linux.h

Issue 646055: Atheros AR600x driver + build glue (Closed)
Patch Set: Created 10 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2004-2009 Atheros Communications Inc.
3 * All rights reserved.
4 *
5 *
6 *
7 // This program is free software; you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License version 2 as
9 // published by the Free Software Foundation;
10 //
11 // Software distributed under the License is distributed on an "AS
12 // IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
13 // implied. See the License for the specific language governing
14 // rights and limitations under the License.
15 //
16 //
17 *
18 */
19
20 #ifndef _ATHDRV_LINUX_H
21 #define _ATHDRV_LINUX_H
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27
28 /*
29 * There are two types of ioctl's here: Standard ioctls and
30 * eXtended ioctls. All extended ioctls (XIOCTL) are multiplexed
31 * off of the single ioctl command, AR6000_IOCTL_EXTENDED. The
32 * arguments for every XIOCTL starts with a 32-bit command word
33 * that is used to select which extended ioctl is in use. After
34 * the command word are command-specific arguments.
35 */
36
37 /* Linux standard Wireless Extensions, private ioctl interfaces */
38 #define IEEE80211_IOCTL_SETPARAM (SIOCIWFIRSTPRIV+0)
39 #define IEEE80211_IOCTL_SETKEY (SIOCIWFIRSTPRIV+1)
40 #define IEEE80211_IOCTL_DELKEY (SIOCIWFIRSTPRIV+2)
41 #define IEEE80211_IOCTL_SETMLME (SIOCIWFIRSTPRIV+3)
42 #define IEEE80211_IOCTL_ADDPMKID (SIOCIWFIRSTPRIV+4)
43 #define IEEE80211_IOCTL_SETOPTIE (SIOCIWFIRSTPRIV+5)
44 //#define IEEE80211_IOCTL_GETPARAM (SIOCIWFIRSTPRIV+6)
45 //#define IEEE80211_IOCTL_SETWMMPARAMS (SIOCIWFIRSTPRIV+7)
46 //#define IEEE80211_IOCTL_GETWMMPARAMS (SIOCIWFIRSTPRIV+8)
47 //#define IEEE80211_IOCTL_GETOPTIE (SIOCIWFIRSTPRIV+9)
48 //#define IEEE80211_IOCTL_SETAUTHALG (SIOCIWFIRSTPRIV+10)
49 #define IEEE80211_IOCTL_LASTONE (SIOCIWFIRSTPRIV+10)
50
51
52
53 /* ====WMI Ioctls==== */
54 /*
55 *
56 * Many ioctls simply provide WMI services to application code:
57 * an application makes such an ioctl call with a set of arguments
58 * that are packaged into the corresponding WMI message, and sent
59 * to the Target.
60 */
61
62 #define AR6000_IOCTL_WMI_GETREV (SIOCIWFIRSTPRIV+11)
63 /*
64 * arguments:
65 * ar6000_version *revision
66 */
67
68 #define AR6000_IOCTL_WMI_SETPWR (SIOCIWFIRSTPRIV+12)
69 /*
70 * arguments:
71 * WMI_POWER_MODE_CMD pwrModeCmd (see include/wmi.h)
72 * uses: WMI_SET_POWER_MODE_CMDID
73 */
74
75 #define AR6000_IOCTL_WMI_SETSCAN (SIOCIWFIRSTPRIV+13)
76 /*
77 * arguments:
78 * WMI_SCAN_PARAMS_CMD scanParams (see include/wmi.h)
79 * uses: WMI_SET_SCAN_PARAMS_CMDID
80 */
81
82 #define AR6000_IOCTL_WMI_SETLISTENINT (SIOCIWFIRSTPRIV+14)
83 /*
84 * arguments:
85 * UINT32 listenInterval
86 * uses: WMI_SET_LISTEN_INT_CMDID
87 */
88
89 #define AR6000_IOCTL_WMI_SETBSSFILTER (SIOCIWFIRSTPRIV+15)
90 /*
91 * arguments:
92 * WMI_BSS_FILTER filter (see include/wmi.h)
93 * uses: WMI_SET_BSS_FILTER_CMDID
94 */
95
96 #define AR6000_IOCTL_WMI_SET_CHANNELPARAMS (SIOCIWFIRSTPRIV+16)
97 /*
98 * arguments:
99 * WMI_CHANNEL_PARAMS_CMD chParams
100 * uses: WMI_SET_CHANNEL_PARAMS_CMDID
101 */
102
103 #define AR6000_IOCTL_WMI_SET_PROBEDSSID (SIOCIWFIRSTPRIV+17)
104 /*
105 * arguments:
106 * WMI_PROBED_SSID_CMD probedSsids (see include/wmi.h)
107 * uses: WMI_SETPROBED_SSID_CMDID
108 */
109
110 #define AR6000_IOCTL_WMI_SET_PMPARAMS (SIOCIWFIRSTPRIV+18)
111 /*
112 * arguments:
113 * WMI_POWER_PARAMS_CMD powerParams (see include/wmi.h)
114 * uses: WMI_SET_POWER_PARAMS_CMDID
115 */
116
117 #define AR6000_IOCTL_WMI_SET_BADAP (SIOCIWFIRSTPRIV+19)
118 /*
119 * arguments:
120 * WMI_ADD_BAD_AP_CMD badAPs (see include/wmi.h)
121 * uses: WMI_ADD_BAD_AP_CMDID
122 */
123
124 #define AR6000_IOCTL_WMI_GET_QOS_QUEUE (SIOCIWFIRSTPRIV+20)
125 /*
126 * arguments:
127 * ar6000_queuereq queueRequest (see below)
128 */
129
130 #define AR6000_IOCTL_WMI_CREATE_QOS (SIOCIWFIRSTPRIV+21)
131 /*
132 * arguments:
133 * WMI_CREATE_PSTREAM createPstreamCmd (see include/wmi.h)
134 * uses: WMI_CREATE_PSTREAM_CMDID
135 */
136
137 #define AR6000_IOCTL_WMI_DELETE_QOS (SIOCIWFIRSTPRIV+22)
138 /*
139 * arguments:
140 * WMI_DELETE_PSTREAM_CMD deletePstreamCmd (see include/wmi.h)
141 * uses: WMI_DELETE_PSTREAM_CMDID
142 */
143
144 #define AR6000_IOCTL_WMI_SET_SNRTHRESHOLD (SIOCIWFIRSTPRIV+23)
145 /*
146 * arguments:
147 * WMI_SNR_THRESHOLD_PARAMS_CMD thresholdParams (see include/wmi.h)
148 * uses: WMI_SNR_THRESHOLD_PARAMS_CMDID
149 */
150
151 #define AR6000_IOCTL_WMI_SET_ERROR_REPORT_BITMASK (SIOCIWFIRSTPRIV+24)
152 /*
153 * arguments:
154 * WMI_TARGET_ERROR_REPORT_BITMASK errorReportBitMask (see include/wmi.h)
155 * uses: WMI_TARGET_ERROR_REPORT_BITMASK_CMDID
156 */
157
158 #define AR6000_IOCTL_WMI_GET_TARGET_STATS (SIOCIWFIRSTPRIV+25)
159 /*
160 * arguments:
161 * TARGET_STATS *targetStats (see below)
162 * uses: WMI_GET_STATISTICS_CMDID
163 */
164
165 #define AR6000_IOCTL_WMI_SET_ASSOC_INFO (SIOCIWFIRSTPRIV+26)
166 /*
167 * arguments:
168 * WMI_SET_ASSOC_INFO_CMD setAssocInfoCmd
169 * uses: WMI_SET_ASSOC_INFO_CMDID
170 */
171
172 #define AR6000_IOCTL_WMI_SET_ACCESS_PARAMS (SIOCIWFIRSTPRIV+27)
173 /*
174 * arguments:
175 * WMI_SET_ACCESS_PARAMS_CMD setAccessParams (see include/wmi.h)
176 * uses: WMI_SET_ACCESS_PARAMS_CMDID
177 */
178
179 #define AR6000_IOCTL_WMI_SET_BMISS_TIME (SIOCIWFIRSTPRIV+28)
180 /*
181 * arguments:
182 * UINT32 beaconMissTime
183 * uses: WMI_SET_BMISS_TIME_CMDID
184 */
185
186 #define AR6000_IOCTL_WMI_SET_DISC_TIMEOUT (SIOCIWFIRSTPRIV+29)
187 /*
188 * arguments:
189 * WMI_DISC_TIMEOUT_CMD disconnectTimeoutCmd (see include/wmi.h)
190 * uses: WMI_SET_DISC_TIMEOUT_CMDID
191 */
192
193 #define AR6000_IOCTL_WMI_SET_IBSS_PM_CAPS (SIOCIWFIRSTPRIV+30)
194 /*
195 * arguments:
196 * WMI_IBSS_PM_CAPS_CMD ibssPowerMgmtCapsCmd
197 * uses: WMI_SET_IBSS_PM_CAPS_CMDID
198 */
199
200 /*
201 * There is a very small space available for driver-private
202 * wireless ioctls. In order to circumvent this limitation,
203 * we multiplex a bunch of ioctls (XIOCTLs) on top of a
204 * single AR6000_IOCTL_EXTENDED ioctl.
205 */
206 #define AR6000_IOCTL_EXTENDED (SIOCIWFIRSTPRIV+31)
207
208
209 /* ====BMI Extended Ioctls==== */
210
211 #define AR6000_XIOCTL_BMI_DONE 1
212 /*
213 * arguments:
214 * UINT32 cmd (AR6000_XIOCTL_BMI_DONE)
215 * uses: BMI_DONE
216 */
217
218 #define AR6000_XIOCTL_BMI_READ_MEMORY 2
219 /*
220 * arguments:
221 * union {
222 * struct {
223 * UINT32 cmd (AR6000_XIOCTL_BMI_READ_MEMORY)
224 * UINT32 address
225 * UINT32 length
226 * }
227 * char results[length]
228 * }
229 * uses: BMI_READ_MEMORY
230 */
231
232 #define AR6000_XIOCTL_BMI_WRITE_MEMORY 3
233 /*
234 * arguments:
235 * UINT32 cmd (AR6000_XIOCTL_BMI_WRITE_MEMORY)
236 * UINT32 address
237 * UINT32 length
238 * char data[length]
239 * uses: BMI_WRITE_MEMORY
240 */
241
242 #define AR6000_XIOCTL_BMI_EXECUTE 4
243 /*
244 * arguments:
245 * UINT32 cmd (AR6000_XIOCTL_BMI_EXECUTE)
246 * UINT32 TargetAddress
247 * UINT32 parameter
248 * uses: BMI_EXECUTE
249 */
250
251 #define AR6000_XIOCTL_BMI_SET_APP_START 5
252 /*
253 * arguments:
254 * UINT32 cmd (AR6000_XIOCTL_BMI_SET_APP_START)
255 * UINT32 TargetAddress
256 * uses: BMI_SET_APP_START
257 */
258
259 #define AR6000_XIOCTL_BMI_READ_SOC_REGISTER 6
260 /*
261 * arguments:
262 * union {
263 * struct {
264 * UINT32 cmd (AR6000_XIOCTL_BMI_READ_SOC_REGISTER)
265 * UINT32 TargetAddress, 32-bit aligned
266 * }
267 * UINT32 result
268 * }
269 * uses: BMI_READ_SOC_REGISTER
270 */
271
272 #define AR6000_XIOCTL_BMI_WRITE_SOC_REGISTER 7
273 /*
274 * arguments:
275 * struct {
276 * UINT32 cmd (AR6000_XIOCTL_BMI_WRITE_SOC_REGISTER)
277 * UINT32 TargetAddress, 32-bit aligned
278 * UINT32 newValue
279 * }
280 * uses: BMI_WRITE_SOC_REGISTER
281 */
282
283 #define AR6000_XIOCTL_BMI_TEST 8
284 /*
285 * arguments:
286 * UINT32 cmd (AR6000_XIOCTL_BMI_TEST)
287 * UINT32 address
288 * UINT32 length
289 * UINT32 count
290 */
291
292
293
294 /* Historical Host-side DataSet support */
295 #define AR6000_XIOCTL_UNUSED9 9
296 #define AR6000_XIOCTL_UNUSED10 10
297 #define AR6000_XIOCTL_UNUSED11 11
298
299 /* ====Misc Extended Ioctls==== */
300
301 #define AR6000_XIOCTL_FORCE_TARGET_RESET 12
302 /*
303 * arguments:
304 * UINT32 cmd (AR6000_XIOCTL_FORCE_TARGET_RESET)
305 */
306
307
308 #ifdef HTC_RAW_INTERFACE
309 /* HTC Raw Interface Ioctls */
310 #define AR6000_XIOCTL_HTC_RAW_OPEN 13
311 /*
312 * arguments:
313 * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_OPEN)
314 */
315
316 #define AR6000_XIOCTL_HTC_RAW_CLOSE 14
317 /*
318 * arguments:
319 * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_CLOSE)
320 */
321
322 #define AR6000_XIOCTL_HTC_RAW_READ 15
323 /*
324 * arguments:
325 * union {
326 * struct {
327 * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_READ)
328 * UINT32 mailboxID
329 * UINT32 length
330 * }
331 * results[length]
332 * }
333 */
334
335 #define AR6000_XIOCTL_HTC_RAW_WRITE 16
336 /*
337 * arguments:
338 * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_WRITE)
339 * UINT32 mailboxID
340 * UINT32 length
341 * char buffer[length]
342 */
343 #endif /* HTC_RAW_INTERFACE */
344
345 #define AR6000_XIOCTL_CHECK_TARGET_READY 17
346 /*
347 * arguments:
348 * UINT32 cmd (AR6000_XIOCTL_CHECK_TARGET_READY)
349 */
350
351
352
353 /* ====GPIO (General Purpose I/O) Extended Ioctls==== */
354
355 #define AR6000_XIOCTL_GPIO_OUTPUT_SET 18
356 /*
357 * arguments:
358 * UINT32 cmd (AR6000_XIOCTL_GPIO_OUTPUT_SET)
359 * ar6000_gpio_output_set_cmd_s (see below)
360 * uses: WMIX_GPIO_OUTPUT_SET_CMDID
361 */
362
363 #define AR6000_XIOCTL_GPIO_INPUT_GET 19
364 /*
365 * arguments:
366 * UINT32 cmd (AR6000_XIOCTL_GPIO_INPUT_GET)
367 * uses: WMIX_GPIO_INPUT_GET_CMDID
368 */
369
370 #define AR6000_XIOCTL_GPIO_REGISTER_SET 20
371 /*
372 * arguments:
373 * UINT32 cmd (AR6000_XIOCTL_GPIO_REGISTER_SET)
374 * ar6000_gpio_register_cmd_s (see below)
375 * uses: WMIX_GPIO_REGISTER_SET_CMDID
376 */
377
378 #define AR6000_XIOCTL_GPIO_REGISTER_GET 21
379 /*
380 * arguments:
381 * UINT32 cmd (AR6000_XIOCTL_GPIO_REGISTER_GET)
382 * ar6000_gpio_register_cmd_s (see below)
383 * uses: WMIX_GPIO_REGISTER_GET_CMDID
384 */
385
386 #define AR6000_XIOCTL_GPIO_INTR_ACK 22
387 /*
388 * arguments:
389 * UINT32 cmd (AR6000_XIOCTL_GPIO_INTR_ACK)
390 * ar6000_cpio_intr_ack_cmd_s (see below)
391 * uses: WMIX_GPIO_INTR_ACK_CMDID
392 */
393
394 #define AR6000_XIOCTL_GPIO_INTR_WAIT 23
395 /*
396 * arguments:
397 * UINT32 cmd (AR6000_XIOCTL_GPIO_INTR_WAIT)
398 */
399
400
401
402 /* ====more wireless commands==== */
403
404 #define AR6000_XIOCTL_SET_ADHOC_BSSID 24
405 /*
406 * arguments:
407 * UINT32 cmd (AR6000_XIOCTL_SET_ADHOC_BSSID)
408 * WMI_SET_ADHOC_BSSID_CMD setAdHocBssidCmd (see include/wmi.h)
409 */
410
411 #define AR6000_XIOCTL_SET_OPT_MODE 25
412 /*
413 * arguments:
414 * UINT32 cmd (AR6000_XIOCTL_SET_OPT_MODE)
415 * WMI_SET_OPT_MODE_CMD setOptModeCmd (see include/wmi.h)
416 * uses: WMI_SET_OPT_MODE_CMDID
417 */
418
419 #define AR6000_XIOCTL_OPT_SEND_FRAME 26
420 /*
421 * arguments:
422 * UINT32 cmd (AR6000_XIOCTL_OPT_SEND_FRAME)
423 * WMI_OPT_TX_FRAME_CMD optTxFrameCmd (see include/wmi.h)
424 * uses: WMI_OPT_TX_FRAME_CMDID
425 */
426
427 #define AR6000_XIOCTL_SET_BEACON_INTVAL 27
428 /*
429 * arguments:
430 * UINT32 cmd (AR6000_XIOCTL_SET_BEACON_INTVAL)
431 * WMI_BEACON_INT_CMD beaconIntCmd (see include/wmi.h)
432 * uses: WMI_SET_BEACON_INT_CMDID
433 */
434
435
436 #define IEEE80211_IOCTL_SETAUTHALG 28
437
438
439 #define AR6000_XIOCTL_SET_VOICE_PKT_SIZE 29
440 /*
441 * arguments:
442 * UINT32 cmd (AR6000_XIOCTL_SET_VOICE_PKT_SIZE)
443 * WMI_SET_VOICE_PKT_SIZE_CMD setVoicePktSizeCmd (see include/wmi.h)
444 * uses: WMI_SET_VOICE_PKT_SIZE_CMDID
445 */
446
447
448 #define AR6000_XIOCTL_SET_MAX_SP 30
449 /*
450 * arguments:
451 * UINT32 cmd (AR6000_XIOCTL_SET_MAX_SP)
452 * WMI_SET_MAX_SP_LEN_CMD maxSPLen(see include/wmi.h)
453 * uses: WMI_SET_MAX_SP_LEN_CMDID
454 */
455
456 #define AR6000_XIOCTL_WMI_GET_ROAM_TBL 31
457
458 #define AR6000_XIOCTL_WMI_SET_ROAM_CTRL 32
459
460 #define AR6000_XIOCTRL_WMI_SET_POWERSAVE_TIMERS 33
461
462
463 /*
464 * arguments:
465 * UINT32 cmd (AR6000_XIOCTRL_WMI_SET_POWERSAVE_TIMERS)
466 * WMI_SET_POWERSAVE_TIMERS_CMD powerSaveTimers(see include/wmi.h)
467 * WMI_SET_POWERSAVE_TIMERS_CMDID
468 */
469
470 #define AR6000_XIOCTRL_WMI_GET_POWER_MODE 34
471 /*
472 * arguments:
473 * UINT32 cmd (AR6000_XIOCTRL_WMI_GET_POWER_MODE)
474 */
475
476 #define AR6000_XIOCTRL_WMI_SET_WLAN_STATE 35
477 typedef enum {
478 WLAN_DISABLED,
479 WLAN_ENABLED
480 } AR6000_WLAN_STATE;
481 /*
482 * arguments:
483 * enable/disable
484 */
485
486 #define AR6000_XIOCTL_WMI_GET_ROAM_DATA 36
487
488 #define AR6000_XIOCTL_WMI_SETRETRYLIMITS 37
489 /*
490 * arguments:
491 * WMI_SET_RETRY_LIMITS_CMD ibssSetRetryLimitsCmd
492 * uses: WMI_SET_RETRY_LIMITS_CMDID
493 */
494
495 #ifdef CONFIG_HOST_TCMD_SUPPORT
496 /* ====extended commands for radio test ==== */
497
498 #define AR6000_XIOCTL_TCMD_CONT_TX 38
499 /*
500 * arguments:
501 * UINT32 cmd (AR6000_XIOCTL_TCMD_CONT_TX)
502 * WMI_TCMD_CONT_TX_CMD contTxCmd (see include/wmi.h)
503 * uses: WMI_TCMD_CONT_TX_CMDID
504 */
505
506 #define AR6000_XIOCTL_TCMD_CONT_RX 39
507 /*
508 * arguments:
509 * UINT32 cmd (AR6000_XIOCTL_TCMD_CONT_RX)
510 * WMI_TCMD_CONT_RX_CMD rxCmd (see include/wmi.h)
511 * uses: WMI_TCMD_CONT_RX_CMDID
512 */
513
514 #define AR6000_XIOCTL_TCMD_PM 40
515 /*
516 * arguments:
517 * UINT32 cmd (AR6000_XIOCTL_TCMD_PM)
518 * WMI_TCMD_PM_CMD pmCmd (see include/wmi.h)
519 * uses: WMI_TCMD_PM_CMDID
520 */
521
522 #endif /* CONFIG_HOST_TCMD_SUPPORT */
523
524 #define AR6000_XIOCTL_WMI_STARTSCAN 41
525 /*
526 * arguments:
527 * UINT32 cmd (AR6000_XIOCTL_WMI_STARTSCAN)
528 * UINT8 scanType
529 * UINT8 scanConnected
530 * A_BOOL forceFgScan
531 * uses: WMI_START_SCAN_CMDID
532 */
533
534 #define AR6000_XIOCTL_WMI_SETFIXRATES 42
535
536 #define AR6000_XIOCTL_WMI_GETFIXRATES 43
537
538
539 #define AR6000_XIOCTL_WMI_SET_RSSITHRESHOLD 44
540 /*
541 * arguments:
542 * WMI_RSSI_THRESHOLD_PARAMS_CMD thresholdParams (see include/wmi.h)
543 * uses: WMI_RSSI_THRESHOLD_PARAMS_CMDID
544 */
545
546 #define AR6000_XIOCTL_WMI_CLR_RSSISNR 45
547 /*
548 * arguments:
549 * WMI_CLR_RSSISNR_CMD thresholdParams (see include/wmi.h)
550 * uses: WMI_CLR_RSSISNR_CMDID
551 */
552
553 #define AR6000_XIOCTL_WMI_SET_LQTHRESHOLD 46
554 /*
555 * arguments:
556 * WMI_LQ_THRESHOLD_PARAMS_CMD thresholdParams (see include/wmi.h)
557 * uses: WMI_LQ_THRESHOLD_PARAMS_CMDID
558 */
559
560 #define AR6000_XIOCTL_WMI_SET_RTS 47
561 /*
562 * arguments:
563 * WMI_SET_RTS_MODE_CMD (see include/wmi.h)
564 * uses: WMI_SET_RTS_MODE_CMDID
565 */
566
567 #define AR6000_XIOCTL_WMI_SET_LPREAMBLE 48
568
569 #define AR6000_XIOCTL_WMI_SET_AUTHMODE 49
570 /*
571 * arguments:
572 * UINT32 cmd (AR6000_XIOCTL_WMI_SET_AUTHMODE)
573 * UINT8 mode
574 * uses: WMI_SET_RECONNECT_AUTH_MODE_CMDID
575 */
576
577 #define AR6000_XIOCTL_WMI_SET_REASSOCMODE 50
578
579 /*
580 * arguments:
581 * UINT32 cmd (AR6000_XIOCTL_WMI_SET_WMM)
582 * UINT8 mode
583 * uses: WMI_SET_WMM_CMDID
584 */
585 #define AR6000_XIOCTL_WMI_SET_WMM 51
586
587 /*
588 * arguments:
589 * UINT32 cmd (AR6000_XIOCTL_WMI_SET_HB_CHALLENGE_RESP_PARAMS)
590 * UINT32 frequency
591 * UINT8 threshold
592 */
593 #define AR6000_XIOCTL_WMI_SET_HB_CHALLENGE_RESP_PARAMS 52
594
595 /*
596 * arguments:
597 * UINT32 cmd (AR6000_XIOCTL_WMI_GET_HB_CHALLENGE_RESP)
598 * UINT32 cookie
599 */
600 #define AR6000_XIOCTL_WMI_GET_HB_CHALLENGE_RESP 53
601
602 /*
603 * arguments:
604 * UINT32 cmd (AR6000_XIOCTL_WMI_GET_RD)
605 * UINT32 regDomain
606 */
607 #define AR6000_XIOCTL_WMI_GET_RD 54
608
609 #define AR6000_XIOCTL_DIAG_READ 55
610
611 #define AR6000_XIOCTL_DIAG_WRITE 56
612
613 /*
614 * arguments cmd (AR6000_XIOCTL_SET_TXOP)
615 * WMI_TXOP_CFG txopEnable
616 */
617 #define AR6000_XIOCTL_WMI_SET_TXOP 57
618
619 #ifdef USER_KEYS
620 /*
621 * arguments:
622 * UINT32 cmd (AR6000_XIOCTL_USER_SETKEYS)
623 * UINT32 keyOpCtrl
624 * uses AR6000_USER_SETKEYS_INFO
625 */
626 #define AR6000_XIOCTL_USER_SETKEYS 58
627 #endif /* USER_KEYS */
628
629 #define AR6000_XIOCTL_WMI_SET_KEEPALIVE 59
630 /*
631 * arguments:
632 * UINT8 cmd (AR6000_XIOCTL_WMI_SET_KEEPALIVE)
633 * UINT8 keepaliveInterval
634 * uses: WMI_SET_KEEPALIVE_CMDID
635 */
636
637 #define AR6000_XIOCTL_WMI_GET_KEEPALIVE 60
638 /*
639 * arguments:
640 * UINT8 cmd (AR6000_XIOCTL_WMI_GET_KEEPALIVE)
641 * UINT8 keepaliveInterval
642 * A_BOOL configured
643 * uses: WMI_GET_KEEPALIVE_CMDID
644 */
645
646 /* ====ROM Patching Extended Ioctls==== */
647
648 #define AR6000_XIOCTL_BMI_ROMPATCH_INSTALL 61
649 /*
650 * arguments:
651 * union {
652 * struct {
653 * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_INSTALL)
654 * UINT32 ROM Address
655 * UINT32 RAM Address
656 * UINT32 number of bytes
657 * UINT32 activate? (0 or 1)
658 * }
659 * A_UINT32 resulting rompatch ID
660 * }
661 * uses: BMI_ROMPATCH_INSTALL
662 */
663
664 #define AR6000_XIOCTL_BMI_ROMPATCH_UNINSTALL 62
665 /*
666 * arguments:
667 * struct {
668 * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_UNINSTALL)
669 * UINT32 rompatch ID
670 * }
671 * uses: BMI_ROMPATCH_UNINSTALL
672 */
673
674 #define AR6000_XIOCTL_BMI_ROMPATCH_ACTIVATE 63
675 /*
676 * arguments:
677 * struct {
678 * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_ACTIVATE)
679 * UINT32 rompatch count
680 * UINT32 rompatch IDs[rompatch count]
681 * }
682 * uses: BMI_ROMPATCH_ACTIVATE
683 */
684
685 #define AR6000_XIOCTL_BMI_ROMPATCH_DEACTIVATE 64
686 /*
687 * arguments:
688 * struct {
689 * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_DEACTIVATE)
690 * UINT32 rompatch count
691 * UINT32 rompatch IDs[rompatch count]
692 * }
693 * uses: BMI_ROMPATCH_DEACTIVATE
694 */
695
696 #define AR6000_XIOCTL_WMI_SET_APPIE 65
697 /*
698 * arguments:
699 * struct {
700 * UINT32 cmd (AR6000_XIOCTL_WMI_SET_APPIE)
701 * UINT32 app_frmtype;
702 * UINT32 app_buflen;
703 * UINT8 app_buf[];
704 * }
705 */
706 #define AR6000_XIOCTL_WMI_SET_MGMT_FRM_RX_FILTER 66
707 /*
708 * arguments:
709 * A_UINT32 filter_type;
710 */
711
712 #define AR6000_XIOCTL_DBGLOG_CFG_MODULE 67
713
714 #define AR6000_XIOCTL_DBGLOG_GET_DEBUG_LOGS 68
715
716 #define AR6000_XIOCTL_WMI_SET_WSC_STATUS 70
717 /*
718 * arguments:
719 * A_UINT32 wsc_status;
720 * (WSC_REG_INACTIVE or WSC_REG_ACTIVE)
721 */
722
723 /*
724 * arguments:
725 * struct {
726 * A_UINT8 streamType;
727 * A_UINT8 status;
728 * }
729 * uses: WMI_SET_BT_STATUS_CMDID
730 */
731 #define AR6000_XIOCTL_WMI_SET_BT_STATUS 71
732
733 /*
734 * arguments:
735 * struct {
736 * A_UINT8 paramType;
737 * union {
738 * A_UINT8 noSCOPkts;
739 * BT_PARAMS_A2DP a2dpParams;
740 * BT_COEX_REGS regs;
741 * };
742 * }
743 * uses: WMI_SET_BT_PARAM_CMDID
744 */
745 #define AR6000_XIOCTL_WMI_SET_BT_PARAMS 72
746
747 #define AR6000_XIOCTL_WMI_SET_HOST_SLEEP_MODE 73
748 #define AR6000_XIOCTL_WMI_SET_WOW_MODE 74
749 #define AR6000_XIOCTL_WMI_GET_WOW_LIST 75
750 #define AR6000_XIOCTL_WMI_ADD_WOW_PATTERN 76
751 #define AR6000_XIOCTL_WMI_DEL_WOW_PATTERN 77
752
753
754
755 #define AR6000_XIOCTL_TARGET_INFO 78
756 /*
757 * arguments:
758 * UINT32 cmd (AR6000_XIOCTL_TARGET_INFO)
759 * A_UINT32 TargetVersion (returned)
760 * A_UINT32 TargetType (returned)
761 * (See also bmi_msg.h target_ver and target_type)
762 */
763
764 #define AR6000_XIOCTL_DUMP_HTC_CREDIT_STATE 79
765 /*
766 * arguments:
767 * none
768 */
769
770 #define AR6000_XIOCTL_TRAFFIC_ACTIVITY_CHANGE 80
771 /*
772 * This ioctl is used to emulate traffic activity
773 * timeouts. Activity/inactivity will trigger the driver
774 * to re-balance credits.
775 *
776 * arguments:
777 * ar6000_traffic_activity_change
778 */
779
780 #define AR6000_XIOCTL_WMI_SET_CONNECT_CTRL_FLAGS 81
781 /*
782 * This ioctl is used to set the connect control flags
783 *
784 * arguments:
785 * A_UINT32 connectCtrlFlags
786 */
787
788 #define AR6000_XIOCTL_WMI_SET_AKMP_PARAMS 82
789 /*
790 * This IOCTL sets any Authentication,Key Management and Protection
791 * related parameters. This is used along with the information set in
792 * Connect Command.
793 * Currently this enables Multiple PMKIDs to an AP.
794 *
795 * arguments:
796 * struct {
797 * A_UINT32 akmpInfo;
798 * }
799 * uses: WMI_SET_AKMP_PARAMS_CMD
800 */
801
802 #define AR6000_XIOCTL_WMI_GET_PMKID_LIST 83
803
804 #define AR6000_XIOCTL_WMI_SET_PMKID_LIST 84
805 /*
806 * This IOCTL is used to set a list of PMKIDs. This list of
807 * PMKIDs is used in the [Re]AssocReq Frame. This list is used
808 * only if the MultiPMKID option is enabled via the
809 * AR6000_XIOCTL_WMI_SET_AKMP_PARAMS IOCTL.
810 *
811 * arguments:
812 * struct {
813 * A_UINT32 numPMKID;
814 * WMI_PMKID pmkidList[WMI_MAX_PMKID_CACHE];
815 * }
816 * uses: WMI_SET_PMKIDLIST_CMD
817 */
818
819 #define AR6000_XIOCTL_WMI_SET_PARAMS 85
820 #define AR6000_XIOCTL_WMI_SET_MCAST_FILTER 86
821 #define AR6000_XIOCTL_WMI_DEL_MCAST_FILTER 87
822
823
824 /* Historical DSETPATCH support for INI patches */
825 #define AR6000_XIOCTL_UNUSED90 90
826
827
828 /* Support LZ-compressed firmware download */
829 #define AR6000_XIOCTL_BMI_LZ_STREAM_START 91
830 /*
831 * arguments:
832 * UINT32 cmd (AR6000_XIOCTL_BMI_LZ_STREAM_START)
833 * UINT32 address
834 * uses: BMI_LZ_STREAM_START
835 */
836
837 #define AR6000_XIOCTL_BMI_LZ_DATA 92
838 /*
839 * arguments:
840 * UINT32 cmd (AR6000_XIOCTL_BMI_LZ_DATA)
841 * UINT32 length
842 * char data[length]
843 * uses: BMI_LZ_DATA
844 */
845
846 #define AR6000_XIOCTL_PROF_CFG 93
847 /*
848 * arguments:
849 * A_UINT32 period
850 * A_UINT32 nbins
851 */
852
853 #define AR6000_XIOCTL_PROF_ADDR_SET 94
854 /*
855 * arguments:
856 * A_UINT32 Target address
857 */
858
859 #define AR6000_XIOCTL_PROF_START 95
860
861 #define AR6000_XIOCTL_PROF_STOP 96
862
863 #define AR6000_XIOCTL_PROF_COUNT_GET 97
864
865 #define AR6000_XIOCTL_WMI_ABORT_SCAN 98
866
867 /*
868 * AP mode
869 */
870 #define AR6000_XIOCTL_AP_GET_STA_LIST 99
871
872 #define AR6000_XIOCTL_AP_HIDDEN_SSID 100
873
874 #define AR6000_XIOCTL_AP_SET_NUM_STA 101
875
876 #define AR6000_XIOCTL_AP_SET_ACL_MAC 102
877
878 #define AR6000_XIOCTL_AP_GET_ACL_LIST 103
879
880 #define AR6000_XIOCTL_AP_COMMIT_CONFIG 104
881
882 #define IEEE80211_IOCTL_GETWPAIE 105
883
884 #define AR6000_XIOCTL_AP_CONN_INACT_TIME 106
885
886 #define AR6000_XIOCTL_AP_PROT_SCAN_TIME 107
887
888 #define AR6000_XIOCTL_AP_SET_COUNTRY 108
889
890 #define AR6000_XIOCTL_AP_SET_DTIM 109
891
892
893
894
895 #define AR6000_XIOCTL_WMI_TARGET_EVENT_REPORT 110
896
897 #define AR6000_XIOCTL_SET_IP 111
898
899 #define AR6000_XIOCTL_AP_SET_ACL_POLICY 112
900
901 #define AR6000_XIOCTL_AP_INTRA_BSS_COMM 113
902
903 #define AR6000_XIOCTL_DUMP_MODULE_DEBUG_INFO 114
904
905 #define AR6000_XIOCTL_MODULE_DEBUG_SET_MASK 115
906
907 #define AR6000_XIOCTL_MODULE_DEBUG_GET_MASK 116
908
909 #define AR6000_XIOCTL_DUMP_RCV_AGGR_STATS 117
910
911 #define AR6000_XIOCTL_SET_HT_CAP 118
912
913 #define AR6000_XIOCTL_SET_HT_OP 119
914
915 #define AR6000_XIOCTL_AP_GET_STAT 120
916
917 #define AR6000_XIOCTL_SET_TX_SELECT_RATES 121
918
919 #define AR6000_XIOCTL_SETUP_AGGR 122
920
921 #define AR6000_XIOCTL_ALLOW_AGGR 123
922
923 #define AR6000_XIOCTL_AP_GET_HIDDEN_SSID 124
924
925 #define AR6000_XIOCTL_AP_GET_COUNTRY 125
926
927 #define AR6000_XIOCTL_AP_GET_WMODE 126
928
929 #define AR6000_XIOCTL_AP_GET_DTIM 127
930
931 #define AR6000_XIOCTL_AP_GET_BINTVL 128
932
933 #define AR6000_XIOCTL_AP_GET_RTS 129
934
935 #define AR6000_XIOCTL_DELE_AGGR 130
936
937 #define AR6000_XIOCTL_FETCH_TARGET_REGS 131
938
939 #define AR6000_XIOCTL_HCI_CMD 132
940
941 #define AR6000_XIOCTL_ACL_DATA 133
942
943 #define AR6000_XIOCTL_WLAN_CONN_PRECEDENCE 134
944
945 #define AR6000_XIOCTL_AP_SET_11BG_RATESET 135
946
947 #define AR6000_XIOCTL_WMI_SET_AP_PS 136
948
949 #define AR6000_XIOCTL_WMI_MCAST_FILTER 137
950
951 #define AR6000_XIOCTL_WMI_SET_BTCOEX_FE_ANT 138
952
953 #define AR6000_XIOCTL_WMI_SET_BTCOEX_COLOCATED_BT_DEV 139
954
955 #define AR6000_XIOCTL_WMI_SET_BTCOEX_BTINQUIRY_PAGE_CONFIG 140
956
957 #define AR6000_XIOCTL_WMI_SET_BTCOEX_SCO_CONFIG 141
958
959 #define AR6000_XIOCTL_WMI_SET_BTCOEX_A2DP_CONFIG 142
960
961 #define AR6000_XIOCTL_WMI_SET_BTCOEX_ACLCOEX_CONFIG 143
962
963 #define AR6000_XIOCTL_WMI_SET_BTCOEX_DEBUG 144
964
965 #define AR6000_XIOCTL_WMI_SET_BT_OPERATING_STATUS 145
966
967 #define AR6000_XIOCTL_WMI_GET_BTCOEX_CONFIG 146
968
969 #define AR6000_XIOCTL_WMI_GET_BTCOEX_STATS 147
970 /*
971 * arguments:
972 * UINT32 cmd (AR6000_XIOCTL_WMI_SET_QOS_SUPP)
973 * UINT8 mode
974 * uses: WMI_SET_QOS_SUPP_CMDID
975 */
976 #define AR6000_XIOCTL_WMI_SET_QOS_SUPP 148
977
978
979 /*
980 * arguments:
981 * WMI_AP_PS_CMD apPsCmd
982 * uses: WMI_AP_PS_CMDID
983 */
984
985 /* used by AR6000_IOCTL_WMI_GETREV */
986 struct ar6000_version {
987 A_UINT32 host_ver;
988 A_UINT32 target_ver;
989 A_UINT32 wlan_ver;
990 };
991
992 /* used by AR6000_IOCTL_WMI_GET_QOS_QUEUE */
993 struct ar6000_queuereq {
994 A_UINT8 trafficClass;
995 A_UINT16 activeTsids;
996 };
997
998 /* used by AR6000_IOCTL_WMI_GET_TARGET_STATS */
999 typedef struct targetStats_t {
1000 A_UINT64 tx_packets;
1001 A_UINT64 tx_bytes;
1002 A_UINT64 tx_unicast_pkts;
1003 A_UINT64 tx_unicast_bytes;
1004 A_UINT64 tx_multicast_pkts;
1005 A_UINT64 tx_multicast_bytes;
1006 A_UINT64 tx_broadcast_pkts;
1007 A_UINT64 tx_broadcast_bytes;
1008 A_UINT64 tx_rts_success_cnt;
1009 A_UINT64 tx_packet_per_ac[4];
1010
1011 A_UINT64 tx_errors;
1012 A_UINT64 tx_failed_cnt;
1013 A_UINT64 tx_retry_cnt;
1014 A_UINT64 tx_mult_retry_cnt;
1015 A_UINT64 tx_rts_fail_cnt;
1016
1017 A_UINT64 rx_packets;
1018 A_UINT64 rx_bytes;
1019 A_UINT64 rx_unicast_pkts;
1020 A_UINT64 rx_unicast_bytes;
1021 A_UINT64 rx_multicast_pkts;
1022 A_UINT64 rx_multicast_bytes;
1023 A_UINT64 rx_broadcast_pkts;
1024 A_UINT64 rx_broadcast_bytes;
1025 A_UINT64 rx_fragment_pkt;
1026
1027 A_UINT64 rx_errors;
1028 A_UINT64 rx_crcerr;
1029 A_UINT64 rx_key_cache_miss;
1030 A_UINT64 rx_decrypt_err;
1031 A_UINT64 rx_duplicate_frames;
1032
1033 A_UINT64 tkip_local_mic_failure;
1034 A_UINT64 tkip_counter_measures_invoked;
1035 A_UINT64 tkip_replays;
1036 A_UINT64 tkip_format_errors;
1037 A_UINT64 ccmp_format_errors;
1038 A_UINT64 ccmp_replays;
1039
1040 A_UINT64 power_save_failure_cnt;
1041
1042 A_UINT64 cs_bmiss_cnt;
1043 A_UINT64 cs_lowRssi_cnt;
1044 A_UINT64 cs_connect_cnt;
1045 A_UINT64 cs_disconnect_cnt;
1046
1047 A_INT32 tx_unicast_rate;
1048 A_INT32 rx_unicast_rate;
1049
1050 A_UINT32 lq_val;
1051
1052 A_UINT32 wow_num_pkts_dropped;
1053 A_UINT16 wow_num_events_discarded;
1054
1055 A_INT16 noise_floor_calibation;
1056 A_INT16 cs_rssi;
1057 A_INT16 cs_aveBeacon_rssi;
1058 A_UINT8 cs_aveBeacon_snr;
1059 A_UINT8 cs_lastRoam_msec;
1060 A_UINT8 cs_snr;
1061
1062 A_UINT8 wow_num_host_pkt_wakeups;
1063 A_UINT8 wow_num_host_event_wakeups;
1064
1065 A_UINT32 arp_received;
1066 A_UINT32 arp_matched;
1067 A_UINT32 arp_replied;
1068 }TARGET_STATS;
1069
1070 typedef struct targetStats_cmd_t {
1071 TARGET_STATS targetStats;
1072 int clearStats;
1073 } TARGET_STATS_CMD;
1074
1075 /* used by AR6000_XIOCTL_USER_SETKEYS */
1076
1077 /*
1078 * Setting this bit to 1 doesnot initialize the RSC on the firmware
1079 */
1080 #define AR6000_XIOCTL_USER_SETKEYS_RSC_CTRL 1
1081 #define AR6000_USER_SETKEYS_RSC_UNCHANGED 0x00000002
1082
1083 typedef struct {
1084 A_UINT32 keyOpCtrl; /* Bit Map of Key Mgmt Ctrl Flags */
1085 } AR6000_USER_SETKEYS_INFO;
1086
1087
1088 /* used by AR6000_XIOCTL_GPIO_OUTPUT_SET */
1089 struct ar6000_gpio_output_set_cmd_s {
1090 A_UINT32 set_mask;
1091 A_UINT32 clear_mask;
1092 A_UINT32 enable_mask;
1093 A_UINT32 disable_mask;
1094 };
1095
1096 /*
1097 * used by AR6000_XIOCTL_GPIO_REGISTER_GET and AR6000_XIOCTL_GPIO_REGISTER_SET
1098 */
1099 struct ar6000_gpio_register_cmd_s {
1100 A_UINT32 gpioreg_id;
1101 A_UINT32 value;
1102 };
1103
1104 /* used by AR6000_XIOCTL_GPIO_INTR_ACK */
1105 struct ar6000_gpio_intr_ack_cmd_s {
1106 A_UINT32 ack_mask;
1107 };
1108
1109 /* used by AR6000_XIOCTL_GPIO_INTR_WAIT */
1110 struct ar6000_gpio_intr_wait_cmd_s {
1111 A_UINT32 intr_mask;
1112 A_UINT32 input_values;
1113 };
1114
1115 /* used by the AR6000_XIOCTL_DBGLOG_CFG_MODULE */
1116 typedef struct ar6000_dbglog_module_config_s {
1117 A_UINT32 valid;
1118 A_UINT16 mmask;
1119 A_UINT16 tsr;
1120 A_BOOL rep;
1121 A_UINT16 size;
1122 } DBGLOG_MODULE_CONFIG;
1123
1124 typedef struct user_rssi_thold_t {
1125 A_INT16 tag;
1126 A_INT16 rssi;
1127 } USER_RSSI_THOLD;
1128
1129 typedef struct user_rssi_params_t {
1130 A_UINT8 weight;
1131 A_UINT32 pollTime;
1132 USER_RSSI_THOLD tholds[12];
1133 } USER_RSSI_PARAMS;
1134
1135 typedef struct ar6000_get_btcoex_config_cmd_t{
1136 A_UINT32 btProfileType;
1137 A_UINT32 linkId;
1138 }AR6000_GET_BTCOEX_CONFIG_CMD;
1139
1140 typedef struct ar6000_btcoex_config_t {
1141 AR6000_GET_BTCOEX_CONFIG_CMD configCmd;
1142 A_UINT32 * configEvent;
1143 } AR6000_BTCOEX_CONFIG;
1144
1145 typedef struct ar6000_btcoex_stats_t {
1146 A_UINT32 * statsEvent;
1147 }AR6000_BTCOEX_STATS;
1148 /*
1149 * Host driver may have some config parameters. Typically, these
1150 * config params are one time config parameters. These could
1151 * correspond to any of the underlying modules. Host driver exposes
1152 * an api for the underlying modules to get this config.
1153 */
1154 #define AR6000_DRIVER_CFG_BASE 0x8000
1155
1156 /* Should driver perform wlan node caching? */
1157 #define AR6000_DRIVER_CFG_GET_WLANNODECACHING 0x8001
1158 /*Should we log raw WMI msgs */
1159 #define AR6000_DRIVER_CFG_LOG_RAW_WMI_MSGS 0x8002
1160
1161 /* used by AR6000_XIOCTL_DIAG_READ & AR6000_XIOCTL_DIAG_WRITE */
1162 struct ar6000_diag_window_cmd_s {
1163 unsigned int addr;
1164 unsigned int value;
1165 };
1166
1167
1168 struct ar6000_traffic_activity_change {
1169 A_UINT32 StreamID; /* stream ID to indicate activity change */
1170 A_UINT32 Active; /* active (1) or inactive (0) */
1171 };
1172
1173 /* Used with AR6000_XIOCTL_PROF_COUNT_GET */
1174 struct prof_count_s {
1175 A_UINT32 addr; /* bin start address */
1176 A_UINT32 count; /* hit count */
1177 };
1178
1179
1180 /* used by AR6000_XIOCTL_MODULE_DEBUG_SET_MASK */
1181 /* AR6000_XIOCTL_MODULE_DEBUG_GET_MASK */
1182 /* AR6000_XIOCTL_DUMP_MODULE_DEBUG_INFO */
1183 struct drv_debug_module_s {
1184 A_CHAR modulename[128]; /* name of module */
1185 A_UINT32 mask; /* new mask to set .. or .. current mask */
1186 };
1187
1188
1189 /* All HCI related rx events are sent up to the host app
1190 * via a wmi event id. It can contain ACL data or HCI event,
1191 * based on which it will be de-multiplexed.
1192 */
1193 typedef enum {
1194 PAL_HCI_EVENT = 0,
1195 PAL_HCI_RX_DATA,
1196 } WMI_PAL_EVENT_INFO;
1197
1198
1199 #ifdef __cplusplus
1200 }
1201 #endif
1202 #endif
OLDNEW
« no previous file with comments | « chromeos/drivers/ath6kl/os/linux/include/ar6xapi_linux.h ('k') | chromeos/drivers/ath6kl/os/linux/include/athtypes_linux.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698