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