add MTK-combo-module,continue with commit 17f39ed917874e77e80411f33faba1b7ee8138c8
[firefly-linux-kernel-4.4.55.git] / drivers / mtk_wcn_combo / drv_wlan / wlan / include / precomp.h
1 /*
2 ** $Id: //Department/DaVinci/BRANCHES/MT6620_WIFI_DRIVER_V2_2/include/precomp.h#1 $
3 */
4
5 /*! \file   precomp.h
6     \brief  Collection of most compiler flags are described here.
7
8     In this file we collect all compiler flags and detail the driver behavior if
9     enable/disable such switch or adjust numeric parameters.
10 */
11
12 /*******************************************************************************
13 * Copyright (c) 2007 MediaTek Inc.
14 *
15 * All rights reserved. Copying, compilation, modification, distribution
16 * or any other use whatsoever of this material is strictly prohibited
17 * except in accordance with a Software License Agreement with
18 * MediaTek Inc.
19 ********************************************************************************
20 */
21
22 /*******************************************************************************
23 * LEGAL DISCLAIMER
24 *
25 * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND
26 * AGREES THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK
27 * SOFTWARE") RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
28 * PROVIDED TO BUYER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY
29 * DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
30 * LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
31 * PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE
32 * ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
33 * WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK
34 * SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY
35 * WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE
36 * FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S SPECIFICATION OR TO
37 * CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
38 *
39 * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
40 * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL
41 * BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT
42 * ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
43 * BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
44 *
45 * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
46 * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT
47 * OF LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING
48 * THEREOF AND RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN
49 * FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE
50 * (ICC).
51 ********************************************************************************
52 */
53
54 /*
55 ** $Log: precomp.h $
56  *
57  * 10 19 2011 yuche.tsai
58  * [WCXRP00001045] [WiFi Direct][Driver] Check 2.1 branch.
59  * Branch 2.1
60  * Davinci Maintrunk Label: MT6620_WIFI_DRIVER_FW_TRUNK_MT6620E5_111019_0926.
61  *
62  * 04 18 2011 terry.wu
63  * [WCXRP00000660] [MT6620 Wi-Fi][Driver] Remove flag CFG_WIFI_DIRECT_MOVED
64  * Remove flag CFG_WIFI_DIRECT_MOVED.
65  *
66  * 03 18 2011 cp.wu
67  * [WCXRP00000577] [MT6620 Wi-Fi][Driver][FW] Create V2.0 branch for firmware and driver
68  * create V2.0 driver release based on label "MT6620_WIFI_DRIVER_V2_0_110318_1600" from main trunk
69  *
70  * 03 15 2011 eddie.chen
71  * [WCXRP00000554] [MT6620 Wi-Fi][DRV] Add sw control debug counter
72  * Add sw debug counter for QM.
73  *
74  * 01 27 2011 tsaiyuan.hsu
75  * [WCXRP00000392] [MT6620 Wi-Fi][Driver] Add Roaming Support
76  * add roaming fsm
77  * 1. not support 11r, only use strength of signal to determine roaming.
78  * 2. not enable CFG_SUPPORT_ROAMING until completion of full test.
79  * 3. in 6620, adopt work-around to avoid sign extension problem of cck of hw
80  * 4. assume that change of link quality in smooth way.
81  *
82  * 12 13 2010 cp.wu
83  * [WCXRP00000260] [MT6620 Wi-Fi][Driver][Firmware] Create V1.1 branch for both firmware and driver
84  * create branch for Wi-Fi driver v1.1
85  *
86  * 10 07 2010 cp.wu
87  * [WCXRP00000083] [MT5931][Driver][FW] Add necessary logic for MT5931 first connection
88  * add firmware download for MT5931.
89  *
90  * 10 05 2010 cp.wu
91  * [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version Check
92  * 1) add NVRAM access API
93  * 2) fake scanning result when NVRAM doesn't exist and/or version mismatch. (off by compiler option)
94  * 3) add OID implementation for NVRAM read/write service
95  *
96  * 09 21 2010 kevin.huang
97  * [WCXRP00000052] [MT6620 Wi-Fi][Driver] Eliminate Linux Compile Warning
98  * Isolate P2P related function for Hardware Software Bundle
99  *
100  * 09 14 2010 chinghwa.yu
101  * NULL
102  * Fix BOW_FSM_INFO_T dependence.
103  *
104  * 09 03 2010 kevin.huang
105  * NULL
106  * Refine #include sequence and solve recursive/nested #include issue
107  *
108  * 07 20 2010 wh.su
109  *
110  * adding the wapi code.
111  *
112  * 07 08 2010 cp.wu
113  *
114  * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
115  *
116  * 07 08 2010 cm.chang
117  * [WPD00003841][LITE Driver] Migrate RLM/CNM to host driver
118  * Check draft RLM code for HT cap
119  *
120  * 07 01 2010 cm.chang
121  * [WPD00003841][LITE Driver] Migrate RLM/CNM to host driver
122  * Modify CNM message handler for new flow
123  *
124  * 06 28 2010 cm.chang
125  * [WPD00003841][LITE Driver] Migrate RLM/CNM to host driver
126  * 1st draft code for RLM module
127  *
128  * 06 19 2010 wh.su
129  * [WPD00003840][MT6620 5931] Security migration
130  * consdier the concurrent network setting.
131  *
132  * 06 18 2010 wh.su
133  * [WPD00003840][MT6620 5931] Security migration
134  * migration the security related function from firmware.
135  *
136  * 06 18 2010 wh.su
137  * [WPD00003840][MT6620 5931] Security migration
138  * migration from MT6620 firmware.
139  *
140  * 06 08 2010 cp.wu
141  * [WPD00003833][MT6620 and MT5931] Driver migration
142  * add hem_mbox.c and cnm_mem.h (but disabled some feature) for further migration
143  *
144  * 06 07 2010 cp.wu
145  * [WPD00003833][MT6620 and MT5931] Driver migration
146  * merge cnm_scan.h and hem_mbox.h
147  *
148  * 06 07 2010 cp.wu
149  * [WPD00003833][MT6620 and MT5931] Driver migration
150  * merge wifi_var.h, precomp.h, cnm_timer.h (data type only)
151  *
152  * 06 06 2010 kevin.huang
153  * [WPD00003832][MT6620 5931] Create driver base
154  * [MT6620 5931] Create driver base
155  *
156  * 05 17 2010 cp.wu
157  * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
158  * 1) add timeout handler mechanism for pending command packets
159  * 2) add p2p add/removal key
160  *
161  * 04 13 2010 cp.wu
162  * [WPD00003823][MT6620 Wi-Fi] Add Bluetooth-over-Wi-Fi support
163  * add framework for BT-over-Wi-Fi support.
164  *  *  *  *  *  *  *  *  *  *  * 1) prPendingCmdInfo is replaced by queue for multiple handler capability
165  *  *  *  *  *  *  *  *  *  *  * 2) command sequence number is now increased atomically
166  *  *  *  *  *  *  *  *  *  *  * 3) private data could be hold and taken use for other purpose
167  *
168  * 03 16 2010 cp.wu
169  * [WPD00003823][MT6620 Wi-Fi] Add Bluetooth-over-Wi-Fi support
170  * build up basic data structure and definitions to support BT-over-WiFi
171  *
172  * 02 08 2010 cp.wu
173  * [WPD00001943]Create WiFi test driver framework on WinXP
174  * prepare for implementing fw download logic
175  *
176  * 01 27 2010 wh.su
177  * [WPD00003816][MT6620 Wi-Fi] Adding the security support
178  * .
179 **  \main\maintrunk.MT6620WiFiDriver_Prj\9 2009-12-08 11:30:58 GMT mtk02752
180 **  add rftest.h for implementing RF test mode in driver land
181 **  \main\maintrunk.MT6620WiFiDriver_Prj\8 2009-11-23 22:02:00 GMT mtk02468
182 **  Added que_mgt.h
183 **  \main\maintrunk.MT6620WiFiDriver_Prj\7 2009-10-13 21:58:36 GMT mtk01084
184 **  update for new macro define
185 **  \main\maintrunk.MT6620WiFiDriver_Prj\6 2009-04-21 09:40:11 GMT mtk01461
186 **  Add nic_cmd_event.h
187 **  \main\maintrunk.MT6620WiFiDriver_Prj\5 2009-04-17 20:00:26 GMT mtk01461
188 **  Add cmd_buf.h
189 **  \main\maintrunk.MT6620WiFiDriver_Prj\4 2009-03-19 18:32:44 GMT mtk01084
190 **  update for basic power management functions
191 **  \main\maintrunk.MT6620WiFiDriver_Prj\3 2009-03-16 09:08:25 GMT mtk01461
192 **  Update TX PATH API
193 **  \main\maintrunk.MT6620WiFiDriver_Prj\2 2009-03-10 20:11:38 GMT mtk01426
194 **  Init for develop
195 **
196 */
197
198 #ifndef _PRECOMP_H
199 #define _PRECOMP_H
200
201 /*******************************************************************************
202 *                         C O M P I L E R   F L A G S
203 ********************************************************************************
204 */
205
206 /*******************************************************************************
207 *                    E X T E R N A L   R E F E R E N C E S
208 ********************************************************************************
209 */
210 #include "gl_os.h" // Include "config.h"
211
212 #include "debug.h"
213
214 #include "link.h"
215 #include "queue.h"
216
217
218 /*------------------------------------------------------------------------------
219  * .\include\mgmt
220  *------------------------------------------------------------------------------
221  */
222 #include "wlan_typedef.h"
223
224 #include "mac.h"
225
226 /* Dependency:  mac.h (MAC_ADDR_LEN) */
227 #include "wlan_def.h"
228
229 #if CFG_SUPPORT_SWCR
230 #include "swcr.h"
231 #endif
232
233 /*------------------------------------------------------------------------------
234  * .\include\nic
235  *------------------------------------------------------------------------------
236  */
237 /* Dependency:  wlan_def.h (ENUM_NETWORK_TYPE_T) */
238 #include "cmd_buf.h"
239
240 /* Dependency:  mac.h (MAC_ADDR_LEN) */
241 #include "nic_cmd_event.h"
242
243 /* Dependency:  nic_cmd_event.h (P_EVENT_CONNECTION_STATUS) */
244 #include "nic.h"
245
246 #include "nic_init_cmd_event.h"
247
248 #include "hif_rx.h"
249 #include "hif_tx.h"
250
251 #include "nic_tx.h"
252
253 /* Dependency:  hif_rx.h (P_HIF_RX_HEADER_T) */
254 #include "nic_rx.h"
255
256 #include "que_mgt.h"
257
258 #if CFG_ENABLE_WIFI_DIRECT
259 #include "p2p_typedef.h"
260 #endif
261
262
263 /*------------------------------------------------------------------------------
264  * .\include\mgmt
265  *------------------------------------------------------------------------------
266  */
267
268 #include "hem_mbox.h"
269
270 #include "scan.h"
271 #include "bss.h"
272
273 #include "wlan_lib.h"
274 #include "wlan_oid.h"
275 #include "wlan_bow.h"
276
277 #include "hal.h"
278
279 #if defined(MT6620)
280     #include "mt6620_reg.h"
281 #elif defined(MT5931)
282     #include "mt5931_reg.h"
283 #elif defined(MT6628)
284     #include "mt6628_reg.h"
285 #endif
286
287 #include "rlm.h"
288 #include "rlm_domain.h"
289 #include "rlm_protection.h"
290 #include "rlm_obss.h"
291 #include "rate.h"
292
293
294 #include "aa_fsm.h"
295
296 #include "cnm_timer.h"
297
298 #if CFG_ENABLE_BT_OVER_WIFI
299 #include "bow.h"
300 #include "bow_fsm.h"
301 #endif
302
303 #include "pwr_mgt.h"
304
305
306 #include "cnm.h"
307 /* Dependency:  aa_fsm.h (ENUM_AA_STATE_T), p2p_fsm.h (WPS_ATTRI_MAX_LEN_DEVICE_NAME) */
308 #include "cnm_mem.h"
309 #include "cnm_scan.h"
310
311
312 #include "privacy.h"
313
314 #include "mib.h"
315
316 #include "auth.h"
317 #include "assoc.h"
318
319 #if CFG_SUPPORT_ROAMING
320 #include "roaming_fsm.h"
321 #endif /* CFG_SUPPORT_ROAMING */
322
323 #include "ais_fsm.h"
324
325
326 #include "adapter.h"
327
328
329 #include "que_mgt.h"
330 #include "rftest.h"
331
332
333 #if CFG_RSN_MIGRATION
334 #include "rsn.h"
335 #include "sec_fsm.h"
336 #endif
337
338 #if CFG_SUPPORT_WAPI
339 #include "wapi.h"
340 #endif
341
342 /*------------------------------------------------------------------------------
343  * NVRAM structure
344  *------------------------------------------------------------------------------
345  */
346 #include "CFG_Wifi_File.h"
347
348 /*******************************************************************************
349 *                              C O N S T A N T S
350 ********************************************************************************
351 */
352
353 /*******************************************************************************
354 *                             D A T A   T Y P E S
355 ********************************************************************************
356 */
357
358 /*******************************************************************************
359 *                            P U B L I C   D A T A
360 ********************************************************************************
361 */
362
363 /*******************************************************************************
364 *                           P R I V A T E   D A T A
365 ********************************************************************************
366 */
367
368 /*******************************************************************************
369 *                                 M A C R O S
370 ********************************************************************************
371 */
372
373 /*******************************************************************************
374 *                  F U N C T I O N   D E C L A R A T I O N S
375 ********************************************************************************
376 */
377
378 /*******************************************************************************
379 *                              F U N C T I O N S
380 ********************************************************************************
381 */
382
383 #endif /* _PRECOMP_H */
384
385