xref: /OK3568_Linux_fs/external/rkwifibt/drivers/rtl8852be/Makefile (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS)
2EXTRA_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
10EXTRA_CFLAGS += -Wno-unused-variable
11#EXTRA_CFLAGS += -Wno-unused-value
12EXTRA_CFLAGS += -Wno-unused-label
13#EXTRA_CFLAGS += -Wno-unused-parameter
14#EXTRA_CFLAGS += -Wno-unused-function
15EXTRA_CFLAGS += -Wno-unused
16#EXTRA_CFLAGS += -Wno-uninitialized
17
18GCC_VER_49 := $(shell echo `$(CC) -dumpversion | cut -f1-2 -d.` \>= 4.9 | bc )
19ifeq ($(GCC_VER_49),1)
20EXTRA_CFLAGS += -Wno-date-time	# Fix compile error && warning on gcc 4.9 and later
21endif
22
23EXTRA_CFLAGS += -I$(src)/include
24
25EXTRA_LDFLAGS += --strip-debug
26
27CONFIG_AUTOCFG_CP = n
28
29########################## WIFI IC ############################
30CONFIG_RTL8852A = n
31CONFIG_RTL8852B = y
32CONFIG_RTL8852C = n
33######################### Interface ###########################
34CONFIG_USB_HCI = n
35CONFIG_PCI_HCI = y
36CONFIG_SDIO_HCI = n
37CONFIG_GSPI_HCI = n
38########################## Features ###########################
39CONFIG_MP_INCLUDED = y
40CONFIG_CONCURRENT_MODE = n
41CONFIG_POWER_SAVING = n
42CONFIG_POWER_SAVE = y
43CONFIG_IPS_MODE = default
44CONFIG_LPS_MODE = default
45CONFIG_BTC = y
46CONFIG_WAPI_SUPPORT = n
47CONFIG_EFUSE_CONFIG_FILE = y
48CONFIG_EXT_CLK = n
49CONFIG_TRAFFIC_PROTECT = n
50CONFIG_LOAD_PHY_PARA_FROM_FILE = y
51# Remember to set CONFIG_FILE_FWIMG when set CONFIG_FILE_FWIMG to y,
52# or driver will fail on ifconfig up because can't find firmware file
53CONFIG_FILE_FWIMG = n
54CONFIG_TXPWR_BY_RATE = y
55CONFIG_TXPWR_BY_RATE_EN = y
56CONFIG_TXPWR_LIMIT = y
57CONFIG_TXPWR_LIMIT_EN = n
58CONFIG_RTW_CHPLAN = 0xFFFF
59CONFIG_RTW_ADAPTIVITY_EN = disable
60CONFIG_RTW_ADAPTIVITY_MODE = normal
61CONFIG_80211D = n
62CONFIG_SIGNAL_SCALE_MAPPING = n
63CONFIG_80211W = y
64CONFIG_REDUCE_TX_CPU_LOADING = n
65CONFIG_BR_EXT = y
66CONFIG_TDLS = n
67CONFIG_WIFI_MONITOR = n
68CONFIG_MCC_MODE = n
69CONFIG_APPEND_VENDOR_IE_ENABLE = n
70CONFIG_RTW_NAPI = y
71CONFIG_RTW_GRO = y
72CONFIG_RTW_NETIF_SG = y
73CONFIG_RTW_IPCAM_APPLICATION = n
74CONFIG_ICMP_VOQ = n
75CONFIG_IP_R_MONITOR = n #arp VOQ and high rate
76# user priority mapping rule : tos, dscp
77CONFIG_RTW_UP_MAPPING_RULE = tos
78
79CONFIG_PHL_ARCH = y
80CONFIG_FSM = n
81CONFIG_CMD_DISP = y
82
83CONFIG_HWSIM = n
84
85CONFIG_PHL_TEST_SUITE = n
86CONFIG_WIFI_6 = y
87
88RTW_PHL_RX = y
89RTW_PHL_TX = y
90RTW_PHL_BCN = y
91DIRTY_FOR_WORK = y
92
93CONFIG_DRV_FAKE_AP = n
94
95CONFIG_DBG_AX_CAM = y
96
97USE_TRUE_PHY = y
98CONFIG_I386_BUILD_VERIFY = n
99CONFIG_RTW_MBO = n
100# CONFIG_RTKM - n/m/y for not support / standalone / built-in
101CONFIG_RTKM ?= n
102########################## Android ###########################
103# CONFIG_RTW_ANDROID - 0: no Android, 4/5/6/7/8/9/10 : Android version
104CONFIG_RTW_ANDROID = 0
105
106ifeq ($(shell test $(CONFIG_RTW_ANDROID) -gt 0; echo $$?), 0)
107EXTRA_CFLAGS += -DCONFIG_RTW_ANDROID=$(CONFIG_RTW_ANDROID)
108endif
109
110########################## Debug ###########################
111CONFIG_RTW_DEBUG = y
112# default log level is _DRV_INFO_ = 4,
113# please refer to "How_to_set_driver_debug_log_level.doc" to set the available level.
114CONFIG_RTW_LOG_LEVEL = 4
115
116# enable /proc/net/rtlxxxx/ debug interfaces
117CONFIG_PROC_DEBUG = y
118
119######################## Wake On Lan ##########################
120CONFIG_WOWLAN = n
121# CONFIG_WAKE_TYPE definition:
122#    bit0: magic packet
123#    bit1: unicast packet (default pattern match)
124#    bit2: disconnect (beacon loss & deauth/dissociation)
125#    bit3: customized pattern match
126#    bit4: pairwise key rekey
127CONFIG_WAKEUP_TYPE = 0x0f
128CONFIG_WOW_LPS_MODE = default
129#bit0: disBBRF off, #bit1: Wireless remote controller (WRC)
130CONFIG_SUSPEND_TYPE = 0
131CONFIG_WOW_STA_MIX = n
132CONFIG_GPIO_WAKEUP = n
133# Please contact with RTK support team first. After getting the agreement from RTK support team,
134# you are just able to modify the CONFIG_WAKEUP_GPIO_IDX with customized requirement.
135CONFIG_WAKEUP_GPIO_IDX = default
136CONFIG_HIGH_ACTIVE_DEV2HST = n
137######### only for USB #########
138CONFIG_ONE_PIN_GPIO = n
139CONFIG_HIGH_ACTIVE_HST2DEV = n
140CONFIG_PNO_SUPPORT = n
141CONFIG_AP_WOWLAN = n
142######### Notify SDIO Host Keep Power During Syspend ##########
143CONFIG_RTW_SDIO_PM_KEEP_POWER = y
144###################### MP HW TX MODE FOR VHT #######################
145CONFIG_MP_VHT_HW_TX_MODE = n
146
147###################### ROAMING #####################################
148CONFIG_LAYER2_ROAMING = y
149#bit0: ROAM_ON_EXPIRED, #bit1: ROAM_ON_RESUME, #bit2: ROAM_ACTIVE
150CONFIG_ROAMING_FLAG = 0x3
151
152###################### Platform Related #######################
153CONFIG_PLATFORM_I386_PC = n
154CONFIG_PLATFORM_RTL8198D = n
155CONFIG_PLATFORM_ANDROID_X86 = n
156CONFIG_PLATFORM_ANDROID_INTEL_X86 = n
157CONFIG_PLATFORM_NV_TK1 = n
158CONFIG_PLATFORM_NV_TK1_UBUNTU = n
159CONFIG_PLATFORM_ARM_SUNxI = n
160CONFIG_PLATFORM_RTK1319 = n
161CONFIG_PLATFORM_RTK16XXB = n
162CONFIG_PLATFORM_AML_S905 = n
163CONFIG_PLATFORM_HUANGLONG = n
164CONFIG_PLATFORM_ARM_RK3188 = y
165
166########### CUSTOMER ################################
167
168CONFIG_DRVEXT_MODULE = n
169
170export TopDIR ?= $(shell pwd)
171
172########### COMMON  #################################
173ifeq ($(CONFIG_GSPI_HCI), y)
174HCI_NAME = gspi
175endif
176
177ifeq ($(CONFIG_SDIO_HCI), y)
178HCI_NAME = sdio
179endif
180
181ifeq ($(CONFIG_USB_HCI), y)
182HCI_NAME = usb
183endif
184
185ifeq ($(CONFIG_PCI_HCI), y)
186HCI_NAME = pci
187endif
188
189ifeq ($(CONFIG_HWSIM), y)
190	HAL = hal_sim
191else
192	HAL = phl
193endif
194
195ifeq ($(CONFIG_PLATFORM_RTL8198D), y)
196DRV_PATH = $(src)
197else
198DRV_PATH ?= $(TopDIR)
199endif
200
201########### HAL_RTL8852A #################################
202ifeq ($(CONFIG_RTL8852A), y)
203IC_NAME := rtl8852a
204ifeq ($(CONFIG_USB_HCI), y)
205MODULE_NAME = 8852au
206endif
207ifeq ($(CONFIG_PCI_HCI), y)
208MODULE_NAME = 8852ae
209endif
210ifeq ($(CONFIG_SDIO_HCI), y)
211MODULE_NAME = 8852as
212endif
213
214endif
215
216########### HAL_RTL8852B #################################
217ifeq ($(CONFIG_RTL8852B), y)
218IC_NAME := rtl8852b
219ifeq ($(CONFIG_USB_HCI), y)
220MODULE_NAME = 8852bu
221endif
222ifeq ($(CONFIG_PCI_HCI), y)
223MODULE_NAME = 8852be
224endif
225ifeq ($(CONFIG_SDIO_HCI), y)
226MODULE_NAME = 8852bs
227endif
228
229endif
230
231########### HAL_RTL8852C #################################
232ifeq ($(CONFIG_RTL8852C), y)
233IC_NAME := rtl8852c
234ifeq ($(CONFIG_USB_HCI), y)
235MODULE_NAME = 8852cu
236endif
237ifeq ($(CONFIG_PCI_HCI), y)
238MODULE_NAME = 8852ce
239endif
240ifeq ($(CONFIG_SDIO_HCI), y)
241MODULE_NAME = 8852cs
242endif
243
244endif
245
246########### AUTO_CFG  #################################
247
248ifeq ($(CONFIG_AUTOCFG_CP), y)
249$(shell cp $(DRV_PATH)/autoconf_$(IC_NAME)_$(HCI_NAME)_linux.h $(DRV_PATH)/include/autoconf.h)
250endif
251
252########### END OF PATH  #################################
253ifeq ($(CONFIG_MP_INCLUDED), y)
254#MODULE_NAME := $(MODULE_NAME)_mp
255EXTRA_CFLAGS += -DCONFIG_MP_INCLUDED
256CONFIG_PHL_TEST_SUITE = y
257endif
258
259ifeq ($(CONFIG_FSM), y)
260EXTRA_CFLAGS += -DCONFIG_FSM
261endif
262
263ifeq ($(CONFIG_CMD_DISP), y)
264EXTRA_CFLAGS += -DCONFIG_CMD_DISP
265endif
266
267ifeq ($(CONFIG_PHL_TEST_SUITE), y)
268EXTRA_CFLAGS += -DCONFIG_PHL_TEST_SUITE
269endif
270
271ifeq ($(CONFIG_CONCURRENT_MODE), y)
272EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
273endif
274
275ifeq ($(CONFIG_POWER_SAVING), y)
276ifneq ($(CONFIG_IPS_MODE), default)
277EXTRA_CFLAGS += -DRTW_IPS_MODE=$(CONFIG_IPS_MODE)
278endif
279ifneq ($(CONFIG_LPS_MODE), default)
280EXTRA_CFLAGS += -DRTW_LPS_MODE=$(CONFIG_LPS_MODE)
281endif
282ifneq ($(CONFIG_WOW_LPS_MODE), default)
283EXTRA_CFLAGS += -DRTW_WOW_LPS_MODE=$(CONFIG_WOW_LPS_MODE)
284endif
285EXTRA_CFLAGS += -DCONFIG_POWER_SAVING
286endif
287ifeq ($(CONFIG_POWER_SAVE), y)
288EXTRA_CFLAGS += -DCONFIG_POWER_SAVE
289endif
290
291ifeq ($(CONFIG_BTC), y)
292EXTRA_CFLAGS += -DCONFIG_BTC
293endif
294
295ifeq ($(CONFIG_WAPI_SUPPORT), y)
296EXTRA_CFLAGS += -DCONFIG_WAPI_SUPPORT
297endif
298
299ifeq ($(CONFIG_WIFI_6), y)
300EXTRA_CFLAGS += -DCONFIG_WIFI_6
301endif
302
303ifeq ($(CONFIG_EFUSE_CONFIG_FILE), y)
304EXTRA_CFLAGS += -DCONFIG_EFUSE_CONFIG_FILE
305
306#EFUSE_MAP_PATH
307USER_EFUSE_MAP_PATH ?=
308ifneq ($(USER_EFUSE_MAP_PATH),)
309EXTRA_CFLAGS += -DEFUSE_MAP_PATH=\"$(USER_EFUSE_MAP_PATH)\"
310else
311EXTRA_CFLAGS += -DEFUSE_MAP_PATH=\"/system/etc/wifi/wifi_efuse_$(MODULE_NAME).map\"
312endif
313
314#WIFIMAC_PATH
315USER_WIFIMAC_PATH ?=
316ifneq ($(USER_WIFIMAC_PATH),)
317EXTRA_CFLAGS += -DWIFIMAC_PATH=\"$(USER_WIFIMAC_PATH)\"
318else
319EXTRA_CFLAGS += -DWIFIMAC_PATH=\"/data/wifimac.txt\"
320endif
321
322endif
323
324ifeq ($(CONFIG_EXT_CLK), y)
325EXTRA_CFLAGS += -DCONFIG_EXT_CLK
326endif
327
328ifeq ($(CONFIG_TRAFFIC_PROTECT), y)
329EXTRA_CFLAGS += -DCONFIG_TRAFFIC_PROTECT
330endif
331
332ifeq ($(CONFIG_LOAD_PHY_PARA_FROM_FILE), y)
333EXTRA_CFLAGS += -DCONFIG_LOAD_PHY_PARA_FROM_FILE
334#EXTRA_CFLAGS += -DREALTEK_CONFIG_PATH_WITH_IC_NAME_FOLDER
335EXTRA_CFLAGS += -DREALTEK_CONFIG_PATH=\"/lib/firmware/\"
336endif
337
338ifeq ($(CONFIG_FILE_FWIMG), y)
339EXTRA_CFLAGS += -DCONFIG_FILE_FWIMG
340# default external firmware path is [CONFIG_FIRMWARE_PATH][ic_name]/[fw_name]
341# ex. Take 8852AE as example:
342#     normal firmware is [CONFIG_FIRMWARE_PATH]rtl8852ae/rtl8852afw.bin
343#     WOW firmware is [CONFIG_FIRMWARE_PATH]rtl8852ae/rtl8852afw_wowlan.bin
344EXTRA_CFLAGS += -DCONFIG_FIRMWARE_PATH=\"\"
345# EXTRA_CFLAGS += -DCONFIG_FIRMWARE_PATH=\"/lib/firmware/\"
346endif
347
348ifeq ($(CONFIG_TXPWR_BY_RATE), n)
349EXTRA_CFLAGS += -DCONFIG_TXPWR_BY_RATE=0
350else ifeq ($(CONFIG_TXPWR_BY_RATE), y)
351EXTRA_CFLAGS += -DCONFIG_TXPWR_BY_RATE=1
352endif
353ifeq ($(CONFIG_TXPWR_BY_RATE_EN), n)
354EXTRA_CFLAGS += -DCONFIG_TXPWR_BY_RATE_EN=0
355else ifeq ($(CONFIG_TXPWR_BY_RATE_EN), y)
356EXTRA_CFLAGS += -DCONFIG_TXPWR_BY_RATE_EN=1
357else ifeq ($(CONFIG_TXPWR_BY_RATE_EN), auto)
358EXTRA_CFLAGS += -DCONFIG_TXPWR_BY_RATE_EN=2
359endif
360
361ifeq ($(CONFIG_TXPWR_LIMIT), n)
362EXTRA_CFLAGS += -DCONFIG_TXPWR_LIMIT=0
363else ifeq ($(CONFIG_TXPWR_LIMIT), y)
364EXTRA_CFLAGS += -DCONFIG_TXPWR_LIMIT=1
365endif
366ifeq ($(CONFIG_TXPWR_LIMIT_EN), n)
367EXTRA_CFLAGS += -DCONFIG_TXPWR_LIMIT_EN=0
368else ifeq ($(CONFIG_TXPWR_LIMIT_EN), y)
369EXTRA_CFLAGS += -DCONFIG_TXPWR_LIMIT_EN=1
370else ifeq ($(CONFIG_TXPWR_LIMIT_EN), auto)
371EXTRA_CFLAGS += -DCONFIG_TXPWR_LIMIT_EN=2
372endif
373
374ifneq ($(CONFIG_RTW_CHPLAN), 0xFFFF)
375EXTRA_CFLAGS += -DCONFIG_RTW_CHPLAN=$(CONFIG_RTW_CHPLAN)
376endif
377
378ifeq ($(CONFIG_CALIBRATE_TX_POWER_BY_REGULATORY), y)
379EXTRA_CFLAGS += -DCONFIG_CALIBRATE_TX_POWER_BY_REGULATORY
380endif
381
382ifeq ($(CONFIG_CALIBRATE_TX_POWER_TO_MAX), y)
383EXTRA_CFLAGS += -DCONFIG_CALIBRATE_TX_POWER_TO_MAX
384endif
385
386ifeq ($(CONFIG_RTW_ADAPTIVITY_EN), disable)
387EXTRA_CFLAGS += -DCONFIG_RTW_ADAPTIVITY_EN=0
388else ifeq ($(CONFIG_RTW_ADAPTIVITY_EN), enable)
389EXTRA_CFLAGS += -DCONFIG_RTW_ADAPTIVITY_EN=1
390else ifeq ($(CONFIG_RTW_ADAPTIVITY_EN), auto)
391EXTRA_CFLAGS += -DCONFIG_RTW_ADAPTIVITY_EN=2
392endif
393
394ifeq ($(CONFIG_RTW_ADAPTIVITY_MODE), normal)
395EXTRA_CFLAGS += -DCONFIG_RTW_ADAPTIVITY_MODE=0
396else ifeq ($(CONFIG_RTW_ADAPTIVITY_MODE), carrier_sense)
397EXTRA_CFLAGS += -DCONFIG_RTW_ADAPTIVITY_MODE=1
398endif
399
400ifeq ($(CONFIG_80211D), y)
401EXTRA_CFLAGS += -DCONFIG_80211D
402endif
403
404ifeq ($(CONFIG_SIGNAL_SCALE_MAPPING), y)
405EXTRA_CFLAGS += -DCONFIG_SIGNAL_SCALE_MAPPING
406endif
407
408ifeq ($(CONFIG_80211W), y)
409EXTRA_CFLAGS += -DCONFIG_IEEE80211W
410endif
411
412ifeq ($(CONFIG_WOWLAN), y)
413EXTRA_CFLAGS += -DCONFIG_WOWLAN -DRTW_WAKEUP_EVENT=$(CONFIG_WAKEUP_TYPE)
414EXTRA_CFLAGS += -DRTW_SUSPEND_TYPE=$(CONFIG_SUSPEND_TYPE)
415ifeq ($(CONFIG_WOW_STA_MIX), y)
416EXTRA_CFLAGS += -DRTW_WOW_STA_MIX
417endif
418ifeq ($(CONFIG_SDIO_HCI), y)
419EXTRA_CFLAGS += -DCONFIG_RTW_SDIO_PM_KEEP_POWER
420endif
421endif
422
423ifeq ($(CONFIG_AP_WOWLAN), y)
424EXTRA_CFLAGS += -DCONFIG_AP_WOWLAN
425ifeq ($(CONFIG_SDIO_HCI), y)
426EXTRA_CFLAGS += -DCONFIG_RTW_SDIO_PM_KEEP_POWER
427endif
428endif
429
430ifeq ($(CONFIG_LAYER2_ROAMING), y)
431	EXTRA_CFLAGS += -DCONFIG_LAYER2_ROAMING -DCONFIG_ROAMING_FLAG=$(CONFIG_ROAMING_FLAG)
432endif
433
434ifeq ($(CONFIG_PNO_SUPPORT), y)
435EXTRA_CFLAGS += -DCONFIG_PNO_SUPPORT
436endif
437
438ifeq ($(CONFIG_GPIO_WAKEUP), y)
439EXTRA_CFLAGS += -DCONFIG_GPIO_WAKEUP
440ifeq ($(CONFIG_ONE_PIN_GPIO), y)
441EXTRA_CFLAGS += -DCONFIG_RTW_ONE_PIN_GPIO
442endif
443ifeq ($(CONFIG_HIGH_ACTIVE_DEV2HST), y)
444EXTRA_CFLAGS += -DHIGH_ACTIVE_DEV2HST=1
445else
446EXTRA_CFLAGS += -DHIGH_ACTIVE_DEV2HST=0
447endif
448endif
449
450ifeq ($(CONFIG_HIGH_ACTIVE_HST2DEV), y)
451EXTRA_CFLAGS += -DHIGH_ACTIVE_HST2DEV=1
452else
453EXTRA_CFLAGS += -DHIGH_ACTIVE_HST2DEV=0
454endif
455
456ifneq ($(CONFIG_WAKEUP_GPIO_IDX), default)
457EXTRA_CFLAGS += -DWAKEUP_GPIO_IDX=$(CONFIG_WAKEUP_GPIO_IDX)
458endif
459
460ifeq ($(CONFIG_RTW_SDIO_PM_KEEP_POWER), y)
461ifeq ($(CONFIG_SDIO_HCI), y)
462EXTRA_CFLAGS += -DCONFIG_RTW_SDIO_PM_KEEP_POWER
463endif
464endif
465
466ifeq ($(CONFIG_REDUCE_TX_CPU_LOADING), y)
467EXTRA_CFLAGS += -DCONFIG_REDUCE_TX_CPU_LOADING
468endif
469
470ifeq ($(CONFIG_BR_EXT), y)
471BR_NAME = br0
472EXTRA_CFLAGS += -DCONFIG_BR_EXT
473EXTRA_CFLAGS += '-DCONFIG_BR_EXT_BRNAME="'$(BR_NAME)'"'
474endif
475
476
477ifeq ($(CONFIG_TDLS), y)
478EXTRA_CFLAGS += -DCONFIG_TDLS
479endif
480
481ifeq ($(CONFIG_WIFI_MONITOR), y)
482EXTRA_CFLAGS += -DCONFIG_WIFI_MONITOR
483endif
484
485ifeq ($(CONFIG_MCC_MODE), y)
486EXTRA_CFLAGS += -DCONFIG_MCC_MODE
487endif
488
489ifeq ($(CONFIG_RTW_NAPI), y)
490EXTRA_CFLAGS += -DCONFIG_RTW_NAPI
491endif
492
493ifeq ($(CONFIG_RTW_GRO), y)
494EXTRA_CFLAGS += -DCONFIG_RTW_GRO
495endif
496
497ifeq ($(CONFIG_RTW_IPCAM_APPLICATION), y)
498EXTRA_CFLAGS += -DCONFIG_RTW_IPCAM_APPLICATION
499ifeq ($(CONFIG_WIFI_MONITOR), n)
500EXTRA_CFLAGS += -DCONFIG_WIFI_MONITOR
501endif
502endif
503
504ifeq ($(CONFIG_RTW_NETIF_SG), y)
505EXTRA_CFLAGS += -DCONFIG_RTW_NETIF_SG
506endif
507
508ifeq ($(CONFIG_ICMP_VOQ), y)
509EXTRA_CFLAGS += -DCONFIG_ICMP_VOQ
510endif
511
512ifeq ($(CONFIG_IP_R_MONITOR), y)
513EXTRA_CFLAGS += -DCONFIG_IP_R_MONITOR
514endif
515
516ifeq ($(CONFIG_MP_VHT_HW_TX_MODE), y)
517EXTRA_CFLAGS += -DCONFIG_MP_VHT_HW_TX_MODE
518ifeq ($(CONFIG_PLATFORM_I386_PC), y)
519## For I386 X86 ToolChain use Hardware FLOATING
520EXTRA_CFLAGS += -mhard-float
521else
522## For ARM ToolChain use Hardware FLOATING
523EXTRA_CFLAGS += -mfloat-abi=hard
524endif
525endif
526
527ifeq ($(CONFIG_APPEND_VENDOR_IE_ENABLE), y)
528EXTRA_CFLAGS += -DCONFIG_APPEND_VENDOR_IE_ENABLE
529endif
530
531ifeq ($(CONFIG_RTW_DEBUG), y)
532EXTRA_CFLAGS += -DCONFIG_RTW_DEBUG
533EXTRA_CFLAGS += -DRTW_LOG_LEVEL=$(CONFIG_RTW_LOG_LEVEL)
534endif
535
536ifeq ($(CONFIG_PROC_DEBUG), y)
537EXTRA_CFLAGS += -DCONFIG_PROC_DEBUG
538endif
539
540ifeq ($(CONFIG_RTW_UP_MAPPING_RULE), dscp)
541EXTRA_CFLAGS += -DCONFIG_RTW_UP_MAPPING_RULE=1
542else
543EXTRA_CFLAGS += -DCONFIG_RTW_UP_MAPPING_RULE=0
544endif
545
546EXTRA_CFLAGS += -DPLATFORM_LINUX
547
548ifeq ($(USE_TRUE_PHY), y)
549EXTRA_CFLAGS += -DUSE_TRUE_PHY
550endif
551
552ifeq ($(CONFIG_HWSIM), y)
553EXTRA_CFLAGS += -DCONFIG_HWSIM
554
555# To use pure sw beacon
556EXTRA_CFLAGS += -DCONFIG_SWTIMER_BASED_TXBCN
557EXTRA_CFLAGS += -DCONFIG_SUPPORT_MULTI_BCN
558endif
559
560ifeq ($(CONFIG_DRV_FAKE_AP), y)
561EXTRA_CFLAGS += -DCONFIG_DRV_FAKE_AP
562OBJS += core/rtw_fake_ap.o
563endif
564
565ifeq ($(CONFIG_DBG_AX_CAM), y)
566EXTRA_CFLAGS += -DCONFIG_DBG_AX_CAM
567endif
568
569ifeq ($(CONFIG_I386_BUILD_VERIFY), y)
570EXTRA_CFLAGS += -DCONFIG_I386_BUILD_VERIFY
571endif
572
573ifeq ($(CONFIG_RTW_MBO), y)
574EXTRA_CFLAGS += -DCONFIG_RTW_MBO -DCONFIG_RTW_WNM -DCONFIG_RTW_BTM_ROAM
575#EXTRA_CFLAGS += -DCONFIG_RTW_80211K
576EXTRA_CFLAGS += -DCONFIG_RTW_80211R
577EXTRA_CFLAGS += -DRTW_FT_DBG=0 -DRTW_WNM_DBG=0 -DRTW_MBO_DBG=0
578endif
579
580########### PLATFORM OPS  ##########################
581# Import platform assigned KSRC and CROSS_COMPILE
582include $(wildcard $(DRV_PATH)/platform/*.mk)
583
584# Import platform specific compile options
585EXTRA_CFLAGS += -I$(src)/platform
586#_PLATFORM_FILES := platform/platform_ops.o
587OBJS += $(_PLATFORM_FILES)
588
589########### CUSTOMER ################################
590USER_MODULE_NAME ?=
591ifneq ($(USER_MODULE_NAME),)
592MODULE_NAME := $(USER_MODULE_NAME)
593endif
594
595ifneq ($(KERNELRELEASE),)
596export CONFIG_RTL8852BE = m
597########### COMMON #################################
598include $(src)/common.mk
599
600EXTRA_CFLAGS += -DPHL_PLATFORM_LINUX
601EXTRA_CFLAGS += -DCONFIG_PHL_ARCH
602
603ifeq ($(RTW_PHL_RX), y)
604EXTRA_CFLAGS += -DRTW_PHL_RX
605endif
606
607ifeq ($(RTW_PHL_TX), y)
608EXTRA_CFLAGS += -DRTW_PHL_TX
609endif
610
611ifeq ($(RTW_PHL_BCN), y)
612EXTRA_CFLAGS += -DRTW_PHL_BCN
613endif
614
615ifeq ($(DIRTY_FOR_WORK), y)
616EXTRA_CFLAGS += -DDIRTY_FOR_WORK
617endif
618
619include $(src)/phl/phl.mk
620
621
622obj-$(CONFIG_RTL8852BE) := $(MODULE_NAME).o
623obj-$(CONFIG_RTL8852BE) := $(MODULE_NAME).o
624$(MODULE_NAME)-y = $(OBJS)
625
626############# MEMORY MANAGMENT #############
627ifneq ($(CONFIG_RTKM), n)
628_MEMM_FILES = core/rtw_prealloc.o
629ifeq ($(CONFIG_RTKM), y)
630EXTRA_CFLAGS += -DCONFIG_RTKM -DCONFIG_RTKM_BUILT_IN
631$(MODULE_NAME)-y += $(_MEMM_FILES)
632else ifeq ($(CONFIG_RTKM), m)
633RTKM_MODULE = rtkm
634EXTRA_CFLAGS += -DCONFIG_RTKM -DCONFIG_RTKM_STANDALONE
635_MEMM_FILES += core/rtw_mem.o
636$(RTKM_MODULE)-y += $(_MEMM_FILES)
637obj-$(CONFIG_RTL8852BE) += $(RTKM_MODULE).o
638endif
639endif
640
641else
642
643export CONFIG_RTL8852BE = m
644
645all: modules
646
647modules:
648	#rm -f .symvers.$(MODULE_NAME)
649
650	$(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KSRC) M=$(shell pwd)  modules
651
652	#cp Module.symvers .symvers.$(MODULE_NAME)
653
654strip:
655	$(CROSS_COMPILE)strip $(MODULE_NAME).ko --strip-unneeded
656
657install:
658	install -p -m 644 $(MODULE_NAME).ko  $(MODDESTDIR)
659	/sbin/depmod -a ${KVER}
660
661uninstall:
662	rm -f $(MODDESTDIR)/$(MODULE_NAME).ko
663	/sbin/depmod -a ${KVER}
664
665backup_rtlwifi:
666	@echo "Making backup rtlwifi drivers"
667ifneq (,$(wildcard $(STAGINGMODDIR)/rtl*))
668	@tar cPf $(wildcard $(STAGINGMODDIR))/backup_rtlwifi_driver.tar $(wildcard $(STAGINGMODDIR)/rtl*)
669	@rm -rf $(wildcard $(STAGINGMODDIR)/rtl*)
670endif
671ifneq (,$(wildcard $(MODDESTDIR)realtek))
672	@tar cPf $(MODDESTDIR)backup_rtlwifi_driver.tar $(MODDESTDIR)realtek
673	@rm -fr $(MODDESTDIR)realtek
674endif
675ifneq (,$(wildcard $(MODDESTDIR)rtl*))
676	@tar cPf $(MODDESTDIR)../backup_rtlwifi_driver.tar $(wildcard $(MODDESTDIR)rtl*)
677	@rm -fr $(wildcard $(MODDESTDIR)rtl*)
678endif
679	@/sbin/depmod -a ${KVER}
680	@echo "Please reboot your system"
681
682restore_rtlwifi:
683	@echo "Restoring backups"
684ifneq (,$(wildcard $(STAGINGMODDIR)/backup_rtlwifi_driver.tar))
685	@tar xPf $(STAGINGMODDIR)/backup_rtlwifi_driver.tar
686	@rm $(STAGINGMODDIR)/backup_rtlwifi_driver.tar
687endif
688ifneq (,$(wildcard $(MODDESTDIR)backup_rtlwifi_driver.tar))
689	@tar xPf $(MODDESTDIR)backup_rtlwifi_driver.tar
690	@rm $(MODDESTDIR)backup_rtlwifi_driver.tar
691endif
692ifneq (,$(wildcard $(MODDESTDIR)../backup_rtlwifi_driver.tar))
693	@tar xPf $(MODDESTDIR)../backup_rtlwifi_driver.tar
694	@rm $(MODDESTDIR)../backup_rtlwifi_driver.tar
695endif
696	@/sbin/depmod -a ${KVER}
697	@echo "Please reboot your system"
698
699config_r:
700	@echo "make config"
701	/bin/bash script/Configure script/config.in
702
703
704.PHONY: modules clean
705
706clean:
707	#$(MAKE) -C $(KSRC) M=$(shell pwd) clean
708	cd $(HAL) ; rm -fr */*/*/*/*.mod.c */*/*/*/*.mod */*/*/*/*.o */*/*/*/.*.cmd */*/*/*/*.ko
709	cd $(HAL) ; rm -fr */*/*/*.mod.c */*/*/*.mod */*/*/*.o */*/*/.*.cmd */*/*/*.ko
710	cd $(HAL) ; rm -fr */*/*.mod.c */*/*.mod */*/*.o */*/.*.cmd */*/*.ko
711	cd $(HAL) ; rm -fr */*.mod.c */*.mod */*.o */.*.cmd */*.ko
712	cd $(HAL) ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
713	cd core ; rm -fr */*.mod.c */*.mod */*.o */.*.cmd */*.ko
714	cd core ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
715	cd os_dep/linux ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
716	cd os_dep/linux/hwsim ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
717	cd os_dep ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
718	cd platform ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
719	rm -fr Module.symvers ; rm -fr Module.markers ; rm -fr modules.order
720	rm -fr *.mod.c *.mod *.o .*.cmd *.ko *~
721	rm -fr .tmp_versions
722endif
723
724