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