OSDN Git Service

Update rtl8812au driver
[android-x86/external-kernel-drivers.git] / rtl8812au / Makefile
1 EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS)
2 EXTRA_CFLAGS += -O1
3 #EXTRA_CFLAGS += -O3
4 #EXTRA_CFLAGS += -Wall
5 #EXTRA_CFLAGS += -Wextra
6 #EXTRA_CFLAGS += -Werror
7 #EXTRA_CFLAGS += -pedantic
8 #EXTRA_CFLAGS += -Wshadow -Wpointer-arith -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
9
10 EXTRA_CFLAGS += -Wno-unused-variable
11 EXTRA_CFLAGS += -Wno-unused-value
12 EXTRA_CFLAGS += -Wno-unused-label
13 EXTRA_CFLAGS += -Wno-unused-parameter
14 EXTRA_CFLAGS += -Wno-unused-function
15 EXTRA_CFLAGS += -Wno-unused
16 #EXTRA_CFLAGS += -Wno-uninitialized
17
18 GCC_VER_49 := $(shell echo `$(CC) -dumpversion | cut -f1-2 -d.` \>= 4.9 | bc )
19 ifeq ($(GCC_VER_49),1)
20 EXTRA_CFLAGS += -Wno-date-time  # Fix compile error && warning on gcc 4.9 and later
21 endif
22
23 EXTRA_CFLAGS += -I$(src)/include
24 EXTRA_CFLAGS += -I$(src)/hal/phydm
25
26 EXTRA_LDFLAGS += --strip-debug
27
28 CONFIG_AUTOCFG_CP = n
29
30 ########################## WIFI IC ############################
31 CONFIG_MULTIDRV = n
32 CONFIG_RTL8188E = n
33 CONFIG_RTL8812A = y
34 CONFIG_RTL8821A = y
35 CONFIG_RTL8192E = n
36 CONFIG_RTL8723B = n
37 CONFIG_RTL8814A = n
38 CONFIG_RTL8723C = n
39 CONFIG_RTL8188F = n
40 CONFIG_RTL8822B = n
41 CONFIG_RTL8723D = n
42 CONFIG_RTL8821C = n
43 ######################### Interface ###########################
44 CONFIG_USB_HCI = y
45 CONFIG_PCI_HCI = n
46 CONFIG_SDIO_HCI = n
47 CONFIG_GSPI_HCI = n
48 ########################## Features ###########################
49 CONFIG_MP_INCLUDED = y
50 CONFIG_POWER_SAVING = y
51 CONFIG_USB_AUTOSUSPEND = n
52 CONFIG_HW_PWRP_DETECTION = n
53 CONFIG_WIFI_TEST = n
54 CONFIG_BT_COEXIST = y
55 CONFIG_INTEL_WIDI = n
56 CONFIG_WAPI_SUPPORT = n
57 CONFIG_EFUSE_CONFIG_FILE = y
58 CONFIG_EXT_CLK = n
59 CONFIG_TRAFFIC_PROTECT = y
60 CONFIG_LOAD_PHY_PARA_FROM_FILE = y
61 CONFIG_TXPWR_BY_RATE_EN = n
62 CONFIG_TXPWR_LIMIT_EN = n
63 CONFIG_RTW_ADAPTIVITY_EN = disable
64 CONFIG_RTW_ADAPTIVITY_MODE = normal
65 CONFIG_SIGNAL_SCALE_MAPPING = n
66 CONFIG_80211W = n
67 CONFIG_REDUCE_TX_CPU_LOADING = n
68 CONFIG_BR_EXT = y
69 CONFIG_TDLS = n
70 CONFIG_WIFI_MONITOR = n
71 CONFIG_MCC_MODE = n
72 CONFIG_APPEND_VENDOR_IE_ENABLE = n
73 CONFIG_RTW_NAPI = y
74 CONFIG_RTW_GRO = y
75 ########################## Debug ###########################
76 CONFIG_RTW_DEBUG = y
77 # default log level is _DRV_INFO_ = 4,
78 # please refer to "How_to_set_driver_debug_log_level.doc" to set the available level.
79 CONFIG_RTW_LOG_LEVEL = 2
80 ######################## Wake On Lan ##########################
81 CONFIG_WOWLAN = n
82 CONFIG_GPIO_WAKEUP = n
83 CONFIG_DEFAULT_PATTERNS_EN = n
84 CONFIG_WAKEUP_GPIO_IDX = default
85 CONFIG_HIGH_ACTIVE = n
86 CONFIG_PNO_SUPPORT = n
87 CONFIG_PNO_SET_DEBUG = n
88 CONFIG_AP_WOWLAN = n
89 ######### Notify SDIO Host Keep Power During Syspend ##########
90 CONFIG_RTW_SDIO_PM_KEEP_POWER = y
91 ###################### MP HW TX MODE FOR VHT #######################
92 CONFIG_MP_VHT_HW_TX_MODE = n
93 ###################### Platform Related #######################
94 CONFIG_PLATFORM_I386_PC = n
95 CONFIG_PLATFORM_ANDROID_X86 = y
96 CONFIG_PLATFORM_ANDROID_INTEL_X86 = n
97 CONFIG_PLATFORM_JB_X86 = n
98 CONFIG_PLATFORM_ARM_S3C2K4 = n
99 CONFIG_PLATFORM_ARM_PXA2XX = n
100 CONFIG_PLATFORM_ARM_S3C6K4 = n
101 CONFIG_PLATFORM_MIPS_RMI = n
102 CONFIG_PLATFORM_RTD2880B = n
103 CONFIG_PLATFORM_MIPS_AR9132 = n
104 CONFIG_PLATFORM_RTK_DMP = n
105 CONFIG_PLATFORM_MIPS_PLM = n
106 CONFIG_PLATFORM_MSTAR389 = n
107 CONFIG_PLATFORM_MT53XX = n
108 CONFIG_PLATFORM_ARM_MX51_241H = n
109 CONFIG_PLATFORM_FS_MX61 = n
110 CONFIG_PLATFORM_ACTIONS_ATJ227X = n
111 CONFIG_PLATFORM_TEGRA3_CARDHU = n
112 CONFIG_PLATFORM_TEGRA4_DALMORE = n
113 CONFIG_PLATFORM_ARM_TCC8900 = n
114 CONFIG_PLATFORM_ARM_TCC8920 = n
115 CONFIG_PLATFORM_ARM_TCC8920_JB42 = n
116 CONFIG_PLATFORM_ARM_TCC8930_JB42 = n
117 CONFIG_PLATFORM_ARM_RK2818 = n
118 CONFIG_PLATFORM_ARM_RK3066 = n
119 CONFIG_PLATFORM_ARM_RK3188 = n
120 CONFIG_PLATFORM_ARM_URBETTER = n
121 CONFIG_PLATFORM_ARM_TI_PANDA = n
122 CONFIG_PLATFORM_MIPS_JZ4760 = n
123 CONFIG_PLATFORM_DMP_PHILIPS = n
124 CONFIG_PLATFORM_MSTAR_TITANIA12 = n
125 CONFIG_PLATFORM_MSTAR = n
126 CONFIG_PLATFORM_SZEBOOK = n
127 CONFIG_PLATFORM_ARM_SUNxI = n
128 CONFIG_PLATFORM_ARM_SUN6I = n
129 CONFIG_PLATFORM_ARM_SUN7I = n
130 CONFIG_PLATFORM_ARM_SUN8I_W3P1 = n
131 CONFIG_PLATFORM_ARM_SUN8I_W5P1 = n
132 CONFIG_PLATFORM_ACTIONS_ATM702X = n
133 CONFIG_PLATFORM_ACTIONS_ATV5201 = n
134 CONFIG_PLATFORM_ACTIONS_ATM705X = n
135 CONFIG_PLATFORM_ARM_SUN50IW1P1 = n
136 CONFIG_PLATFORM_ARM_RTD299X = n
137 CONFIG_PLATFORM_ARM_SPREADTRUM_6820 = n
138 CONFIG_PLATFORM_ARM_SPREADTRUM_8810 = n
139 CONFIG_PLATFORM_ARM_WMT = n
140 CONFIG_PLATFORM_TI_DM365 = n
141 CONFIG_PLATFORM_MOZART = n
142 CONFIG_PLATFORM_RTK119X = n
143 CONFIG_PLATFORM_RTK129X = n
144 CONFIG_PLATFORM_NOVATEK_NT72668 = n
145 CONFIG_PLATFORM_HISILICON = n
146 CONFIG_PLATFORM_NV_TK1 = n
147 ###############################################################
148
149 CONFIG_DRVEXT_MODULE = n
150
151 export TopDIR ?= $(shell pwd)
152
153 ########### COMMON  #################################
154 ifeq ($(CONFIG_GSPI_HCI), y)
155 HCI_NAME = gspi
156 endif
157
158 ifeq ($(CONFIG_SDIO_HCI), y)
159 HCI_NAME = sdio
160 endif
161
162 ifeq ($(CONFIG_USB_HCI), y)
163 HCI_NAME = usb
164 endif
165
166 ifeq ($(CONFIG_PCI_HCI), y)
167 HCI_NAME = pci
168 endif
169
170
171 _OS_INTFS_FILES :=      os_dep/osdep_service.o \
172                         os_dep/linux/os_intfs.o \
173                         os_dep/linux/$(HCI_NAME)_intf.o \
174                         os_dep/linux/$(HCI_NAME)_ops_linux.o \
175                         os_dep/linux/ioctl_linux.o \
176                         os_dep/linux/xmit_linux.o \
177                         os_dep/linux/mlme_linux.o \
178                         os_dep/linux/recv_linux.o \
179                         os_dep/linux/ioctl_cfg80211.o \
180                         os_dep/linux/rtw_cfgvendor.o \
181                         os_dep/linux/wifi_regd.o \
182                         os_dep/linux/rtw_android.o \
183                         os_dep/linux/rtw_proc.o
184
185 ifeq ($(CONFIG_MP_INCLUDED), y)
186 _OS_INTFS_FILES += os_dep/linux/ioctl_mp.o
187 endif
188
189 ifeq ($(CONFIG_SDIO_HCI), y)
190 _OS_INTFS_FILES += os_dep/linux/custom_gpio_linux.o
191 _OS_INTFS_FILES += os_dep/linux/$(HCI_NAME)_ops_linux.o
192 endif
193
194 ifeq ($(CONFIG_GSPI_HCI), y)
195 _OS_INTFS_FILES += os_dep/linux/custom_gpio_linux.o
196 _OS_INTFS_FILES += os_dep/linux/$(HCI_NAME)_ops_linux.o
197 endif
198
199
200 _HAL_INTFS_FILES :=     hal/hal_intf.o \
201                         hal/hal_com.o \
202                         hal/hal_com_phycfg.o \
203                         hal/hal_phy.o \
204                         hal/hal_dm.o \
205                         hal/hal_btcoex_wifionly.o \
206                         hal/hal_btcoex.o \
207                         hal/hal_mp.o \
208                         hal/hal_mcc.o \
209                         hal/hal_hci/hal_$(HCI_NAME).o \
210                         hal/led/hal_$(HCI_NAME)_led.o
211
212
213 _OUTSRC_FILES := hal/phydm/phydm_debug.o        \
214                 hal/phydm/phydm_antdiv.o\
215                 hal/phydm/phydm_antdect.o\
216                 hal/phydm/phydm_interface.o\
217                 hal/phydm/phydm_hwconfig.o\
218                 hal/phydm/phydm.o\
219                 hal/phydm/halphyrf_ce.o\
220                 hal/phydm/phydm_edcaturbocheck.o\
221                 hal/phydm/phydm_dig.o\
222                 hal/phydm/phydm_pathdiv.o\
223                 hal/phydm/phydm_rainfo.o\
224                 hal/phydm/phydm_dynamicbbpowersaving.o\
225                 hal/phydm/phydm_powertracking_ce.o\
226                 hal/phydm/phydm_dynamictxpower.o\
227                 hal/phydm/phydm_adaptivity.o\
228                 hal/phydm/phydm_cfotracking.o\
229                 hal/phydm/phydm_noisemonitor.o\
230                 hal/phydm/phydm_acs.o\
231                 hal/phydm/phydm_beamforming.o\
232                 hal/phydm/phydm_dfs.o\
233                 hal/phydm/txbf/halcomtxbf.o\
234                 hal/phydm/txbf/haltxbfinterface.o\
235                 hal/phydm/txbf/phydm_hal_txbf_api.o\
236                 hal/phydm/phydm_adc_sampling.o\
237                 hal/phydm/phydm_kfree.o\
238                 hal/phydm/phydm_ccx.o\
239                 hal/phydm/phydm_psd.o
240
241 EXTRA_CFLAGS += -I$(src)/platform
242 _PLATFORM_FILES := platform/platform_ops.o
243
244 EXTRA_CFLAGS += -I$(src)/hal/btc
245 _OUTSRC_FILES += hal/btc/halbtc8723bwifionly.o \
246                                 hal/btc/halbtc8822bwifionly.o \
247                                 hal/btc/halbtc8821cwifionly.o
248 ifeq ($(CONFIG_BT_COEXIST), y)
249 _OUTSRC_FILES += hal/btc/halbtc8192e1ant.o \
250                                 hal/btc/halbtc8192e2ant.o \
251                                 hal/btc/halbtc8723b1ant.o \
252                                 hal/btc/halbtc8723b2ant.o \
253                                 hal/btc/halbtc8812a1ant.o \
254                                 hal/btc/halbtc8812a2ant.o \
255                                 hal/btc/halbtc8821a1ant.o \
256                                 hal/btc/halbtc8821a2ant.o \
257                                 hal/btc/halbtc8703b1ant.o \
258                                 hal/btc/halbtc8723d1ant.o \
259                                 hal/btc/halbtc8723d2ant.o \
260                                 hal/btc/halbtc8822b1ant.o \
261                                 hal/btc/halbtc8822b2ant.o \
262                                 hal/btc/halbtc8821c1ant.o \
263                                 hal/btc/halbtc8821c2ant.o
264 endif
265
266
267 ########### HAL_RTL8812A_RTL8821A #################################
268
269 ifneq ($(CONFIG_RTL8812A)_$(CONFIG_RTL8821A), n_n)
270
271 RTL871X = rtl8812a
272 ifeq ($(CONFIG_USB_HCI), y)
273 MODULE_NAME = 8812au
274 endif
275 ifeq ($(CONFIG_PCI_HCI), y)
276 MODULE_NAME = 8812ae
277 endif
278 ifeq ($(CONFIG_SDIO_HCI), y)
279 MODULE_NAME = 8812as
280 endif
281
282 _HAL_INTFS_FILES +=  hal/HalPwrSeqCmd.o \
283                                         hal/$(RTL871X)/Hal8812PwrSeq.o \
284                                         hal/$(RTL871X)/Hal8821APwrSeq.o\
285                                         hal/$(RTL871X)/$(RTL871X)_xmit.o\
286                                         hal/$(RTL871X)/$(RTL871X)_sreset.o
287
288 _HAL_INTFS_FILES +=     hal/$(RTL871X)/$(RTL871X)_hal_init.o \
289                         hal/$(RTL871X)/$(RTL871X)_phycfg.o \
290                         hal/$(RTL871X)/$(RTL871X)_rf6052.o \
291                         hal/$(RTL871X)/$(RTL871X)_dm.o \
292                         hal/$(RTL871X)/$(RTL871X)_rxdesc.o \
293                         hal/$(RTL871X)/$(RTL871X)_cmd.o \
294                         hal/$(RTL871X)/$(HCI_NAME)/$(HCI_NAME)_halinit.o \
295                         hal/$(RTL871X)/$(HCI_NAME)/rtl$(MODULE_NAME)_led.o \
296                         hal/$(RTL871X)/$(HCI_NAME)/rtl$(MODULE_NAME)_xmit.o \
297                         hal/$(RTL871X)/$(HCI_NAME)/rtl$(MODULE_NAME)_recv.o
298
299 ifeq ($(CONFIG_SDIO_HCI), y)
300 _HAL_INTFS_FILES += hal/$(RTL871X)/$(HCI_NAME)/$(HCI_NAME)_ops.o
301 else
302 ifeq ($(CONFIG_GSPI_HCI), y)
303 _HAL_INTFS_FILES += hal/$(RTL871X)/$(HCI_NAME)/$(HCI_NAME)_ops.o
304 else
305 _HAL_INTFS_FILES += hal/$(RTL871X)/$(HCI_NAME)/$(HCI_NAME)_ops_linux.o
306 endif
307 endif
308
309 ifeq ($(CONFIG_RTL8812A), y)
310 ifeq ($(CONFIG_USB_HCI), y)
311 _HAL_INTFS_FILES +=hal/efuse/$(RTL871X)/HalEfuseMask8812A_USB.o
312 endif
313 ifeq ($(CONFIG_PCI_HCI), y)
314 _HAL_INTFS_FILES +=hal/efuse/$(RTL871X)/HalEfuseMask8812A_PCIE.o
315 endif
316 endif
317 ifeq ($(CONFIG_RTL8821A), y)
318 ifeq ($(CONFIG_USB_HCI), y)
319 _HAL_INTFS_FILES +=hal/efuse/$(RTL871X)/HalEfuseMask8821A_USB.o
320 endif
321 ifeq ($(CONFIG_PCI_HCI), y)
322 _HAL_INTFS_FILES +=hal/efuse/$(RTL871X)/HalEfuseMask8821A_PCIE.o
323 endif
324 ifeq ($(CONFIG_SDIO_HCI), y)
325 _HAL_INTFS_FILES +=hal/efuse/$(RTL871X)/HalEfuseMask8821A_SDIO.o
326 endif
327 endif
328
329 ifeq ($(CONFIG_RTL8812A), y)
330 EXTRA_CFLAGS += -DCONFIG_RTL8812A
331 _HAL_INTFS_FILES +=     hal/rtl8812a/hal8812a_fw.o
332
333 _OUTSRC_FILES += hal/phydm/$(RTL871X)/halhwimg8812a_mac.o\
334                 hal/phydm/$(RTL871X)/halhwimg8812a_bb.o\
335                 hal/phydm/$(RTL871X)/halhwimg8812a_rf.o\
336                 hal/phydm/$(RTL871X)/halphyrf_8812a_ce.o\
337                 hal/phydm/$(RTL871X)/phydm_regconfig8812a.o\
338                 hal/phydm/$(RTL871X)/phydm_rtl8812a.o\
339                 hal/phydm/txbf/haltxbfjaguar.o
340 endif
341
342 ifeq ($(CONFIG_RTL8821A), y)
343
344 ifeq ($(CONFIG_RTL8812A), n)
345
346 RTL871X = rtl8821a
347 ifeq ($(CONFIG_USB_HCI), y)
348 ifeq ($(CONFIG_BT_COEXIST), y)
349 MODULE_NAME := 8812au
350 else
351 MODULE_NAME := 8811au
352 endif
353 endif
354 ifeq ($(CONFIG_PCI_HCI), y)
355 MODULE_NAME := 8821ae
356 endif
357 ifeq ($(CONFIG_SDIO_HCI), y)
358 MODULE_NAME := 8821as
359 endif
360
361 endif
362
363 EXTRA_CFLAGS += -DCONFIG_RTL8821A
364
365 _HAL_INTFS_FILES +=     hal/rtl8812a/hal8821a_fw.o
366 _OUTSRC_FILES += hal/phydm/rtl8821a/halhwimg8821a_mac.o\
367                 hal/phydm/rtl8821a/halhwimg8821a_bb.o\
368                 hal/phydm/rtl8821a/halhwimg8821a_rf.o\
369                 hal/phydm/rtl8812a/halphyrf_8812a_ce.o\
370                 hal/phydm/rtl8821a/halphyrf_8821a_ce.o\
371                 hal/phydm/rtl8821a/phydm_regconfig8821a.o\
372                 hal/phydm/rtl8821a/phydm_rtl8821a.o\
373                 hal/phydm/rtl8821a/phydm_iqk_8821a_ce.o\
374                 hal/phydm/txbf/haltxbfjaguar.o
375
376 endif
377
378 endif
379
380 ########### END OF PATH  #################################
381
382 ifeq ($(CONFIG_USB_HCI), y)
383 ifeq ($(CONFIG_USB_AUTOSUSPEND), y)
384 EXTRA_CFLAGS += -DCONFIG_USB_AUTOSUSPEND
385 endif
386 endif
387
388 ifeq ($(CONFIG_MP_INCLUDED), y)
389 #MODULE_NAME := $(MODULE_NAME)_mp
390 EXTRA_CFLAGS += -DCONFIG_MP_INCLUDED
391 endif
392
393 ifeq ($(CONFIG_POWER_SAVING), y)
394 EXTRA_CFLAGS += -DCONFIG_POWER_SAVING
395 endif
396
397 ifeq ($(CONFIG_HW_PWRP_DETECTION), y)
398 EXTRA_CFLAGS += -DCONFIG_HW_PWRP_DETECTION
399 endif
400
401 ifeq ($(CONFIG_WIFI_TEST), y)
402 EXTRA_CFLAGS += -DCONFIG_WIFI_TEST
403 endif
404
405 ifeq ($(CONFIG_BT_COEXIST), y)
406 EXTRA_CFLAGS += -DCONFIG_BT_COEXIST
407 endif
408
409 ifeq ($(CONFIG_INTEL_WIDI), y)
410 EXTRA_CFLAGS += -DCONFIG_INTEL_WIDI
411 endif
412
413 ifeq ($(CONFIG_WAPI_SUPPORT), y)
414 EXTRA_CFLAGS += -DCONFIG_WAPI_SUPPORT
415 endif
416
417
418 ifeq ($(CONFIG_EFUSE_CONFIG_FILE), y)
419 EXTRA_CFLAGS += -DCONFIG_EFUSE_CONFIG_FILE
420
421 #EFUSE_MAP_PATH
422 USER_EFUSE_MAP_PATH ?=
423 ifneq ($(USER_EFUSE_MAP_PATH),)
424 EXTRA_CFLAGS += -DEFUSE_MAP_PATH=\"$(USER_EFUSE_MAP_PATH)\"
425 else ifeq ($(MODULE_NAME), 8189es)
426 EXTRA_CFLAGS += -DEFUSE_MAP_PATH=\"/system/etc/wifi/wifi_efuse_8189e.map\"
427 else ifeq ($(MODULE_NAME), 8723bs)
428 EXTRA_CFLAGS += -DEFUSE_MAP_PATH=\"/system/etc/wifi/wifi_efuse_8723bs.map\"
429 else
430 EXTRA_CFLAGS += -DEFUSE_MAP_PATH=\"/system/etc/wifi/wifi_efuse_$(MODULE_NAME).map\"
431 endif
432
433 #WIFIMAC_PATH
434 USER_WIFIMAC_PATH ?=
435 ifneq ($(USER_WIFIMAC_PATH),)
436 EXTRA_CFLAGS += -DWIFIMAC_PATH=\"$(USER_WIFIMAC_PATH)\"
437 else
438 EXTRA_CFLAGS += -DWIFIMAC_PATH=\"/data/wifimac.txt\"
439 endif
440
441 endif
442
443 ifeq ($(CONFIG_EXT_CLK), y)
444 EXTRA_CFLAGS += -DCONFIG_EXT_CLK
445 endif
446
447 ifeq ($(CONFIG_TRAFFIC_PROTECT), y)
448 EXTRA_CFLAGS += -DCONFIG_TRAFFIC_PROTECT
449 endif
450
451 ifeq ($(CONFIG_LOAD_PHY_PARA_FROM_FILE), y)
452 EXTRA_CFLAGS += -DCONFIG_LOAD_PHY_PARA_FROM_FILE
453 #EXTRA_CFLAGS += -DREALTEK_CONFIG_PATH_WITH_IC_NAME_FOLDER
454 #EXTRA_CFLAGS += -DREALTEK_CONFIG_PATH=\"/lib/firmware/\"
455 EXTRA_CFLAGS += -DREALTEK_CONFIG_PATH=\"\"
456 endif
457
458 ifeq ($(CONFIG_TXPWR_BY_RATE_EN), n)
459 EXTRA_CFLAGS += -DCONFIG_TXPWR_BY_RATE_EN=0
460 else ifeq ($(CONFIG_TXPWR_BY_RATE_EN), y)
461 EXTRA_CFLAGS += -DCONFIG_TXPWR_BY_RATE_EN=1
462 else ifeq ($(CONFIG_TXPWR_BY_RATE_EN), auto)
463 EXTRA_CFLAGS += -DCONFIG_TXPWR_BY_RATE_EN=2
464 endif
465
466 ifeq ($(CONFIG_TXPWR_LIMIT_EN), n)
467 EXTRA_CFLAGS += -DCONFIG_TXPWR_LIMIT_EN=0
468 else ifeq ($(CONFIG_TXPWR_LIMIT_EN), y)
469 EXTRA_CFLAGS += -DCONFIG_TXPWR_LIMIT_EN=1
470 else ifeq ($(CONFIG_TXPWR_LIMIT_EN), auto)
471 EXTRA_CFLAGS += -DCONFIG_TXPWR_LIMIT_EN=2
472 endif
473
474 ifeq ($(CONFIG_CALIBRATE_TX_POWER_BY_REGULATORY), y)
475 EXTRA_CFLAGS += -DCONFIG_CALIBRATE_TX_POWER_BY_REGULATORY
476 endif
477
478 ifeq ($(CONFIG_CALIBRATE_TX_POWER_TO_MAX), y)
479 EXTRA_CFLAGS += -DCONFIG_CALIBRATE_TX_POWER_TO_MAX
480 endif
481
482 ifeq ($(CONFIG_RTW_ADAPTIVITY_EN), disable)
483 EXTRA_CFLAGS += -DCONFIG_RTW_ADAPTIVITY_EN=0
484 else ifeq ($(CONFIG_RTW_ADAPTIVITY_EN), enable)
485 EXTRA_CFLAGS += -DCONFIG_RTW_ADAPTIVITY_EN=1
486 endif
487
488 ifeq ($(CONFIG_RTW_ADAPTIVITY_MODE), normal)
489 EXTRA_CFLAGS += -DCONFIG_RTW_ADAPTIVITY_MODE=0
490 else ifeq ($(CONFIG_RTW_ADAPTIVITY_MODE), carrier_sense)
491 EXTRA_CFLAGS += -DCONFIG_RTW_ADAPTIVITY_MODE=1
492 endif
493
494 ifeq ($(CONFIG_SIGNAL_SCALE_MAPPING), y)
495 EXTRA_CFLAGS += -DCONFIG_SIGNAL_SCALE_MAPPING
496 endif
497
498 ifeq ($(CONFIG_80211W), y)
499 EXTRA_CFLAGS += -DCONFIG_IEEE80211W
500 endif
501
502 ifeq ($(CONFIG_WOWLAN), y)
503 EXTRA_CFLAGS += -DCONFIG_WOWLAN
504 ifeq ($(CONFIG_SDIO_HCI), y)
505 EXTRA_CFLAGS += -DCONFIG_RTW_SDIO_PM_KEEP_POWER
506 endif
507 ifeq ($(CONFIG_DEFAULT_PATTERNS_EN), y)
508 EXTRA_CFLAGS += -DCONFIG_DEFAULT_PATTERNS_EN
509 endif
510 endif
511
512 ifeq ($(CONFIG_AP_WOWLAN), y)
513 EXTRA_CFLAGS += -DCONFIG_AP_WOWLAN
514 ifeq ($(CONFIG_SDIO_HCI), y)
515 EXTRA_CFLAGS += -DCONFIG_RTW_SDIO_PM_KEEP_POWER
516 endif
517 endif
518
519 ifeq ($(CONFIG_PNO_SUPPORT), y)
520 EXTRA_CFLAGS += -DCONFIG_PNO_SUPPORT
521 ifeq ($(CONFIG_PNO_SET_DEBUG), y)
522 EXTRA_CFLAGS += -DCONFIG_PNO_SET_DEBUG
523 endif
524 endif
525
526 ifeq ($(CONFIG_GPIO_WAKEUP), y)
527 EXTRA_CFLAGS += -DCONFIG_GPIO_WAKEUP
528 ifeq ($(CONFIG_HIGH_ACTIVE), y)
529 EXTRA_CFLAGS += -DHIGH_ACTIVE=1
530 else
531 EXTRA_CFLAGS += -DHIGH_ACTIVE=0
532 endif
533 endif
534
535 ifneq ($(CONFIG_WAKEUP_GPIO_IDX), default)
536 EXTRA_CFLAGS += -DWAKEUP_GPIO_IDX=$(CONFIG_WAKEUP_GPIO_IDX)
537 endif
538
539 ifeq ($(CONFIG_RTW_SDIO_PM_KEEP_POWER), y)
540 ifeq ($(CONFIG_SDIO_HCI), y)
541 EXTRA_CFLAGS += -DCONFIG_RTW_SDIO_PM_KEEP_POWER
542 endif
543 endif
544
545 ifeq ($(CONFIG_REDUCE_TX_CPU_LOADING), y)
546 EXTRA_CFLAGS += -DCONFIG_REDUCE_TX_CPU_LOADING
547 endif
548
549 ifeq ($(CONFIG_BR_EXT), y)
550 BR_NAME = br0
551 EXTRA_CFLAGS += -DCONFIG_BR_EXT
552 EXTRA_CFLAGS += '-DCONFIG_BR_EXT_BRNAME="'$(BR_NAME)'"'
553 endif
554
555
556 ifeq ($(CONFIG_TDLS), y)
557 EXTRA_CFLAGS += -DCONFIG_TDLS
558 endif
559
560 ifeq ($(CONFIG_WIFI_MONITOR), y)
561 EXTRA_CFLAGS += -DCONFIG_WIFI_MONITOR
562 endif
563
564 ifeq ($(CONFIG_MCC_MODE), y)
565 EXTRA_CFLAGS += -DCONFIG_MCC_MODE
566 endif
567
568 ifeq ($(CONFIG_RTW_NAPI), y)
569 EXTRA_CFLAGS += -DCONFIG_RTW_NAPI
570 endif
571
572 ifeq ($(CONFIG_RTW_GRO), y)
573 EXTRA_CFLAGS += -DCONFIG_RTW_GRO
574 endif
575
576 ifeq ($(CONFIG_MP_VHT_HW_TX_MODE), y)
577 EXTRA_CFLAGS += -DCONFIG_MP_VHT_HW_TX_MODE
578 ifeq ($(CONFIG_PLATFORM_I386_PC), y)
579 ## For I386 X86 ToolChain use Hardware FLOATING
580 EXTRA_CFLAGS += -mhard-float
581 else
582 ## For ARM ToolChain use Hardware FLOATING
583 EXTRA_CFLAGS += -mfloat-abi=hard
584 endif
585 endif
586
587 ifeq ($(CONFIG_APPEND_VENDOR_IE_ENABLE), y)
588 EXTRA_CFLAGS += -DCONFIG_APPEND_VENDOR_IE_ENABLE
589 endif
590
591 ifeq ($(CONFIG_RTW_DEBUG), y)
592 EXTRA_CFLAGS += -DCONFIG_RTW_DEBUG
593 EXTRA_CFLAGS += -DRTW_LOG_LEVEL=$(CONFIG_RTW_LOG_LEVEL)
594 endif
595
596 EXTRA_CFLAGS += -DDM_ODM_SUPPORT_TYPE=0x04
597
598 ifeq ($(CONFIG_PLATFORM_ANDROID_X86), y)
599 EXTRA_CFLAGS += -DCONFIG_PLATFORM_ANDROID
600 EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
601 EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
602 EXTRA_CFLAGS += -DRTW_P2P_GROUP_INTERFACE=1
603 SUBARCH := $(shell uname -m | sed -e s/i.86/i386/)
604 ARCH := $(SUBARCH)
605 endif
606
607 ifeq ($(CONFIG_PLATFORM_ANDROID_INTEL_X86), y)
608 EXTRA_CFLAGS += -DCONFIG_PLATFORM_ANDROID_INTEL_X86
609 EXTRA_CFLAGS += -DCONFIG_PLATFORM_INTEL_BYT
610 EXTRA_CFLAGS += -DCONFIG_PLATFORM_ANDROID
611 EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
612 EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
613 EXTRA_CFLAGS += -DCONFIG_SKIP_SIGNAL_SCALE_MAPPING
614 ifeq ($(CONFIG_SDIO_HCI), y)
615 EXTRA_CFLAGS += -DCONFIG_RESUME_IN_WORKQUEUE
616 endif
617 endif
618
619 ifeq ($(CONFIG_PLATFORM_JB_X86), y)
620 EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
621 EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
622 SUBARCH := $(shell uname -m | sed -e s/i.86/i386/)
623 ARCH := $(SUBARCH)
624 CROSS_COMPILE := /home/android_sdk/android-x86_JB/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7/bin/i686-linux-android-
625 KSRC := /home/android_sdk/android-x86_JB/out/target/product/x86/obj/kernel/
626 MODULE_NAME :=wlan
627 endif
628
629
630 ifeq ($(CONFIG_MULTIDRV), y)
631
632 ifeq ($(CONFIG_SDIO_HCI), y)
633 MODULE_NAME := rtw_sdio
634 endif
635
636 ifeq ($(CONFIG_USB_HCI), y)
637 MODULE_NAME := rtw_usb
638 endif
639
640 ifeq ($(CONFIG_PCI_HCI), y)
641 MODULE_NAME := rtw_pci
642 endif
643
644
645 endif
646
647 USER_MODULE_NAME ?=
648 ifneq ($(USER_MODULE_NAME),)
649 MODULE_NAME := $(USER_MODULE_NAME)
650 endif
651
652 ifneq ($(KERNELRELEASE),)
653
654 rtk_core :=     core/rtw_cmd.o \
655                 core/rtw_security.o \
656                 core/rtw_debug.o \
657                 core/rtw_io.o \
658                 core/rtw_ioctl_query.o \
659                 core/rtw_ioctl_set.o \
660                 core/rtw_ieee80211.o \
661                 core/rtw_mlme.o \
662                 core/rtw_mlme_ext.o \
663                 core/rtw_mi.o \
664                 core/rtw_wlan_util.o \
665                 core/rtw_vht.o \
666                 core/rtw_pwrctrl.o \
667                 core/rtw_rf.o \
668                 core/rtw_recv.o \
669                 core/rtw_sta_mgt.o \
670                 core/rtw_ap.o \
671                 core/rtw_xmit.o \
672                 core/rtw_p2p.o \
673                 core/rtw_tdls.o \
674                 core/rtw_br_ext.o \
675                 core/rtw_iol.o \
676                 core/rtw_sreset.o \
677                 core/rtw_btcoex_wifionly.o \
678                 core/rtw_btcoex.o \
679                 core/rtw_beamforming.o \
680                 core/rtw_odm.o \
681                 core/efuse/rtw_efuse.o
682
683 ifeq ($(CONFIG_SDIO_HCI), y)
684 rtk_core += core/rtw_sdio.o
685 endif
686
687 $(MODULE_NAME)-y += $(rtk_core)
688
689 $(MODULE_NAME)-$(CONFIG_INTEL_WIDI) += core/rtw_intel_widi.o
690
691 $(MODULE_NAME)-$(CONFIG_WAPI_SUPPORT) += core/rtw_wapi.o        \
692                                         core/rtw_wapi_sms4.o
693
694 $(MODULE_NAME)-y += $(_OS_INTFS_FILES)
695 $(MODULE_NAME)-y += $(_HAL_INTFS_FILES)
696 $(MODULE_NAME)-y += $(_OUTSRC_FILES)
697 $(MODULE_NAME)-y += $(_PLATFORM_FILES)
698
699 $(MODULE_NAME)-$(CONFIG_MP_INCLUDED) += core/rtw_mp.o
700
701 ifeq ($(CONFIG_RTL8723B), y)
702 $(MODULE_NAME)-$(CONFIG_MP_INCLUDED)+= core/rtw_bt_mp.o
703 endif
704
705 obj-m := $(MODULE_NAME).o
706
707 else
708
709 export CONFIG_RTL8821AU = m
710
711 all: modules
712
713 modules:
714         $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KSRC) M=$(shell pwd)  modules
715
716 strip:
717         $(CROSS_COMPILE)strip $(MODULE_NAME).ko --strip-unneeded
718
719 install:
720         install -p -m 644 *.ko  $(MODDESTDIR)
721         /sbin/depmod -a ${KVER}
722
723 uninstall:
724         rm -f $(MODDESTDIR)/$(MODULE_NAME).ko
725         /sbin/depmod -a ${KVER}
726
727 config_r:
728         @echo "make config"
729         /bin/bash script/Configure script/config.in
730
731
732 .PHONY: modules clean
733
734 clean:
735         #$(MAKE) -C $(KSRC) M=$(shell pwd) clean
736         cd hal ; rm -fr */*/*/*.mod.c */*/*/*.mod */*/*/*.o */*/*/.*.cmd */*/*/*.ko
737         cd hal ; rm -fr */*/*.mod.c */*/*.mod */*/*.o */*/.*.cmd */*/*.ko
738         cd hal ; rm -fr */*.mod.c */*.mod */*.o */.*.cmd */*.ko
739         cd hal ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
740         cd core/efuse ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
741         cd core ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
742         cd os_dep/linux ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
743         cd os_dep ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
744         cd platform ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
745         rm -fr Module.symvers ; rm -fr Module.markers ; rm -fr modules.order
746         rm -fr *.mod.c *.mod *.o .*.cmd *.ko *~
747         rm -fr .tmp_versions
748 endif