1*4882a593Smuzhiyun 2*4882a593SmuzhiyunKVERSION="`uname -r`" 3*4882a593Smuzhiyun#DRVPATH=/lib/modules/$(KVERSION)/kernel/drivers/net/wireless/ssv6200 4*4882a593SmuzhiyunDRVPATH=kernel/drivers/net/wireless/ssv6200 5*4882a593SmuzhiyunKCFLAG += -Werror 6*4882a593SmuzhiyunEXTRA_CFLAGS := -I$(KBUILD_TOP) -I$(KBUILD_TOP)/include 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunCONFIG_SSV6200_CORE=m 9*4882a593Smuzhiyun#ccflags-y += -DCONFIG_SSV6200_CORE 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun########################################################################### 12*4882a593Smuzhiyun# Compiler options # 13*4882a593Smuzhiyun########################################################################### 14*4882a593Smuzhiyunccflags-y += -Werror 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun# Enable -g to help debug. Deassembly from .o to .S would help to track to 17*4882a593Smuzhiyun# the problomatic line from call stack dump. 18*4882a593Smuzhiyunccflags-y += -g 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun############################################################ 21*4882a593Smuzhiyun# If you change the settings, please change the file synchronization 22*4882a593Smuzhiyun# smac\firmware\include\config.h & compiler firmware 23*4882a593Smuzhiyun############################################################ 24*4882a593Smuzhiyun#ccflags-y += -DCONFIG_SSV_CABRIO_A 25*4882a593Smuzhiyun#ccflags-y += -DSDIO_USE_SLOW_CLOCK 26*4882a593Smuzhiyunccflags-y += -DCONFIG_SSV_CABRIO_E 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun#CONFIG_SSV_SUPPORT_BTCX=y 29*4882a593Smuzhiyun 30*4882a593Smuzhiyunccflags-y += -DCONFIG_SSV6200_CLI_ENABLE 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun#ccflags-y += -DCONFIG_SSV_BUILD_AS_ONE_KO 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun############################################################ 36*4882a593Smuzhiyun# Options should be able to set as parameters. # 37*4882a593Smuzhiyun############################################################ 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun#PADPD 40*4882a593Smuzhiyun#ccflags-y += -DCONFIG_SSV_DPD 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun#ccflags-y += -DCONFIG_SSV_CABRIO_MB_DEBUG 43*4882a593Smuzhiyunccflags-y += -DCONFIG_SSV6XXX_DEBUGFS 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun#SDIO 46*4882a593Smuzhiyunccflags-y += -DCONFIG_SSV_TX_LOWTHRESHOLD 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun############################################################ 49*4882a593Smuzhiyun# Rate control update for MPDU. 50*4882a593Smuzhiyun############################################################ 51*4882a593Smuzhiyunccflags-y += -DRATE_CONTROL_REALTIME_UPDATA 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun#workaround 54*4882a593Smuzhiyun#ccflags-y += -DCONFIG_SSV_CABRIO_EXT_PA 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun############################################################ 57*4882a593Smuzhiyun# NOTE: 58*4882a593Smuzhiyun# Only one of the following flags could be turned on. 59*4882a593Smuzhiyun# It also turned off the following flags. In this case, 60*4882a593Smuzhiyun# pure software security or pure hardware security is used. 61*4882a593Smuzhiyun# 62*4882a593Smuzhiyun############################################################ 63*4882a593Smuzhiyun#ccflags-y += -DCONFIG_SSV_SW_ENCRYPT_HW_DECRYPT 64*4882a593Smuzhiyun#ccflags-y += -DCONFIG_SSV_HW_ENCRYPT_SW_DECRYPT 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun# FOR WFA 67*4882a593Smuzhiyun#ccflags-y += -DWIFI_CERTIFIED 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun#ccflags-y += -DCONFIG_SSV_SDIO_EXT_INT 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun####################################################### 72*4882a593Smuzhiyunccflags-y += -DCONFIG_SSV6200_HAS_RX_WORKQUEUE 73*4882a593Smuzhiyun#ccflags-y += -DUSE_THREAD_RX 74*4882a593Smuzhiyunccflags-y += -DUSE_THREAD_TX 75*4882a593Smuzhiyunccflags-y += -DENABLE_AGGREGATE_IN_TIME 76*4882a593Smuzhiyunccflags-y += -DENABLE_INCREMENTAL_AGGREGATION 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun# Generic decision table applicable to both AP and STA modes. 79*4882a593Smuzhiyunccflags-y += -DUSE_GENERIC_DECI_TBL 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun# Use crypto in SSV driver. 82*4882a593Smuzhiyunccflags-y += -DUSE_LOCAL_CRYPTO 83*4882a593Smuzhiyunccflags-y += -DUSE_LOCAL_WEP_CRYPTO 84*4882a593Smuzhiyunccflags-y += -DUSE_LOCAL_TKIP_CRYPTO 85*4882a593Smuzhiyunccflags-y += -DUSE_LOCAL_CCMP_CRYPTO 86*4882a593Smuzhiyunccflags-y += -DUSE_LOCAL_SMS4_CRYPTO 87*4882a593Smuzhiyun 88*4882a593Smuzhiyunccflags-y += -DCONFIG_SSV_WAPI 89*4882a593Smuzhiyun 90*4882a593Smuzhiyunccflags-y += -DMULTI_THREAD_ENCRYPT 91*4882a593Smuzhiyunccflags-y += -DKTHREAD_BIND 92*4882a593Smuzhiyunccflags-y += -DFW_WSID_WATCH_LIST 93*4882a593Smuzhiyun#ccflags-y += -DUSE_BATCH_RX 94*4882a593Smuzhiyun#ccflags-y += -DCONFIG_IRQ_DEBUG_COUNT 95*4882a593Smuzhiyun#ccflags-y += -DCONFIG_SSV_SUPPORT_AES_ASM 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun 98*4882a593Smuzhiyunccflags-y += -DSSV6200_ECO 99*4882a593Smuzhiyun#ccflags-y += -DENABLE_WAKE_IO_ISR_WHEN_HCI_ENQUEUE 100*4882a593Smuzhiyunccflags-y += -DHAS_CRYPTO_LOCK 101*4882a593Smuzhiyunccflags-y += -DENABLE_TX_Q_FLOW_CONTROL 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun#ccflags-y += -DCONFIG_DEBUG_SKB_TIMESTAMP 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun########################################################### 107*4882a593Smuzhiyun# option to :qswitch driver between relay device and sw mac device 108*4882a593Smuzhiyun# Enable ->Relay device (CHAR) 109*4882a593Smuzhiyun# Disable->SW MAC device(NET) 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun#DRV_OPT = HUW_DRV 112*4882a593Smuzhiyun#For HUW to define some resources 113*4882a593Smuzhiyunifeq ($(DRV_OPT), HUW_DRV) 114*4882a593Smuzhiyunccflags-y += -DHUW_DRV 115*4882a593Smuzhiyunendif 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun#enable p2p client to parse GO broadcast noa 118*4882a593Smuzhiyun#ccflags-y += -DCONFIG_P2P_NOA 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun#enable rx management frame check 121*4882a593Smuzhiyun#ccflags-y += -DCONFIG_RX_MGMT_CHECK 122*4882a593Smuzhiyun 123*4882a593Smuzhiyunccflags-y += -DCONFIG_SSV_RSSI 124