1# Helper makefile for building Broadcom wl device driver 2# This file maps wl driver feature flags (import) to WLFLAGS and WLFILES_SRC (export). 3# 4# Copyright (C) 2013, Broadcom Corporation. All Rights Reserved. 5# 6# Permission to use, copy, modify, and/or distribute this software for any 7# purpose with or without fee is hereby granted, provided that the above 8# copyright notice and this permission notice appear in all copies. 9# 10# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 13# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 15# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 16# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17# $Id: wl.mk 433314 2013-10-31 08:47:50Z $ 18 19 20 21# debug/internal 22ifeq ($(DEBUG),1) 23 WLFLAGS += -DBCMDBG -DWLTEST -DRWL_WIFI -DWIFI_ACT_FRAME -DWLRWL -DWL_EXPORT_CURPOWER 24 WLRWL = 1 25else ifeq ($(WLDEBUG),1) 26 BCMUTILS = 1 27 OSLLX = 1 28 WLFLAGS += -DBCMDBG -DWLTEST -DWIFI_ACT_FRAME -DWL_EXPORT_CURPOWER 29else 30#ifdef WLTEST 31 # mfgtest builds 32 ifeq ($(WLTEST),1) 33 WLFLAGS += -DWLTEST -DWL_EXPORT_CURPOWER 34 endif 35#endif 36endif 37 38 39ifeq ($(HSPOT),1) 40 WLBSSLOAD = 1 41 L2_FILTER = 1 42 WLDLS = 1 43 WLWNM = 1 44 WIFI_ACT_FRAME = 1 45 WL11U = 1 46 WLPROBRESP_SW = 1 47endif 48 49WLFLAGS += -DPPR_API 50WLFLAGS += -DWL_EXPORT_CURPOWER 51 52ifdef BCMPHYCORENUM 53 WLFLAGS += -DBCMPHYCORENUM=$(BCMPHYCORENUM) 54endif 55 56#ifdef WL11AC 57ifneq ($(WL11AC),0) 58 WL11AC := 1 59 WLFLAGS += -DWL11AC 60 WLFLAGS += -DWL11N_STBC_RX_ENABLED 61ifneq ($(WLTXBF),0) 62 WLFLAGS += -DWL_BEAMFORMING 63 ifeq ($(WLMEDIA_TXBF_ENB),1) 64 WLFLAGS += -DWLMEDIA_TXBF_ENB 65 endif 66endif 67 68endif 69#endif 70 71ifeq ($(WLATF),1) 72 WLATF := 1 73 WLFLAGS += -DWLATF 74endif 75 76 77#ifdef BCMDBG_MEM 78ifeq ($(BCMDBG_MEM),1) 79 WLFLAGS += -DBCMDBG_MEM 80endif 81#endif 82 83#ifdef BCMDBG_PKT 84ifeq ($(BCMDBG_PKT),1) 85 WLFLAGS += -DBCMDBG_PKT 86endif 87#endif 88 89#ifdef PKTQ_LOG 90ifeq ($(PKTQ_LOG),1) 91 WLFLAGS += -DPKTQ_LOG 92endif 93#endif 94 95ifeq ($(PSPRETEND),1) 96 WLFLAGS += -DPSPRETEND 97endif 98 99#ifdef BCMDBG_TRAP 100# CPU debug traps (lomem access, divide by 0, etc) are enabled except when mogrified out for 101# external releases. 102WLFLAGS += -DBCMDBG_TRAP 103#endif 104 105## wl driver common 106 107ifndef WL_LOW 108WL_LOW = 1 109endif 110 111ifndef WL_HIGH 112WL_HIGH = 1 113endif 114 115## iff one of WLC_LOW and WLC_HIGH is defined, SPLIT is true 116WL_SPLIT = 0 117ifeq ($(WL_LOW),1) 118 ifneq ($(WL_HIGH),1) 119 WL_SPLIT = 1 120 endif 121endif 122ifeq ($(WL_HIGH),1) 123 ifneq ($(WL_LOW),1) 124 WL_SPLIT = 1 125 ifeq ($(RPC_NOCOPY),1) 126 WLFLAGS += -DBCM_RPC_NOCOPY 127 endif 128 ifeq ($(RPC_RXNOCOPY),1) 129 WLFLAGS += -DBCM_RPC_RXNOCOPY 130 endif 131 ifeq ($(RPC_TXNOCOPY),1) 132 WLFLAGS += -DBCM_RPC_TXNOCOPY 133 endif 134 ifeq ($(RPC_TOC),1) 135 WLFLAGS += -DBCM_RPC_TOC 136 endif 137 ifeq ($(RPC_ROC),1) 138 WLFLAGS += -DBCM_RPC_ROC 139 endif 140 ifeq ($(BMAC_ENABLE_LINUX_HOST_RPCAGG),1) 141 WLFLAGS += -DBMAC_ENABLE_LINUX_HOST_RPCAGG 142 endif 143 ifeq ($(DBUS_LINUX_RXDPC),1) 144 WLFLAGS += -DDBUS_LINUX_RXDPC 145 endif 146 ifneq ($(BCM_RPC_TP_DBUS_NTXQ),) 147 WLFLAGS += -DBCM_RPC_TP_DBUS_NTXQ=$(BCM_RPC_TP_DBUS_NTXQ) 148 endif 149 ifneq ($(BCM_RPC_TP_DBUS_NRXQ),) 150 WLFLAGS += -DBCM_RPC_TP_DBUS_NRXQ=$(BCM_RPC_TP_DBUS_NRXQ) 151 endif 152 ifeq ($(BCMUSBDEV_EP_FOR_RPCRETURN),1) 153 WLFLAGS += -DBCMUSBDEV_EP_FOR_RPCRETURN 154 endif 155 ifeq ($(WLMEDIA_LARGE_DNGL_AGG),1) 156 WLFLAGS += -DWLMEDIA_LARGE_DNGL_AGG 157 endif 158 endif 159endif 160 161ifeq ($(WL_LOW),1) 162 WLFLAGS += -DWLC_LOW 163 164endif 165 166ifeq ($(WL_HIGH),1) 167 WLFLAGS += -DWLC_HIGH 168endif 169 170ifeq ($(GTK_RESET),1) 171 WLFLAGS += -DGTK_RESET 172endif 173 174ifeq ($(USBAP),1) 175 WLFLAGS += -DUSBAP 176 WLFLAGS += -DEHCI_FASTPATH_TX -DEHCI_FASTPATH_RX 177endif 178 179# split driver infrastructure files 180ifeq ($(WL_SPLIT),1) 181 WLFILES_SRC += src/shared/bcm_xdr.c 182 WLFILES_SRC += src/shared/bcm_rpc.c 183 ifneq ($(USBAP),1) 184 WLFILES_SRC_HI += src/shared/nvramstubs.c 185 endif 186 ifeq ($(OSLLX),1) 187 WLFILES_SRC_HI += src/shared/linux_rpc_osl.c 188 endif 189 190 ifeq ($(OSLNDIS),1) 191 WLFILES_SRC_HI += src/shared/ndis_rpc_osl.c 192 endif 193 194 ifeq ($(BCMDBUS),1) 195 WLFILES_SRC_HI += src/shared/bcm_rpc_tp_dbus.c 196 endif 197 198 WLFILES_SRC_HI += src/wl/sys/wlc_bmac_stubs.c 199 WLFILES_SRC_HI += src/wl/sys/wlc_rpctx.c 200 WLFILES_SRC_LO += src/wl/sys/wlc_high_stubs.c 201 202 WLFILES_SRC_HI += src/wl/ppr/src/wlc_ppr.c 203 204 ifeq ($(WL_HIGH),1) 205 ifeq ($(BCMSDIO),1) 206 ifneq ($(WLVISTA)$(WLWIN7)$(WLWIN8),) 207 WLFILES_SRC_HI += src/shared/sdh_ndis.c 208 endif 209 else 210 WLFLAGS += -DBCMBUSTYPE=RPC_BUS 211 WLFLAGS += -DOSLREGOPS 212 ifeq ($(WLNDIS),1) 213 WLFLAGS += -DBCMUSB 214 endif 215 endif 216 endif 217 WLFLAGS += -DPREATTACH_NORECLAIM 218endif 219 220#ifdef WL 221ifeq ($(WL),1) 222 WLFILES_SRC += src/shared/bcmwifi/src/bcmwifi_channels.c 223 WLFILES_SRC += src/shared/bcmevent.c 224 WLFILES_SRC += src/shared/bcm_mpool.c 225 WLFILES_SRC += src/shared/bcm_notif.c 226 WLFILES_SRC += src/wl/sys/wlc_alloc.c 227 WLFILES_SRC += src/wl/sys/wlc_intr.c 228 WLFILES_SRC += src/wl/sys/wlc_hw.c 229 230#enable offloads flag to use the functionality 231 ifeq ($(WLRXOE),1) 232 WLFLAGS += -DWLRXOE 233 WLFILES_SRC_LO += src/shared/bcm_ol_msg.c 234 WLFILES_SRC_LO += src/bcmcrypto/aeskeywrap.c 235 WLFILES_SRC_LO += src/bcmcrypto/rijndael-alg-fst.c 236 WLFILES_SRC_LO += src/bcmcrypto/md5.c 237 WLFILES_SRC_LO += src/bcmcrypto/hmac.c 238 WLFILES_SRC_LO += src/bcmcrypto/prf.c 239 WLFILES_SRC_LO += src/bcmcrypto/aes.c 240 WLFILES_SRC_LO += src/bcmcrypto/sha1.c 241 WLFILES_SRC_LO += src/shared/bcmwpa.c 242 WLFILES_SRC_LO += src/wl/sys/wlc_dngl_ol.c 243 WLFILES_SRC_LO += src/wl/sys/wlc_bcnol.c 244 WLFILES_SRC_LO += src/wl/sys/wlc_rssiol.c 245 WLFILES_SRC_LO += src/wl/sys/wlc_eventlog_ol.c 246 WLFILES_SRC_LO += src/bcmcrypto/tkhash.c 247 WLFILES_SRC_LO += src/bcmcrypto/rc4.c 248 WLFILES_SRC_LO += src/wl/sys/wlc_pktfilterol.c 249 WLFILES_SRC_LO += src/wl/sys/wlc_wowlol.c 250 WLFILES_SRC_LO += src/bcmcrypto/tkmic.c 251 ifeq ($(L2KEEPALIVEOL),1) 252 WLFLAGS += -DL2KEEPALIVEOL 253 WLFILES_SRC_LO += src/wl/sys/wlc_l2keepaliveol.c 254 endif 255 ifeq ($(GTKOL),1) 256 WLFLAGS += -DGTKOL 257 WLFILES_SRC_LO += src/wl/sys/wlc_gtkol.c 258 endif 259 endif 260 ifeq ($(SCANOL),1) 261 WLFLAGS += -DSCANOL 262 WLFILES_SRC_LO += src/wl/sys/wlc_scan.c 263 WLFILES_SRC_LO += src/wl/sys/wlc_scanol.c 264 endif 265 ifeq ($(SCANOL_HIGH),1) 266 WLFLAGS += -DSCANOL_HIGH 267 WLFILES_SRC_HI += src/wl/sys/wlc_scanol_iovar.c 268 endif 269 ifeq ($(MACOL),1) 270 WLFLAGS += -DMACOL 271 WLFILES_SRC_LO += src/wl/sys/wlc_macol.c 272 endif 273 ifeq ($(MACOL_HIGH),1) 274 WLFLAGS += -DMACOL_HIGH 275 WLFILES_SRC_HI += src/wl/sys/wlc_macol_iovar.c 276 endif 277 ifeq ($(WLPFN),1) 278 WLFLAGS += -DWLPFN 279 WLFILES_SRC_LO += src/wl/sys/wl_pfn.c 280 endif 281 WLFILES_SRC_LO += src/shared/qmath.c 282 WLFILES_SRC_LO += src/wl/sys/d11ucode_gt15.c 283 WLFILES_SRC_LO += src/wl/sys/d11ucode_ge24.c 284 WLFILES_SRC_LO += src/wl/ppr/src/wlc_ppr.c 285 WLFILES_SRC_LO += src/wl/phy/wlc_phy_cmn.c 286 WLFILES_SRC_LO += src/wl/phy/wlc_phy_ssn.c 287 WLFILES_SRC_LO += src/wl/phy/wlc_phy_n.c 288 WLFILES_SRC_LO += src/wl/phy/wlc_phy_extended_n.c 289 WLFILES_SRC_LO += src/wl/phy/wlc_phy_radio_n.c 290 WLFILES_SRC_LO += src/wl/phy/wlc_phytbl_n.c 291 WLFILES_SRC_LO += src/wl/phy/wlc_phytbl_ssn.c 292 WLFILES_SRC_LO += src/wl/sys/wlc_phy_shim.c 293 WLFILES_SRC_LO += src/wl/sys/wlc_bmac.c 294 WLFILES_SRC_LO += src/wl/sys/wlc_rate_def.c 295 296 ifneq ($(MINIAP),1) 297 WLFILES_SRC_LO += src/wl/sys/d11ucode_ge40.c 298 WLFILES_SRC_LO += src/wl/phy/wlc_phytbl_ac.c 299 WLFILES_SRC_LO += src/wl/phy/wlc_phytbl_acdc.c 300 WLFILES_SRC_LO += src/wl/phy/wlc_phy_ac.c 301 WLFILES_SRC_LO += src/wl/phy/wlc_phy_ac_gains.c 302 WLFILES_SRC_LO += src/wl/sys/d11ucode_le15.c 303 WLFILES_SRC_LO += src/wl/phy/wlc_phy_ht.c 304 WLFILES_SRC_LO += src/wl/phy/wlc_phytbl_ht.c 305 WLFILES_SRC_LO += src/wl/phy/wlc_phy_lcn40.c 306 WLFILES_SRC_LO += src/wl/phy/wlc_phytbl_lcn40.c 307 WLFILES_SRC_LO += src/wl/phy/wlc_phy_lcn.c 308 WLFILES_SRC_LO += src/wl/phy/wlc_phytbl_lcn.c 309 WLFILES_SRC_LO += src/wl/phy/wlc_phy_lp.c 310 WLFILES_SRC_LO += src/wl/phy/wlc_phytbl_lp.c 311 WLFILES_SRC_LO += src/wl/phy/wlc_phy_abg.c 312 endif 313 314 WLFILES_SRC_HI += src/wl/sys/wlc.c 315 WLFILES_SRC_HI += src/wl/sys/wlc_stamon.c 316 WLFILES_SRC_HI += src/wl/sys/wlc_monitor.c 317ifeq ($(ATE),1) 318 WLFILES_SRC_HI += src/wl/sys/wlu.c 319 WLFILES_SRC_HI += src/wl/sys/wlu_common.c 320 WLFILES_SRC_HI += src/wl/shared/miniopt.c 321endif 322 WLFILES_SRC_HI += src/wl/sys/wlc_utils.c 323 WLFILES_SRC_HI += src/wl/sys/wlc_prot.c 324 WLFILES_SRC_HI += src/wl/sys/wlc_prot_g.c 325 WLFILES_SRC_HI += src/wl/sys/wlc_prot_n.c 326 WLFILES_SRC_HI += src/wl/sys/wlc_assoc.c 327 WLFILES_SRC_HI += src/wl/sys/wlc_rate.c 328 WLFILES_SRC_HI += src/wl/sys/wlc_rate_def.c 329 WLFILES_SRC_HI += src/wl/sys/wlc_stf.c 330 WLFILES_SRC_HI += src/wl/sys/wlc_lq.c 331 ifneq ($(WLWSEC),0) 332 WLFLAGS += -DWLWSEC 333 WLFILES_SRC_HI += src/wl/sys/wlc_security.c 334 WLFILES_SRC_HI += src/wl/sys/wlc_key.c 335 endif 336 WLFILES_SRC_HI += src/wl/sys/wlc_scb.c 337 WLFILES_SRC_HI += src/wl/sys/wlc_rate_sel.c 338 WLFILES_SRC_HI += src/wl/sys/wlc_scb_ratesel.c 339 340 ifeq ($(WL_PROXDETECT),1) 341 WLFLAGS += -DWL_PROXDETECT 342 WLFILES_SRC_HI += src/wl/proxd/src/wlc_pdsvc.c 343 WLFILES_SRC_HI += src/wl/proxd/src/wlc_pdrssi.c 344 endif 345 346#ifdef WL_LPC 347 ifeq ($(WL_LPC),1) 348 WLFLAGS += -DWL_LPC 349 WLFILES_SRC_LO += src/wl/sys/wlc_power_sel.c 350 WLFILES_SRC_LO += src/wl/sys/wlc_scb_powersel.c 351 else 352 ifeq ($(LP_P2P_SOFTAP),1) 353 WLFLAGS += -DLP_P2P_SOFTAP 354 endif 355 endif 356#ifdef WL_LPC_DEBUG 357 ifeq ($(WL_LPC_DEBUG),1) 358 WLFLAGS += -DWL_LPC_DEBUG 359 endif 360#endif 361#endif 362 ifeq ($(WL_RELMCAST),1) 363 WLFLAGS += -DWL_RELMCAST 364 WLFILES_SRC_HI += src/wl/rel_mcast/src/wlc_relmcast.c 365 endif 366 WLFILES_SRC_HI += src/wl/sys/wlc_antsel.c 367 WLFILES_SRC_HI += src/wl/sys/wlc_bsscfg.c 368 WLFILES_SRC_HI += src/wl/sys/wlc_vndr_ie_list.c 369 WLFILES_SRC_HI += src/wl/sys/wlc_scan.c 370 WLFILES_SRC_HI += src/wl/phy/wlc_phy_iovar.c 371 WLFILES_SRC_HI += src/wl/sys/wlc_rm.c 372 WLFILES_SRC_HI += src/wl/sys/wlc_tso.c 373 ifeq ($(WL11AC),1) 374 WLFILES_SRC_HI += src/wl/sys/wlc_vht.c 375 WLFILES_SRC_HI += src/wl/sys/wlc_txbf.c 376 ifeq ($(WLOLPC),1) 377 WLFLAGS += -DWLOLPC 378 WLFILES_SRC_HI += src/wl/olpc/src/wlc_olpc_engine.c 379 endif 380 endif 381 ifeq ($(WLATF),1) 382 WLFILES_SRC_HI += src/wl/sys/wlc_airtime.c 383 endif 384#ifdef WL11H 385 ifeq ($(WL11H),1) 386 WLFLAGS += -DWL11H 387 WLFILES_SRC_HI += src/wl/sys/wlc_11h.c 388 WLFLAGS += -DWLCSA 389 WLFILES_SRC_HI += src/wl/sys/wlc_csa.c 390 WLFLAGS += -DWLQUIET 391 WLFILES_SRC_HI += src/wl/sys/wlc_quiet.c 392 endif 393#endif /* WL11H */ 394 # tpc module is shared by 11h tpc and wl tx power control */ 395 WLTPC := 1 396 ifeq ($(WLTPC),1) 397 WLFLAGS += -DWLTPC 398 WLFILES_SRC_HI += src/wl/sys/wlc_tpc.c 399#ifdef WL_AP_TPC 400 ifeq ($(WL_AP_TPC),1) 401 WLFLAGS += -DWL_AP_TPC 402 endif 403#endif 404 endif 405 WLFILES_SRC_HI += src/wl/sys/wlc_dfs.c 406 ifeq ($(WLC_DISABLE_DFS_RADAR_SUPPORT),1) 407 WLFLAGS += -DWLC_DISABLE_DFS_RADAR_SUPPORT 408 endif 409#ifdef WL11D 410 ifeq ($(WL11D),1) 411 WLFLAGS += -DWL11D 412 WLFILES_SRC_HI += src/wl/sys/wlc_11d.c 413 endif 414#endif /* WL11D */ 415 # cntry module is shared by 11h/11d and wl channel */ 416 WLCNTRY := 1 417 ifeq ($(WLCNTRY),1) 418 WLFLAGS += -DWLCNTRY 419 WLFILES_SRC_HI += src/wl/sys/wlc_cntry.c 420 endif 421 WLFILES_SRC_HI += src/wl/sys/wlc_event.c 422 ifeq ($(WLCHANNEL_DUMMY),1) 423 WLFILES_SRC_HI += src/wl/sys/wlc_channel_dummy.c 424 else 425 WLFILES_SRC_HI += src/wl/sys/wlc_channel.c 426 WLFILES_SRC_HI += src/wl/clm/src/wlc_clm.c 427 WLFILES_SRC_HI += src/wl/clm/src/wlc_clm_data.c 428 ifeq ($(WLCLMINC),1) 429 WLFILES_SRC_HI += src/wl/clm/src/wlc_clm_data_inc.c 430 endif 431 endif 432 WLFILES_SRC_HI += src/shared/bcmwpa.c 433#ifndef LINUX_CRYPTO 434 ifneq ($(LINUX_CRYPTO),1) 435 WLFILES_SRC_HI += src/bcmcrypto/rc4.c 436 WLFILES_SRC_HI += src/bcmcrypto/tkhash.c 437 WLFILES_SRC_HI += src/bcmcrypto/tkmic.c 438 WLFILES_SRC_HI += src/bcmcrypto/wep.c 439 endif 440#endif /* LINUX_CRYPTO */ 441#ifdef WLEXTLOG 442ifeq ($(WLEXTLOG),1) 443 WLFLAGS += -DWLEXTLOG 444 WLFILES_SRC += src/wl/sys/wlc_extlog.c 445endif 446#endif 447#ifdef WLSCANCACHE 448ifeq ($(WLSCANCACHE),1) 449 WLFLAGS += -DWLSCANCACHE 450 WLFILES_SRC_HI += src/wl/sys/wlc_scandb.c 451 ifeq ($(SCANOL),1) 452 WLFILES_SRC_LO += src/wl/sys/wlc_scandb.c 453 endif 454endif 455#endif 456 WLFILES_SRC_HI += src/wl/sys/wlc_hrt.c 457endif 458#endif /* WL */ 459 460#ifdef BCMDBUS 461ifeq ($(BCMDBUS),1) 462 WLFLAGS += -DBCMDBUS 463 ifneq ($(BCM_EXTERNAL_MODULE),1) 464 WLFILES_SRC += src/shared/dbus.c 465 endif 466 467 ifeq ($(BCMTRXV2),1) 468 WLFLAGS += -DBCMTRXV2 469 endif 470 471 ifeq ($(BCMSDIO),1) 472 ifeq ($(WL_HIGH),1) 473 WLFILES_SRC_HI += src/shared/siutils.c 474 WLFILES_SRC_HI += src/shared/bcmotp.c 475 WLFILES_SRC_HI += src/shared/sbutils.c 476 WLFILES_SRC_HI += src/shared/aiutils.c 477 WLFILES_SRC_HI += src/shared/hndpmu.c 478 endif 479 endif 480 481 ifeq ($(WLLX),1) 482 ifeq ($(BCMSDIO),1) 483 WLFILES_SRC += src/shared/dbus_sdh.c 484 WLFILES_SRC += src/shared/dbus_sdh_linux.c 485 else 486 ifneq ($(BCM_EXTERNAL_MODULE),1) 487 WLFILES_SRC += src/shared/dbus_usb.c 488 WLFILES_SRC += src/shared/dbus_usb_linux.c 489 endif 490 endif 491 else 492 ifeq ($(WLNDIS),1) 493 ifeq ($(BCMSDIO),1) 494 ifneq ($(WLWIN7)$(WLWIN8),) 495 WLFILES_SRC += src/shared/dbus_sdio.c 496 WLFILES_SRC += src/shared/dbus_sdio_ndis.c 497 else 498 WLFILES_SRC += src/shared/dbus_sdh.c 499 WLFILES_SRC += src/shared/dbus_sdh_ndis.c 500 endif 501 else 502 WLFILES_SRC += src/shared/dbus_usb.c 503 WLFILES_SRC += src/shared/dbus_usb_ndis.c 504 endif 505 endif 506 endif 507endif 508#endif 509 510#ifndef LINUX_HYBRID 511ifeq ($(BCM_DNGL_EMBEDIMAGE),1) 512 WLFLAGS += -DBCM_DNGL_EMBEDIMAGE 513endif 514#endif 515 516# For USBAP to select which images to embed 517ifeq ($(EMBED_IMAGE_4319usb),1) 518 WLFLAGS += -DEMBED_IMAGE_4319usb 519endif 520ifeq ($(EMBED_IMAGE_4319sd),1) 521 WLFLAGS += -DEMBED_IMAGE_4319sd 522endif 523ifeq ($(EMBED_IMAGE_4322),1) 524 WLFLAGS += -DEMBED_IMAGE_4322 525endif 526 527ifeq ($(EMBED_IMAGE_43236b),1) 528 WLFLAGS += -DEMBED_IMAGE_43236b 529endif 530ifeq ($(EMBED_IMAGE_43526a),1) 531 WLFLAGS += -DEMBED_IMAGE_43526a 532endif 533ifeq ($(EMBED_IMAGE_43526b),1) 534 WLFLAGS += -DEMBED_IMAGE_43526b 535endif 536ifeq ($(EMBED_IMAGE_4360b),1) 537 WLFLAGS += -DEMBED_IMAGE_4360b 538endif 539ifeq ($(EMBED_IMAGE_4325sd),1) 540 WLFLAGS += -DEMBED_IMAGE_4325sd 541endif 542ifeq ($(DNGL_WD_KEEP_ALIVE),1) 543 WLFLAGS += -DDNGL_WD_KEEP_ALIVE 544endif 545 546## wl OSL 547#ifdef WLVX 548ifeq ($(WLVX),1) 549 WLFILES_SRC += src/wl/sys/wl_vx.c 550 WLFILES_SRC += src/shared/bcmstdlib.c 551 WLFLAGS += -DSEC_TXC_ENABLED 552endif 553#endif 554 555#ifdef WLBSD 556ifeq ($(WLBSD),1) 557 WLFILES_SRC += src/wl/sys/wl_bsd.c 558endif 559#endif 560 561#ifdef WLLX 562ifeq ($(WLLX),1) 563 ifneq ($(WL_HIGH),1) 564 WLFILES_SRC_LO += src/wl/sys/wl_linux_bmac.c 565 WLFILES_SRC_LO += src/shared/bcm_rpc_char.c 566 endif 567 568 WLFILES_SRC_HI += src/wl/sys/wl_linux.c 569endif 570#endif 571 572#ifdef WLLXIW 573ifeq ($(WLLXIW),1) 574 WLFILES_SRC_HI += src/wl/sys/wl_iw.c 575 WLFLAGS += -DWLLXIW 576endif 577#endif 578 579#ifdef WLLXCFG80211 580ifdef ($(WLLXCFG80211),1) 581 WLFILES_SRC_HI += src/wl/sys/wl_cfg80211_hybrid.c 582endif 583#endif 584 585ifeq ($(BCM_STA_CFG80211),1) 586 WLFILES_SRC_HI += src/wl/sys/wl_cfg80211.c 587 WLFILES_SRC_HI += src/wl/sys/wl_cfgp2p.c 588 WLFILES_SRC_HI += src/wl/sys/wldev_common.c 589 WLFILES_SRC_HI += src/wl/sys/wl_linux_mon.c 590endif 591 592#ifdef WLCFE 593ifeq ($(WLCFE),1) 594 WLFILES_SRC += src/wl/sys/wl_cfe.c 595endif 596#endif 597 598#ifdef WLRTE 599ifeq ($(WLRTE),1) 600 WLFILES_SRC += src/wl/sys/wl_rte.c 601 ifneq ($(WL_HIGH),1) 602 WLFILES_SRC_LO += src/shared/bcm_rpc_tp_rte.c 603 endif 604endif 605#endif 606 607ifeq ($(BCMECICOEX),1) 608 WLFLAGS += -DBCMECICOEX 609endif 610 611ifeq ($(DNGL_WD_KEEP_ALIVE),1) 612 WLFLAGS += -DDNGL_WD_KEEP_ALIVE 613endif 614 615 616ifeq ($(TRAFFIC_MGMT),1) 617 WLFLAGS += -DTRAFFIC_MGMT 618 WLFILES_SRC += src/wl/sys/wlc_traffic_mgmt.c 619 620 ifeq ($(TRAFFIC_SHAPING),1) 621 WLFLAGS += -DTRAFFIC_SHAPING 622 endif 623 624 ifeq ($(TRAFFIC_MGMT_RSSI_POLICY),1) 625 WLFLAGS += -DTRAFFIC_MGMT_RSSI_POLICY=$(AP) 626 endif 627 628 ifeq ($(WLINTFERSTAT),1) 629 WLFLAGS += -DWLINTFERSTAT 630 endif 631 632 ifeq ($(TRAFFIC_MGMT_DWM),1) 633 WLFLAGS += -DTRAFFIC_MGMT_DWM 634 endif 635endif 636 637ifeq ($(WLSTAPRIO),1) 638 WLFLAGS += -DWL_STAPRIO 639 WLFILES_SRC += src/wl/sys/wlc_staprio.c 640endif 641 642#ifdef NDIS 643# anything Windows/NDIS specific for 2k/xp/vista/windows7 644ifeq ($(WLNDIS),1) 645 WLFILES_SRC += src/wl/sys/wl_ndis.c 646 647 ifeq ($(WLNDIS_DHD),) 648 WLFILES_SRC += src/wl/sys/nhd_ndis.c 649 ifeq ($(WL_SPLIT),1) 650 ifdef USEDDK 651 WLFLAGS += -DMEMORY_TAG="'7034'" 652 else 653 WLFLAGS += -DMEMORY_TAG='DWMB' 654 endif 655 else 656 ifdef USEDDK 657 WLFLAGS += -DMEMORY_TAG="'7034'" 658 else 659 WLFLAGS += -DMEMORY_TAG='NWMB' 660 endif 661 endif 662 else 663 WLFILES_SRC += src/dhd/sys/dhd_ndis.c 664 ifdef USEDDK 665 WLFLAGS += -DMEMORY_TAG="'7034'" 666 else 667 WLFLAGS += -DMEMORY_TAG='DWMB' 668 endif 669 endif 670 671 WLFILES_SRC += src/wl/sys/wl_ndconfig.c 672 WLFILES_SRC += src/shared/bcmwifi/src/bcmwifi_channels.c 673 WLFILES_SRC += src/shared/bcmstdlib.c 674 675 # support host supplied nvram variables 676 ifeq ($(WLTEST),1) 677 ifeq ($(WLHOSTVARS), 1) 678 WLFLAGS += -DBCMHOSTVARS 679 endif 680 else 681 ifeq ($(BCMEXTNVM),1) 682 ifeq ($(WLHOSTVARS), 1) 683 WLFLAGS += -DBCMHOSTVARS 684 endif 685 endif 686 endif 687 688 ifneq ($(WLVISTA)$(WLWIN7)$(WLWIN8),) 689 WLFLAGS += -DEXT_STA 690 WLFLAGS += -DWL_MONITOR 691 WLFLAGS += -DIBSS_PEER_GROUP_KEY 692 WLFLAGS += -DIBSS_PEER_DISCOVERY_EVENT 693 WLFLAGS += -DIBSS_PEER_MGMT 694 endif 695 696 ifneq ($(WLWIN7)$(WLWIN8),) 697 WLFLAGS += -DAP 698 endif 699 700 ifeq ($(WLXP),1) 701 WLFLAGS += -DWLNOEIND 702 endif 703 704 ifeq ($(WLVIF),1) 705 WLFLAGS += -DWLVIF 706 endif 707 708 # HIGH driver for BMAC ?? any ndis/xp/vista ? 709 ifeq ($(WL_SPLIT),1) 710 endif 711 712 # DHD host: ?? to clean up and to support all other DHD OSes 713 ifeq ($(WLNDIS_DHD),1) 714 WLFLAGS += -DSHOW_EVENTS -DBCMPERFSTATS 715 WLFLAGS += -DBDC -DBCMDONGLEHOST 716 WLFLAGS += -DBCM4325 717 718 ifneq ($(BCMSDIO),1) 719 WLFLAGS += -DBCMDHDUSB 720 WLFLAGS += -DBCM4328 -DBCM4322 721 endif 722 723 WLFILES_SRC += src/shared/bcmevent.c 724 WLFILES_SRC += src/dhd/sys/dhd_cdc.c 725 WLFILES_SRC += src/dhd/sys/dhd_common.c 726 727 BCMPCI = 0 728 729 ifneq ($(BCMDBUS),1) 730 WLFILES_SRC += src/dhd/sys/dhd_usb_ndis.c 731 endif 732 733 ifneq ($(WLVISTA)$(WLWIN7)$(WLWIN8),) 734 WLFILES_SRC += src/wl/sys/wlc_rate.c 735 endif 736 737 ifneq ($(WLWIN7)$(WLWIN8),) 738 WLFILES_SRC += src/wl/sys/wlc_ap.c 739 WLFILES_SRC += src/wl/sys/wlc_apps.c 740 endif 741 742 ifeq ($(WLXP),1) 743 WLFLAGS += -DNDIS_DMAWAR 744 # move these non-wl flag to makefiles 745 WLFLAGS += -DBINARY_COMPATIBLE -DWIN32_LEAN_AND_MEAN=1 746 endif 747 748 endif 749endif 750#endif 751 752ifeq ($(ADV_PS_POLL),1) 753 WLFLAGS += -DADV_PS_POLL 754endif 755 756#ifdef DHDOID 757ifeq ($(DHDOID),1) 758 WLFLAGS += -DWLC_HOSTOID 759 WLFILES_SRC += src/wl/sys/wlc_hostoid.c 760 ifeq ($(WLVISTA),1) 761 # DONGLE vista needs WL_MONITOR to pass RTM 762 WLFLAGS += -DEXT_STA -DWL_MONITOR -DWLCNTSCB 763 WLFILES_SRC += src/wl/sys/wl_gtkrefresh.c 764 endif 765endif 766#endif 767 768 769#ifdef BINOSL 770ifeq ($(BINOSL),1) 771 WLFLAGS += -DBINOSL 772endif 773#endif 774 775## wl features 776# ACCONF -- 0 is remove from code, else bit mask of supported acphy revs 777ifneq ($(ACCONF),) 778 WLFLAGS += -DACCONF=$(ACCONF) 779endif 780 781# NCONF -- 0 is remove from code, else bit mask of supported nphy revs 782ifneq ($(NCONF),) 783 WLFLAGS += -DNCONF=$(NCONF) 784endif 785 786# HTCONF -- 0 is remove from code, else bit mask of supported htphy revs 787ifneq ($(HTCONF),) 788 WLFLAGS += -DHTCONF=$(HTCONF) 789endif 790 791# ACONF -- 0 is remove from code, else bit mask of supported aphy revs 792ifneq ($(ACONF),) 793 WLFLAGS += -DACONF=$(ACONF) 794endif 795 796# GCONF -- 0 is remove from code, else bit mask of supported gphy revs 797ifneq ($(GCONF),) 798 WLFLAGS += -DGCONF=$(GCONF) 799endif 800 801# LPCONF -- 0 is remove from code, else bit mask of supported lpphy revs 802ifneq ($(LPCONF),) 803 WLFLAGS += -DLPCONF=$(LPCONF) 804endif 805 806# SSLPNCONF -- 0 is remove from code, else bit mask of supported sslpnphy revs 807ifneq ($(SSLPNCONF),) 808 WLFLAGS += -DSSLPNCONF=$(SSLPNCONF) 809endif 810 811# LCNCONF -- 0 is remove from code, else bit mask of supported lcnphy revs 812ifneq ($(LCNCONF),) 813 WLFLAGS += -DLCNCONF=$(LCNCONF) 814endif 815 816#ifdef SOFTAP 817ifeq ($(SOFTAP),1) 818 WLFLAGS += -DSOFTAP 819endif 820#endif 821 822#ifdef AP 823# ap 824ifeq ($(AP),1) 825 WLFILES_SRC_HI += src/wl/sys/wlc_ap.c 826 WLFILES_SRC_HI += src/wl/sys/wlc_apps.c 827 WLFLAGS += -DAP 828 ifeq ($(MBSS),1) 829 WLFLAGS += -DMBSS 830 endif 831 832 ifeq ($(WDS),1) 833 WLFLAGS += -DWDS 834 endif 835 836 ifeq ($(DWDS),1) 837 WLFLAGS += -DDWDS 838 endif 839 840 # Channel Select 841 ifeq ($(APCS),1) 842 WLFILES_SRC_HI += src/wl/sys/wlc_apcs.c 843 WLFLAGS += -DAPCS 844 endif 845 846 # WME_PER_AC_TX_PARAMS 847 ifeq ($(WME_PER_AC_TX_PARAMS),1) 848 WLFLAGS += -DWME_PER_AC_TX_PARAMS 849 endif 850 851 # WME_PER_AC_TUNING 852 ifeq ($(WME_PER_AC_TUNING),1) 853 WLFLAGS += -DWME_PER_AC_TUNING 854 endif 855 856endif 857#endif 858 859#ifdef STA 860# sta 861ifeq ($(STA),1) 862 WLFLAGS += -DSTA 863endif 864#endif 865 866#ifdef EXT_STA_DONGLE 867# Microsoft Extensible STA for Dongle 868ifeq ($(EXT_STA_DONGLE),1) 869 WLFLAGS += -DEXT_STA 870 WLFLAGS += -DIBSS_PEER_GROUP_KEY 871 WLFLAGS += -DIBSS_PEER_DISCOVERY_EVENT 872 WLFLAGS += -DIBSS_PEER_MGMT 873endif 874#endif 875 876#ifdef APSTA 877# apsta 878ifeq ($(APSTA),1) 879 WLFLAGS += -DAPSTA 880endif 881# apsta 882#endif 883 884#ifdef WET 885# wet 886ifeq ($(WET),1) 887 WLFLAGS += -DWET 888 WLFILES_SRC_HI += src/wl/sys/wlc_wet.c 889endif 890#endif 891 892#ifdef RXCHAIN_PWRSAVE 893ifeq ($(RXCHAIN_PWRSAVE), 1) 894 WLFLAGS += -DRXCHAIN_PWRSAVE 895endif 896#endif 897 898#ifdef RADIO_PWRSAVE 899ifeq ($(RADIO_PWRSAVE), 1) 900 WLFLAGS += -DRADIO_PWRSAVE 901endif 902#endif 903 904#ifdef WMF 905ifeq ($(WMF), 1) 906 WLFILES_SRC_HI += src/wl/sys/wlc_wmf.c 907 WLFLAGS += -DWMF 908endif 909ifeq ($(IGMP_UCQUERY), 1) 910 WLFLAGS += -DWL_IGMP_UCQUERY 911endif 912ifeq ($(UCAST_UPNP), 1) 913 WLFLAGS += -DWL_UCAST_UPNP 914endif 915ifeq ($(IGMPQ_FILTER), 1) 916 WLFLAGS += -DWL_WMF_IGMP_QUERY_FILTER 917endif 918#endif 919 920#ifdef MCAST_REGEN 921ifeq ($(MCAST_REGEN), 1) 922 WLFLAGS += -DMCAST_REGEN 923endif 924#endif 925 926 927#ifdef WLOVERTHRUSTER 928ifeq ($(WLOVERTHRUSTER), 1) 929 WLFLAGS += -DWLOVERTHRUSTER 930endif 931#endif 932 933#ifdef MAC_SPOOF 934# mac spoof 935ifeq ($(MAC_SPOOF),1) 936 WLFLAGS += -DMAC_SPOOF 937endif 938#endif 939 940#ifdef PSTA 941# Proxy STA 942ifeq ($(PSTA),1) 943 WLFILES_SRC_HI += src/wl/sys/wlc_psta.c 944 WLFLAGS += -DPSTA 945endif 946#endif 947 948#ifdef DPSTA 949# Dualband Proxy STA 950ifeq ($(DPSTA),1) 951 WLFLAGS += -DDPSTA 952endif 953#endif 954 955#ifndef LINUX_HYBRID 956# Router IBSS Security Support 957ifeq ($(ROUTER_SECURE_IBSS),1) 958 WLFLAGS += -DIBSS_PEER_GROUP_KEY 959 WLFLAGS += -DIBSS_PSK 960 WLFLAGS += -DIBSS_PEER_MGMT 961 WLFLAGS += -DIBSS_PEER_DISCOVERY_EVENT 962endif 963#endif 964 965#ifdef WLLED 966# led 967ifeq ($(WLLED),1) 968 WLFLAGS += -DWLLED 969 WLFILES_SRC_HI += src/wl/sys/wlc_led.c 970endif 971#endif 972 973#ifdef WL_MONITOR 974# MONITOR 975ifeq ($(WL_MONITOR),1) 976 WLFLAGS += -DWL_MONITOR 977endif 978#endif 979 980#ifdef WL_STA_MONITOR 981ifeq ($(WL_STA_MONITOR),1) 982 WLFLAGS += -DWL_STA_MONITOR 983endif 984#endif 985 986#ifdef WL_PROMISC 987# PROMISC 988ifeq ($(PROMISC),1) 989 WLFLAGS += -DWL_PROMISC 990endif 991#endif 992 993ifeq ($(WL_ALL_PASSIVE),1) 994 WLFLAGS += -DWL_ALL_PASSIVE 995endif 996 997#ifdef ND_ALL_PASSIVE 998ifeq ($(ND_ALL_PASSIVE),1) 999 WLFLAGS += -DND_ALL_PASSIVE 1000endif 1001#endif 1002 1003#ifdef WME 1004# WME 1005ifeq ($(WME),1) 1006 WLFLAGS += -DWME 1007 ifeq ($(WLCAC), 1) 1008 ifeq ($(WL), 1) 1009 WLFLAGS += -DWLCAC 1010 WLFILES_SRC_HI += src/wl/sys/wlc_cac.c 1011 endif 1012 endif 1013endif 1014#endif 1015 1016#ifdef WLPIO 1017# WLPIO 1018ifeq ($(WLPIO),1) 1019 WLFLAGS += -DWLPIO 1020 WLFILES_SRC_LO += src/wl/sys/wlc_pio.c 1021endif 1022#endif 1023 1024#ifdef WL11N 1025# 11N 1026ifeq ($(WL11N),1) 1027 WLFLAGS += -DWL11N 1028endif 1029#endif 1030 1031#ifdef WL11N_20MHZONLY 1032# 11N 20MHz only optimization 1033ifeq ($(WL11N_20MHZONLY),1) 1034 WLFLAGS += -DWL11N_20MHZONLY 1035endif 1036#endif 1037 1038#ifdef WL11N_SINGLESTREAM 1039# 11N single stream optimization 1040ifeq ($(WL11N_SINGLESTREAM),1) 1041 WLFLAGS += -DWL11N_SINGLESTREAM 1042endif 1043#endif 1044 1045#ifdef WL11H 1046# 11H 1047ifeq ($(WL11H),1) 1048 WLFLAGS += -DWL11H 1049endif 1050#endif 1051 1052#ifdef WL11D 1053# 11D 1054ifeq ($(WL11D),1) 1055 WLFLAGS += -DWL11D 1056endif 1057#endif 1058 1059#ifdef WL11U 1060# 11U 1061ifeq ($(WL11U),1) 1062 L2_FILTER := 1 1063 WLFLAGS += -DWL11U -DWIFI_ACT_FRAME 1064 WLFILES_SRC_HI += src/wl/sys/wlc_11u.c 1065endif 1066#endif 1067 1068#ifdef WLPROBRESP_SW 1069# WLPROBRESP_SW 1070ifeq ($(WLPROBRESP_SW),1) 1071 WLFLAGS += -DWLPROBRESP_SW 1072 WLFILES_SRC_HI += src/wl/sys/wlc_probresp.c 1073endif 1074#endif 1075 1076#ifdef WLPROBSUP 1077ifeq ($(WLPROBSUP),1) 1078 WLFLAGS += -DWLPROBSUP -DWLAUTHFILTER 1079 WLFILES_SRC_HI += src/wl/sys/wlc_probsup.c 1080endif 1081#endif 1082 1083#ifdef DBAND 1084# DBAND 1085ifeq ($(DBAND),1) 1086 WLFLAGS += -DDBAND 1087endif 1088#endif 1089 1090#ifdef WLRM 1091# WLRM 1092ifeq ($(WLRM),1) 1093 WLFLAGS += -DWLRM 1094endif 1095#endif 1096 1097#ifdef WLCQ 1098# WLCQ 1099ifeq ($(WLCQ),1) 1100 WLFLAGS += -DWLCQ 1101endif 1102#endif 1103 1104#ifdef WLCNT 1105# WLCNT 1106ifeq ($(WLCNT),1) 1107 WLFLAGS += -DWLCNT 1108ifndef DELTASTATS 1109 DELTASTATS := 1 1110endif 1111endif 1112#endif 1113 1114# DELTASTATS 1115ifeq ($(DELTASTATS),1) 1116 WLFLAGS += -DDELTASTATS 1117endif 1118 1119#ifdef WLCHANIM 1120# WLCHANIM 1121ifeq ($(WLCHANIM),1) 1122 WLFLAGS += -DWLCHANIM 1123endif 1124#endif 1125 1126#ifdef WLCNTSCB 1127# WLCNTSCB 1128ifeq ($(WLCNTSCB),1) 1129 WLFLAGS += -DWLCNTSCB 1130endif 1131#endif 1132 1133 1134ifeq ($(WL_OKC),1) 1135 WLFLAGS += -DWL_OKC 1136 WLFILES_SRC_HI += src/wl/sys/wlc_okc.c 1137endif 1138ifeq ($(WL_RCC),1) 1139 WLFILES_SRC_HI += src/wl/sys/wlc_okc.c 1140endif 1141 1142#ifdef WLCOEX 1143# WLCOEX 1144ifeq ($(WLCOEX),1) 1145 WLFLAGS += -DWLCOEX 1146endif 1147#endif 1148 1149## wl security 1150# external linux supplicant 1151#ifdef LINUX_CRYPTO 1152ifeq ($(LINUX_CRYPTO), 1) 1153 WLFLAGS += -DLINUX_CRYPTO 1154endif 1155#endif 1156 1157ifeq ($(WLFBT),1) 1158 WLFLAGS += -DWLFBT 1159 WLFLAGS += -DWLFBTOVERDS 1160 WLFLAGS += -DBCMINTSUP 1161 WLFLAGS += -DWLCAC 1162 WLFILES_SRC_HI += src/wl/sys/wlc_sup.c 1163 WLFILES_SRC_HI += src/bcmcrypto/aes.c 1164 WLFILES_SRC_HI += src/bcmcrypto/aeskeywrap.c 1165 WLFILES_SRC_HI += src/bcmcrypto/prf.c 1166 WLFILES_SRC_HI += src/bcmcrypto/sha1.c 1167 WLFILES_SRC_HI += src/bcmcrypto/hmac_sha256.c 1168 WLFILES_SRC_HI += src/bcmcrypto/sha256.c 1169 WLFILES_SRC_HI += src/wl/sys/wlc_cac.c 1170 # NetBSD 2.0 has MD5 and AES built in 1171 ifneq ($(OSLBSD),1) 1172 WLFILES_SRC_HI += src/bcmcrypto/md5.c 1173 WLFILES_SRC_HI += src/bcmcrypto/rijndael-alg-fst.c 1174 endif 1175endif 1176 1177#ifdef BCMSUP_PSK 1178# in-driver supplicant 1179ifeq ($(BCMSUP_PSK),1) 1180 WLFLAGS += -DBCMSUP_PSK -DBCMINTSUP 1181 WLFILES_SRC_HI += src/wl/sys/wlc_sup.c 1182 WLFILES_SRC_HI += src/bcmcrypto/aes.c 1183 WLFILES_SRC_HI += src/bcmcrypto/aeskeywrap.c 1184 WLFILES_SRC_HI += src/bcmcrypto/hmac.c 1185 WLFILES_SRC_HI += src/bcmcrypto/prf.c 1186 WLFILES_SRC_HI += src/bcmcrypto/sha1.c 1187 ifeq ($(WLFBT),1) 1188 WLFILES_SRC_HI += src/bcmcrypto/hmac_sha256.c 1189 WLFILES_SRC_HI += src/bcmcrypto/sha256.c 1190 endif 1191 # NetBSD 2.0 has MD5 and AES built in 1192 ifneq ($(OSLBSD),1) 1193 WLFILES_SRC_HI += src/bcmcrypto/md5.c 1194 WLFILES_SRC_HI += src/bcmcrypto/rijndael-alg-fst.c 1195 endif 1196 WLFILES_SRC_HI += src/bcmcrypto/passhash.c 1197endif 1198#endif 1199 1200 1201#ifdef BCMAUTH_PSK 1202# in-driver authenticator 1203ifeq ($(BCMAUTH_PSK),1) 1204 WLFLAGS += -DBCMAUTH_PSK 1205 WLFILES_SRC_HI += src/wl/sys/wlc_auth.c 1206endif 1207#endif 1208 1209#ifdef WLTDLS 1210ifeq ($(WLTDLS), 1) 1211ifndef ($(WLFBT),1) 1212 WLFILES_SRC_HI += src/bcmcrypto/sha256.c 1213 WLFILES_SRC_HI += src/bcmcrypto/hmac_sha256.c 1214endif 1215endif 1216#endif 1217 1218#ifdef BCMCCMP 1219# Soft AES CCMP 1220ifeq ($(BCMCCMP),1) 1221 WLFLAGS += -DBCMCCMP 1222 WLFILES_SRC_HI += src/bcmcrypto/aes.c 1223 # BSD has AES built in 1224 ifneq ($(BSD),1) 1225 WLFILES_SRC_HI += src/bcmcrypto/rijndael-alg-fst.c 1226 endif 1227endif 1228#endif 1229 1230#ifdef MFP 1231# Management Frame Protection 1232ifeq ($(MFP),1) 1233 WLFLAGS += -DMFP 1234 WLFILES_SRC_HI += src/bcmcrypto/aes.c 1235 WLFILES_SRC_HI += src/bcmcrypto/sha256.c 1236 WLFILES_SRC_HI += src/bcmcrypto/hmac_sha256.c 1237 WLFILES_SRC_HI += src/bcmcrypto/prf.c 1238 WLFILES_SRC_HI += src/bcmcrypto/sha1.c 1239 WLFILES_SRC_HI += src/wl/sys/wlc_mfp.c 1240 # BSD has AES built in 1241 ifneq ($(BSD),1) 1242 WLFILES_SRC_HI += src/bcmcrypto/rijndael-alg-fst.c 1243 endif 1244 ifeq ($(MFP_TEST),1) 1245 WLFLAGS += -DMFP_TEST 1246 WLFILES_SRC_HI += src/wl/sys/wlc_mfp_test.c 1247 endif 1248endif 1249#endif 1250 1251 1252 1253#ifdef WIFI_ACT_FRAME 1254# WIFI_ACT_FRAME 1255ifeq ($(WIFI_ACT_FRAME),1) 1256 WLFLAGS += -DWIFI_ACT_FRAME 1257endif 1258#endif 1259 1260# BCMDMA32 1261ifeq ($(BCMDMA32),1) 1262 WLFLAGS += -DBCMDMA32 1263endif 1264 1265ifeq ($(BCMDMA64OSL),1) 1266 WLFLAGS += -DBCMDMA64OSL 1267endif 1268 1269ifeq ($(BCMDMASGLISTOSL),1) 1270 WLFLAGS += -DBCMDMASGLISTOSL 1271endif 1272 1273# Early DMA TX Free for LOW driver 1274ifeq ($(WL_DMA_TX_FREE),1) 1275 ifneq ($(WL_HIGH),1) 1276 ifeq ($(PT_GIANT),1) 1277 WLFLAGS += -DDMA_TX_FREE 1278 endif 1279 endif 1280endif 1281 1282## wl over jtag 1283#ifdef BCMJTAG 1284ifeq ($(BCMJTAG),1) 1285 WLFLAGS += -DBCMJTAG -DBCMSLTGT 1286 WLFILES_SRC += src/shared/bcmjtag.c 1287 WLFILES_SRC += src/shared/bcmjtag_linux.c 1288 WLFILES_SRC += src/shared/ejtag.c 1289 WLFILES_SRC += src/shared/jtagm.c 1290endif 1291#endif 1292 1293#ifdef WLAMSDU 1294ifeq ($(WLAMSDU),1) 1295 WLFLAGS += -DWLAMSDU 1296 WLFILES_SRC_HI += src/wl/sys/wlc_amsdu.c 1297endif 1298#endif 1299 1300#ifdef WLAMSDU_TX 1301ifeq ($(WLAMSDU_TX),1) 1302 WLFLAGS += -DWLAMSDU_TX 1303endif 1304#endif 1305 1306#ifdef WLAMSDU_SWDEAGG 1307ifeq ($(WLAMSDU_SWDEAGG),1) 1308 WLFLAGS += -DWLAMSDU_SWDEAGG 1309endif 1310#endif 1311 1312#ifdef WLNAR 1313ifeq ($(WLNAR),1) 1314 WLFILES_SRC_HI += src/wl/sys/wlc_nar.c 1315 WLFLAGS += -DWLNAR 1316endif 1317#endif 1318 1319#ifdef WLTAF 1320ifeq ($(WLTAF),1) 1321 WLFILES_SRC_HI += src/wl/sys/wlc_taf.c 1322 WLFLAGS += -DWLTAF 1323endif 1324#endif 1325#ifdef WLAMPDU 1326ifeq ($(WLAMPDU),1) 1327 WLFLAGS += -DWLAMPDU 1328 WLFILES_SRC_HI += src/wl/sys/wlc_ampdu.c 1329 WLFILES_SRC_HI += src/wl/sys/wlc_ampdu_rx.c 1330 WLFILES_SRC_HI += src/wl/sys/wlc_ampdu_cmn.c 1331 ifeq ($(WLAMPDU_UCODE),1) 1332 WLFLAGS += -DWLAMPDU_UCODE -DWLAMPDU_MAC 1333 endif 1334 ifeq ($(WLAMPDU_HW),1) 1335 WLFLAGS += -DWLAMPDU_HW -DWLAMPDU_MAC 1336 endif 1337 ifeq ($(WLAMPDU_AQM),1) 1338 WLFLAGS += -DWLAMPDU_AQM -DWLAMPDU_MAC 1339 endif 1340 ifeq ($(WLAMPDU_PRECEDENCE),1) 1341 WLFLAGS += -DWLAMPDU_PRECEDENCE 1342 endif 1343endif 1344#endif 1345 1346#ifdef WOWL 1347ifeq ($(WOWL),1) 1348 WLFLAGS += -DWOWL 1349 WLFILES_SRC_HI += src/wl/sys/d11ucode_wowl.c 1350 WLFILES_SRC_HI += src/wl/sys/wlc_wowl.c 1351 WLFILES_SRC_HI += src/wl/sys/wowlaestbls.c 1352endif 1353#endif 1354 1355#ifdef BTC2WIRE 1356ifeq ($(BTC2WIRE),1) 1357 WLFLAGS += -DBTC2WIRE 1358 WLFILES_SRC_LO += src/wl/sys/d11ucode_2w.c 1359endif 1360#endif 1361 1362#ifdef WL_ASSOC_RECREATE 1363ifeq ($(WL_ASSOC_RECREATE),1) 1364 ifeq ($(STA),1) 1365 WLFLAGS += -DWL_ASSOC_RECREATE 1366 endif 1367endif 1368#endif 1369 1370 1371#ifdef WLTDLS 1372ifeq ($(TDLS_TESTBED), 1) 1373 WLFLAGS += -DTDLS_TESTBED 1374endif 1375ifeq ($(WLTDLS), 1) 1376 WLFLAGS += -DWLTDLS 1377 WLFILES_SRC_HI += src/wl/sys/wlc_tdls.c 1378endif 1379#endif 1380 1381#ifdef WLDLS 1382ifeq ($(WLDLS), 1) 1383 WLFLAGS += -DWLDLS 1384 WLFILES_SRC_HI += src/wl/sys/wlc_dls.c 1385endif 1386#endif 1387 1388#ifdef WLBSSLOAD 1389# WLBSSLOAD 1390ifeq ($(WLBSSLOAD),1) 1391 WLFLAGS += -DWLBSSLOAD 1392 WLFILES_SRC_HI += src/wl/sys/wlc_bssload.c 1393endif 1394#endif 1395 1396#ifdef L2_FILTER 1397ifeq ($(L2_FILTER),1) 1398 WLFLAGS += -DL2_FILTER 1399 ifeq ($(L2_FILTER_STA),1) 1400 WLFLAGS += -DL2_FILTER_STA 1401 endif 1402 WLFILES_SRC += src/wl/sys/wlc_l2_filter.c 1403endif 1404#endif 1405 1406#ifdef WLP2P 1407ifeq ($(WLP2P),1) 1408 WLFLAGS += -DWLP2P 1409 WLFILES_SRC_HI += src/wl/sys/wlc_p2p.c 1410 WLFLAGS += -DWL_BSSCFG_TX_SUPR -DWIFI_ACT_FRAME 1411 WLMCNX := 1 1412ifndef WLMCHAN 1413 WLMCHAN := 1 1414endif 1415endif 1416#endif /* WLP2P */ 1417#ifdef WLOFFLD 1418ifeq ($(WLTEST),1) 1419 WLOFFLD=0 1420endif 1421ifeq ($(WLOFFLD),1) 1422 ifeq ($(WL_SPLIT),0) 1423 WLFLAGS += -DWLOFFLD 1424 WLFLAGS += -DWL_OFFLOADSTATS 1425 WLFILES_SRC_HI += src/wl/sys/wlc_offloads.c 1426 WLFILES_SRC_HI += src/shared/bcm_ol_msg.c 1427 1428 ifeq ($(NET_DETECT),1) 1429 WLFLAGS += -DNET_DETECT 1430 WLFILES_SRC_HI += src/wl/sys/wlc_net_detect.c 1431 endif 1432 1433 WLFLAGS += -DEMBED_IMAGE_4352PCI 1434 WLFLAGS += -DEMBED_IMAGE_4350PCI 1435 endif 1436endif 1437#endif /* WLOFFLD */ 1438 1439#ifdef SRHWVSDB 1440ifeq ($(SRHWVSDB),1) 1441 WLFLAGS += -DSRHWVSDB 1442endif 1443ifeq ($(PHY_WLSRVSDB),1) 1444 # cpp define WLSRVSDB is used in this branch by PHY code only 1445 WLFLAGS += -DWLSRVSDB 1446endif 1447#endif /* SRHWVSDB */ 1448 1449#ifdef WLMCHAN 1450ifeq ($(WLMCHAN),1) 1451 WLMCNX := 1 1452endif 1453#endif 1454 1455ifeq ($(WLMCNX),1) 1456 WLFLAGS += -DWLP2P_UCODE 1457 WLFILES_SRC_LO += src/wl/sys/d11ucode_p2p.c 1458 WLFLAGS += -DWLMCNX 1459 WLFILES_SRC_HI += src/wl/sys/wlc_mcnx.c 1460 ifeq ($(FULLDNGLBLD),1) 1461 ifneq ($(WLP2P_UCODE_ONLY),1) 1462 # force P2P UCODE for MCNX on dongle 1463 WLP2P_UCODE_ONLY := 1 1464 endif 1465 endif 1466endif 1467 1468ifeq ($(WLP2P_UCODE_ONLY),1) 1469 WLFLAGS += -DWLP2P_UCODE_ONLY 1470endif 1471 1472#ifdef WLMCHAN 1473ifeq ($(WLMCHAN),1) 1474 WLFLAGS += -DWLTXPWR_CACHE 1475 WLFLAGS += -DWLMCHAN 1476 WLFILES_SRC_HI += src/wl/sys/wlc_mchan.c 1477ifndef WLMULTIQUEUE 1478 WLMULTIQUEUE := 1 1479endif 1480endif 1481#endif /* WLMCHAN */ 1482 1483#ifdef WLMULTIQUEUE 1484ifeq ($(WLMULTIQUEUE), 1) 1485 WLFLAGS += -DWL_MULTIQUEUE 1486endif 1487#endif /* WLMULTIQUEUE */ 1488 1489ifeq ($(WLMCHAN), 1) 1490 ifeq ($(WL_SPLIT), 1) 1491 CCA_STATS = 0 1492 endif 1493endif 1494 1495ifeq ($(CCA_STATS),1) 1496 WLFLAGS += -DCCA_STATS 1497 WLFILES_SRC_HI += src/wl/sys/wlc_cca.c 1498 ifeq ($(ISID_STATS),1) 1499 WLFLAGS += -DISID_STATS 1500 WLFILES_SRC_HI += src/wl/sys/wlc_interfere.c 1501 endif 1502endif 1503 1504#ifdef WLRWL 1505ifeq ($(WLRWL),1) 1506 WLFLAGS += -DWLRWL -DRWL_WIFI 1507 WLFILES_SRC_HI += src/wl/sys/wlc_rwl.c 1508endif 1509#endif 1510 1511ifeq ($(D0_COALESCING),1) 1512 WLFLAGS += -DD0_COALESCING 1513 WLFILES_SRC_HI += src/wl/sys/wl_d0_filter.c 1514 WLMCHAN := 1 1515endif 1516 1517ifneq ($(WLNDIS_DHD),1) 1518endif 1519 1520#ifdef WLPLT 1521ifeq ($(WLPLT),1) 1522 WLFLAGS += -DWLPLT 1523 WLFILES_SRC_HI += src/wl/sys/wlc_plt.c 1524endif 1525#endif 1526 1527 1528 1529#ifdef WLMEDIA 1530ifeq ($(WLMEDIA),1) 1531 WLFLAGS += -DWLMEDIA_EN 1532 WLFLAGS += -DWLMEDIA_RATESTATS 1533 WLFLAGS += -DWLMEDIA_MULTIQUEUE 1534 WLFLAGS += -DWLMEDIA_TXFIFO_FLUSH_SCB 1535 WLFLAGS += -DWLMEDIA_AMPDUSTATS 1536 WLFLAGS += -DWLMEDIA_TXFAILEVENT 1537 WLFLAGS += -DWLMEDIA_LQSTATS 1538 WLFLAGS += -DWLMEDIA_CALDBG 1539 WLFLAGS += -DWLMEDIA_EXT 1540 WLFLAGS += -DWLMEDIA_TXFILTER_OVERRIDE 1541 WLFLAGS += -DWLMEDIA_TSF 1542 WLFLAGS += -DWLMEDIA_PEAKRATE 1543endif 1544#endif 1545 1546#ifdef WLPKTDLYSTAT 1547ifeq ($(WLPKTDLYSTAT),1) 1548 WLFLAGS += -DWLPKTDLYSTAT 1549endif 1550#endif 1551 1552#ifdef WLPKTDLYSTAT_IND 1553ifeq ($(WLPKTDLYSTAT_IND),1) 1554 WLFLAGS += -DWLPKTDLYSTAT_IND 1555endif 1556#endif 1557 1558## --- which buses 1559 1560# silicon backplane 1561 1562#ifdef BCMSIBUS 1563ifeq ($(BCMSIBUS),1) 1564 WLFLAGS += -DBCMBUSTYPE=SI_BUS 1565 BCMPCI = 0 1566endif 1567#endif 1568 1569ifeq ($(SOCI_SB),1) 1570 WLFLAGS += -DBCMCHIPTYPE=SOCI_SB 1571else 1572 ifeq ($(SOCI_AI),1) 1573 WLFLAGS += -DBCMCHIPTYPE=SOCI_AI 1574 endif 1575endif 1576 1577 1578 1579#ifndef LINUX_HYBRID 1580# AP/ROUTER with SDSTD 1581ifeq ($(WLAPSDSTD),1) 1582 WLFILES_SRC += src/shared/nvramstubs.c 1583 WLFILES_SRC += src/shared/bcmsrom.c 1584endif 1585#endif 1586 1587## --- basic shared files 1588 1589#ifdef BCMHIGHSDIO 1590ifeq ($(BCMHIGHSDIO),1) 1591 WLFLAGS += -DBCMHIGHSDIO 1592endif 1593#endif 1594 1595#ifdef BCMLOSDIO 1596ifeq ($(BCMLOSDIO),1) 1597 WLFLAGS += -DBCMLOSDIO 1598endif 1599#endif 1600 1601#ifdef BCMHIGHUSB 1602ifeq ($(BCMHIGHUSB),1) 1603 WLFLAGS += -DBCMHIGHUSB 1604endif 1605#endif 1606 1607#ifdef BCMLOUSB 1608ifeq ($(BCMLOUSB),1) 1609 WLFLAGS += -DBCMLOUSB 1610endif 1611#endif 1612 1613#ifdef HNDDMA 1614ifeq ($(HNDDMA),1) 1615 WLFILES_SRC_LO += src/shared/hnddma.c 1616endif 1617#endif 1618 1619#ifdef MSGTRACE 1620ifeq ($(MSGTRACE),1) 1621 WLFILES_SRC += src/shared/msgtrace.c 1622 WLFLAGS += -DMSGTRACE 1623endif 1624#endif 1625 1626#ifdef BCMUTILS 1627ifeq ($(BCMUTILS),1) 1628 WLFILES_SRC += src/shared/bcmutils.c 1629endif 1630#endif 1631 1632 1633#ifdef BCMSROM 1634ifeq ($(BCMSROM),1) 1635 ifeq ($(BCMSDIO),1) 1636 ifeq ($(WL_HIGH),1) 1637 WLFILES_SRC_HI += src/shared/bcmsrom.c 1638 WLFILES_SRC_HI += src/shared/bcmotp.c 1639 endif 1640 endif 1641 WLFILES_SRC_LO += src/shared/bcmsrom.c 1642 WLFILES_SRC_LO += src/shared/bcmotp.c 1643endif 1644#endif 1645 1646#ifdef BCMOTP 1647ifeq ($(BCMOTP),1) 1648 WLFILES_SRC_LO += src/shared/bcmotp.c 1649 WLFLAGS += -DBCMNVRAMR 1650endif 1651#endif 1652 1653#ifdef SIUTILS 1654ifeq ($(SIUTILS),1) 1655 WLFILES_SRC_LO += src/shared/siutils.c 1656 WLFILES_SRC_LO += src/shared/sbutils.c 1657 WLFILES_SRC_LO += src/shared/aiutils.c 1658 WLFILES_SRC_LO += src/shared/hndpmu.c 1659 ifneq ($(BCMPCI), 0) 1660 WLFILES_SRC_LO += src/shared/nicpci.c 1661 endif 1662endif 1663#endif /* SIUTILS */ 1664 1665#ifdef SBMIPS 1666ifeq ($(SBMIPS),1) 1667 WLFLAGS += -DBCMMIPS 1668 WLFILES_SRC_LO += src/shared/hndmips.c 1669 WLFILES_SRC_LO += src/shared/hndchipc.c 1670endif 1671#endif 1672 1673#ifdef SBPCI 1674ifeq ($(SBPCI),1) 1675 WLFILES_SRC_LO += src/shared/hndpci.c 1676endif 1677#endif 1678 1679#ifdef SFLASH 1680ifeq ($(SFLASH),1) 1681 WLFILES_SRC_LO += src/shared/sflash.c 1682endif 1683#endif 1684 1685#ifdef FLASHUTL 1686ifeq ($(FLASHUTL),1) 1687 WLFILES_SRC_LO += src/shared/flashutl.c 1688endif 1689#endif 1690 1691## --- shared OSL 1692#ifdef OSLLX 1693# linux osl 1694ifeq ($(OSLLX),1) 1695 WLFILES_SRC += src/shared/linux_osl.c 1696endif 1697#endif 1698 1699#ifdef OSLVX 1700# vx osl 1701ifeq ($(OSLVX),1) 1702 WLFILES_SRC += src/shared/vx_osl.c 1703 WLFILES_SRC += src/shared/bcmallocache.c 1704endif 1705#endif 1706 1707#ifdef OSLBSD 1708# bsd osl 1709ifeq ($(OSLBSD),1) 1710 WLFILES_SRC += src/shared/bsd_osl.c 1711 WLFILES_SRC += src/shared/nvramstubs.c 1712endif 1713#endif 1714 1715#ifdef OSLCFE 1716ifeq ($(OSLCFE),1) 1717 WLFILES_SRC += src/shared/cfe_osl.c 1718endif 1719#endif 1720 1721#ifdef OSLRTE 1722ifeq ($(OSLRTE),1) 1723 WLFILES_SRC += src/shared/hndrte_osl.c 1724endif 1725#endif 1726 1727#ifdef OSLNDIS 1728ifeq ($(OSLNDIS),1) 1729 WLFILES_SRC += src/shared/ndshared.c 1730 WLFILES_SRC += src/shared/ndis_osl.c 1731endif 1732#endif 1733 1734#ifndef LINUX_HYBRID 1735ifeq ($(CONFIG_USBRNDIS_RETAIL),1) 1736 WLFLAGS += -DCONFIG_USBRNDIS_RETAIL 1737 WLFILES_SRC += src/wl/sys/wl_ndconfig.c 1738 WLFILES_SRC += src/shared/bcmwifi/src/bcmwifi_channels.c 1739endif 1740 1741ifeq ($(NVRAM),1) 1742 WLFILES_SRC_LO += src/dongle/rte/test/nvram.c 1743 WLFILES_SRC_LO += src/dongle/rte/sim/nvram.c 1744 WLFILES_SRC_LO += src/shared/nvram.c 1745endif 1746 1747ifeq ($(NVRAMVX),1) 1748 WLFILES_SRC_LO += src/shared/nvram_rw.c 1749endif 1750#endif /* LINUX_HYBRID */ 1751 1752#ifdef BCMNVRAMR 1753ifeq ($(BCMNVRAMR),1) 1754 WLFILES_SRC_LO += src/shared/nvram_ro.c 1755 WLFILES_SRC_LO += src/shared/sflash.c 1756 WLFILES_SRC_LO += src/shared/bcmotp.c 1757 WLFLAGS += -DBCMNVRAMR 1758endif 1759#else /* !BCMNVRAMR */ 1760ifneq ($(BCMNVRAMR),1) 1761 ifeq ($(WLLXNOMIPSEL),1) 1762 ifneq ($(WLUMK),1) 1763 WLFILES_SRC += src/shared/nvramstubs.c 1764 endif 1765 else 1766 ifeq ($(WLNDIS),1) 1767 WLFILES_SRC += src/shared/nvramstubs.c 1768 else 1769 ifeq ($(BCMNVRAMW),1) 1770 WLFILES_SRC_LO += src/shared/nvram_ro.c 1771 WLFILES_SRC_LO += src/shared/sflash.c 1772 endif 1773 endif 1774 endif 1775 ifeq ($(BCMNVRAMW),1) 1776 WLFILES_SRC_LO += src/shared/bcmotp.c 1777 WLFLAGS += -DBCMNVRAMW 1778 endif 1779endif 1780#endif /* !BCMNVRAMR */ 1781 1782# Define one OTP mechanism, or none to support all dynamically 1783ifeq ($(BCMHNDOTP),1) 1784 WLFLAGS += -DBCMHNDOTP 1785endif 1786ifeq ($(BCMIPXOTP),1) 1787 WLFLAGS += -DBCMIPXOTP 1788endif 1789 1790 1791#ifdef WLDIAG 1792ifeq ($(WLDIAG),1) 1793 WLFLAGS += -DWLDIAG 1794 WLFILES_SRC_LO += src/wl/sys/wlc_diag.c 1795endif 1796#endif 1797 1798 1799#ifdef BCMQT 1800ifeq ($(BCMQT),1) 1801 # Set flag to indicate emulated chip 1802 WLFLAGS += -DBCMSLTGT -DBCMQT 1803 ifeq ($(WLRTE),1) 1804 # Use of RTE implies embedded (CPU emulated) 1805 WLFLAGS += -DBCMQT_CPU 1806 endif 1807endif 1808#endif 1809 1810#ifdef WLPFN 1811ifeq ($(WLPFN),1) 1812 ifeq ($(SCANOL),0) 1813 WLFLAGS += -DWLPFN 1814 WLFILES_SRC += src/wl/sys/wl_pfn.c 1815 ifeq ($(WLPFN_AUTO_CONNECT),1) 1816 WLFLAGS += -DWLPFN_AUTO_CONNECT 1817 endif 1818 endif 1819endif 1820#endif /* WLPFN */ 1821 1822#ifdef TOE 1823ifeq ($(TOE),1) 1824 WLFLAGS += -DTOE 1825 WLFILES_SRC += src/wl/sys/wl_toe.c 1826endif 1827#endif 1828 1829#ifdef ARPOE 1830ifeq ($(ARPOE),1) 1831 WLFLAGS += -DARPOE 1832 WLFILES_SRC += src/wl/sys/wl_arpoe.c 1833endif 1834#endif 1835 1836#ifdef MDNS 1837ifeq ($(MDNS),1) 1838 WLFLAGS += -DMDNS 1839 WLFILES_SRC += src/wl/sys/wl_mdns_main.c 1840 WLFILES_SRC += src/wl/sys/wl_mdns_common.c 1841endif 1842#endif 1843 1844#ifdef P2PO 1845ifeq ($(P2PO),1) 1846 WLFLAGS += -DP2PO 1847 WLFLAGS += -DWL_EVENTQ 1848 WLFLAGS += -DBCM_DECODE_NO_ANQP 1849 WLFLAGS += -DBCM_DECODE_NO_HOTSPOT_ANQP 1850 WLFILES_SRC += src/wl/sys/wl_p2po.c 1851 WLFILES_SRC += src/wl/sys/wl_p2po_disc.c 1852 WLFILES_SRC += src/wl/sys/wl_gas.c 1853 WLFILES_SRC += src/wl/sys/wl_tmr.c 1854 WLFILES_SRC += src/wl/sys/bcm_p2p_disc.c 1855 WLFILES_SRC += src/wl/sys/wl_eventq.c 1856 WLFILES_SRC += src/wl/gas/src/bcm_gas.c 1857 WLFILES_SRC += src/wl/encode/src/bcm_decode.c 1858 WLFILES_SRC += src/wl/encode/src/bcm_decode_gas.c 1859 WLFILES_SRC += src/wl/encode/src/bcm_decode_ie.c 1860 WLFILES_SRC += src/wl/encode/src/bcm_decode_anqp.c 1861 WLFILES_SRC += src/wl/encode/src/bcm_decode_hspot_anqp.c 1862 WLFILES_SRC += src/wl/encode/src/bcm_decode_p2p.c 1863 WLFILES_SRC += src/wl/encode/src/bcm_encode.c 1864 WLFILES_SRC += src/wl/encode/src/bcm_encode_gas.c 1865 WLFILES_SRC += src/wl/encode/src/bcm_encode_ie.c 1866 WLFILES_SRC += src/wl/encode/src/bcm_encode_anqp.c 1867 WLFILES_SRC += src/wl/encode/src/bcm_encode_hspot_anqp.c 1868 WLFILES_SRC += src/wl/encode/src/trace.c 1869endif 1870#endif 1871 1872#ifdef ANQPO 1873ifeq ($(ANQPO),1) 1874 WLFLAGS += -DANQPO 1875 WLFLAGS += -DWL_EVENTQ 1876 WLFLAGS += -DBCM_DECODE_NO_ANQP 1877 WLFLAGS += -DBCM_DECODE_NO_HOTSPOT_ANQP 1878 WLFILES_SRC += src/wl/sys/wl_anqpo.c 1879 WLFILES_SRC += src/wl/sys/wl_gas.c 1880 WLFILES_SRC += src/wl/sys/wl_tmr.c 1881 WLFILES_SRC += src/wl/sys/wl_eventq.c 1882 WLFILES_SRC += src/wl/gas/src/bcm_gas.c 1883 WLFILES_SRC += src/wl/encode/src/bcm_decode.c 1884 WLFILES_SRC += src/wl/encode/src/bcm_decode_gas.c 1885 WLFILES_SRC += src/wl/encode/src/bcm_decode_ie.c 1886 WLFILES_SRC += src/wl/encode/src/bcm_decode_p2p.c 1887 WLFILES_SRC += src/wl/encode/src/bcm_encode.c 1888 WLFILES_SRC += src/wl/encode/src/bcm_encode_gas.c 1889 WLFILES_SRC += src/wl/encode/src/bcm_encode_ie.c 1890endif 1891#endif 1892 1893#ifdef TCPKAOE 1894ifeq ($(TCPKAOE),1) 1895 WLFLAGS += -DTCPKAOE 1896 WLFILES_SRC += src/wl/sys/wl_tcpkeepol.c 1897endif 1898#endif 1899 1900#ifdef NWOE 1901ifeq ($(NWOE),1) 1902 WLFLAGS += -DNWOE 1903 WLFILES_SRC += src/wl/sys/wl_nwoe.c 1904 WLFILES_SRC += src/wl/lwip/src/core/def.c 1905 WLFILES_SRC += src/wl/lwip/src/core/dns.c 1906 WLFILES_SRC += src/wl/lwip/src/core/mem.c 1907 WLFILES_SRC += src/wl/lwip/src/core/netif.c 1908 WLFILES_SRC += src/wl/lwip/src/core/raw.c 1909 WLFILES_SRC += src/wl/lwip/src/core/stats.c 1910 WLFILES_SRC += src/wl/lwip/src/core/tcp.c 1911 WLFILES_SRC += src/wl/lwip/src/core/tcp_out.c 1912 WLFILES_SRC += src/wl/lwip/src/core/udp.c 1913 WLFILES_SRC += src/wl/lwip/src/core/dhcp.c 1914 WLFILES_SRC += src/wl/lwip/src/core/init.c 1915 WLFILES_SRC += src/wl/lwip/src/core/memp.c 1916 WLFILES_SRC += src/wl/lwip/src/core/pbuf.c 1917 WLFILES_SRC += src/wl/lwip/src/core/sys.c 1918 WLFILES_SRC += src/wl/lwip/src/core/tcp_in.c 1919 WLFILES_SRC += src/wl/lwip/src/core/timers.c 1920 WLFILES_SRC += src/wl/lwip/src/netif/etharp.c 1921 WLFILES_SRC += src/wl/lwip/src/core/ipv4/autoip.c 1922 WLFILES_SRC += src/wl/lwip/src/core/ipv4/icmp.c 1923 WLFILES_SRC += src/wl/lwip/src/core/ipv4/igmp.c 1924 WLFILES_SRC += src/wl/lwip/src/core/ipv4/inet.c 1925 WLFILES_SRC += src/wl/lwip/src/core/ipv4/inet_chksum.c 1926 WLFILES_SRC += src/wl/lwip/src/core/ipv4/ip_addr.c 1927 WLFILES_SRC += src/wl/lwip/src/core/ipv4/ip.c 1928 WLFILES_SRC += src/wl/lwip/src/core/ipv4/ip_frag.c 1929endif 1930#endif 1931 1932#ifdef WLNDOE 1933ifeq ($(WLNDOE),1) 1934 WLFLAGS += -DWLNDOE 1935 WLFILES_SRC += src/wl/sys/wl_ndoe.c 1936endif 1937#endif 1938 1939#ifdef PLC 1940ifeq ($(PLC),1) 1941 WLFLAGS += -DPLC 1942endif 1943#endif 1944 1945#ifdef PCOEM_LINUXSTA 1946ifeq ($(PCOEM_LINUXSTA),1) 1947 WLFLAGS += -DPCOEM_LINUXSTA 1948endif 1949#endif 1950 1951#ifdef LINUXSTA_PS 1952ifeq ($(LINUXSTA_PS),1) 1953 WLFLAGS += -DLINUXSTA_PS 1954endif 1955#endif 1956 1957#ifndef LINUX_HYBRID 1958#ifdef OPENSRC_IOV_IOCTL 1959ifeq ($(OPENSRC_IOV_IOCTL),1) 1960 WLFLAGS += -DOPENSRC_IOV_IOCTL 1961endif 1962#endif 1963 1964ifeq ($(PACKET_FILTER),1) 1965 WLFLAGS += -DPACKET_FILTER 1966 WLFILES_SRC += src/wl/sys/wlc_pkt_filter.c 1967endif 1968 1969ifeq ($(SEQ_CMDS),1) 1970 WLFLAGS += -DSEQ_CMDS 1971 WLFILES_SRC_HI += src/wl/sys/wlc_seq_cmds.c 1972endif 1973 1974ifeq ($(RECEIVE_THROTTLE),1) 1975 WLFLAGS += -DWL_PM2_RCV_DUR_LIMIT 1976endif 1977 1978ifeq ($(ASYNC_TSTAMPED_LOGS),1) 1979 WLFLAGS += -DBCMTSTAMPEDLOGS 1980endif 1981 1982ifeq ($(WL11K_AP),1) 1983 WLFLAGS += -DWL11K_AP 1984 WL11K = 1 1985endif 1986ifeq ($(WL11K),1) 1987 WLFLAGS += -DWL11K 1988 WLFILES_SRC += src/wl/sys/wlc_rrm.c 1989endif 1990 1991ifeq ($(WLWNM_AP),1) 1992 WLWNM := 1 1993 WLFLAGS += -DWLWNM_AP 1994endif 1995 1996ifeq ($(WLWNM),1) 1997 WLFLAGS += -DWLWNM 1998 ifeq ($(STA),1) 1999 ifneq ($(WLWNM_AP),1) 2000 KEEP_ALIVE = 1 2001 endif 2002 endif 2003 WLFILES_SRC += src/wl/sys/wlc_wnm.c 2004endif 2005 2006ifeq ($(KEEP_ALIVE),1) 2007 WLFLAGS += -DKEEP_ALIVE 2008 WLFILES_SRC += src/wl/sys/wl_keep_alive.c 2009endif 2010#endif ##LINUX_HYBRID 2011 2012# Sort and remove duplicates from WLFILES* 2013ifeq ($(WL_LOW),1) 2014 WLFILES_SRC += $(sort $(WLFILES_SRC_LO)) 2015endif 2016ifeq ($(WL_HIGH),1) 2017 WLFILES_SRC += $(sort $(WLFILES_SRC_HI)) 2018endif 2019 2020# wl patch code 2021ifneq ($(WLPATCHFILE), ) 2022 WLFLAGS += -DWLC_PATCH 2023 WLC_PATCH_IOCTL ?= 1 2024 ifeq ($(WLC_PATCH_IOCTL),1) 2025 WLFLAGS += -DWLC_PATCH_IOCTL 2026 endif 2027 WLFILES_SRC += $(WLPATCHFILE) 2028endif 2029 2030ifeq ($(SAMPLE_COLLECT),1) 2031 WLFLAGS += -DSAMPLE_COLLECT 2032endif 2033 2034ifeq ($(SMF_STATS),1) 2035 WLFLAGS += -DSMF_STATS 2036endif 2037 2038#ifdef PHYMON 2039ifeq ($(PHYMON),1) 2040 WLFLAGS += -DPHYMON 2041endif 2042#endif 2043 2044ifeq ($(BCM_EXTERNAL_MODULE),1) 2045 WLFLAGS += -DLINUX_EXTERNAL_MODULE_DBUS 2046endif 2047 2048#ifdef BCM_DCS 2049ifeq ($(BCM_DCS),1) 2050 WLFLAGS += -DBCM_DCS 2051endif 2052#endif 2053 2054ifeq ($(WLMCHAN), 1) 2055 ifeq ($(WL_SPLIT), 1) 2056 WL_THREAD = 1 2057 USBOS_THREAD = 1 2058 endif 2059endif 2060 2061ifeq ($(WL_THREAD),1) 2062 WLFLAGS += -DWL_THREAD 2063endif 2064 2065ifneq ($(WL_THREADNICE),) 2066 WLFLAGS += -DWL_THREADNICE=$(WL_THREADNICE) 2067endif 2068 2069ifeq ($(USBOS_THREAD),1) 2070 WLFLAGS += -DUSBOS_THREAD 2071endif 2072ifeq ($(WL_NVRAM_FILE),1) 2073 WLFLAGS += -DWL_NVRAM_FILE 2074endif 2075 2076ifeq ($(WL_FW_DECOMP),1) 2077 WLFLAGS += -DWL_FW_DECOMP 2078 WLFILES_SRC_HI += src/shared/zlib/adler32.c 2079 WLFILES_SRC_HI += src/shared/zlib/inffast.c 2080 WLFILES_SRC_HI += src/shared/zlib/inflate.c 2081 WLFILES_SRC_HI += src/shared/zlib/infcodes.c 2082 WLFILES_SRC_HI += src/shared/zlib/infblock.c 2083 WLFILES_SRC_HI += src/shared/zlib/inftrees.c 2084 WLFILES_SRC_HI += src/shared/zlib/infutil.c 2085 WLFILES_SRC_HI += src/shared/zlib/zutil.c 2086 WLFILES_SRC_HI += src/shared/zlib/crc32.c 2087endif 2088 2089ifeq ($(WL_WOWL_MEDIA),1) 2090 WLFLAGS += -DWL_WOWL_MEDIA 2091endif 2092 2093ifeq ($(WL_USB_ZLP_PAD),1) 2094 WLFLAGS += -DWL_USB_ZLP_PAD 2095endif 2096 2097ifeq ($(WL_URB_ZPKT),1) 2098 WLFLAGS += -DWL_URB_ZPKT 2099endif 2100 2101ifeq ($(WL_LTR),1) 2102 WLFLAGS += -DWL_LTR 2103endif 2104 2105ifeq ($(WL_PRE_AC_DELAY_NOISE_INT),1) 2106 WLFLAGS += -DWL_PRE_AC_DELAY_NOISE_INT 2107endif 2108 2109ifeq ($(SAVERESTORE),1) 2110 WLFLAGS += -DSAVERESTORE 2111 SR_ESSENTIALS := 1 2112endif 2113 2114# minimal functionality required to operate SR engine. Examples: sr binary download, sr enable. 2115ifeq ($(SR_ESSENTIALS),1) 2116 WLFLAGS += -DSR_ESSENTIALS 2117 WLFILES_SRC_LO += src/shared/sr_array.c 2118 WLFILES_SRC_LO += src/shared/saverestore.c 2119endif 2120 2121#ifdef PMU_OPT 2122ifeq ($(PMU_OPT),1) 2123 WLFLAGS += -DPMU_OPT 2124endif 2125#endif 2126 2127#ifdef PMU_OPT_REV6 2128ifeq ($(PMU_OPT_REV6),1) 2129 WLFLAGS += -DPMU_OPT_REV6 2130endif 2131#endif 2132 2133#ifdef BCM_REQUEST_FW 2134ifeq ($(BCM_REQUEST_FW), 1) 2135 WLFLAGS += -DBCM_REQUEST_FW 2136endif 2137#endif 2138 2139# HW CSO support (D11 rev40 feature) 2140ifeq ($(WLCSO),1) 2141 WLFLAGS += -DWLCSO 2142endif 2143 2144# add a flag to indicate the split to linux kernels 2145WLFLAGS += -DPHY_HAL 2146 2147# compile only 1x1 ACPHY related code 2148ifeq ($(ACPHY_1X1_ONLY),1) 2149WLFLAGS += -DACPHY_1X1_ONLY 2150endif 2151 2152#ifdef WET_TUNNEL 2153ifeq ($(WET_TUNNEL),1) 2154 WLFLAGS += -DWET_TUNNEL 2155 WLFILES_SRC_HI += src/wl/sys/wlc_wet_tunnel.c 2156endif 2157#endif 2158 2159#ifdef WL_BCN_COALESCING 2160ifeq ($(WL_BCN_COALESCING),1) 2161 WLFLAGS += -DWL_BCN_COALESCING 2162 WLFILES_SRC += src/wl/sys/wlc_bcn_clsg.c 2163endif 2164#endif 2165 2166#ifdef TINY_PKTJOIN 2167ifeq ($(TINY_PKTJOIN),1) 2168 WLFLAGS += -DTINY_PKTJOIN 2169endif 2170#endif 2171 2172#ifdef WL_RXEARLYRC 2173ifeq ($(WL_RXEARLYRC),1) 2174 WLFLAGS += -DWL_RXEARLYRC 2175endif 2176#endif 2177 2178#ifdef WLMCHAN 2179#ifdef PROP_TXSTATUS 2180ifeq ($(WLMCHAN),1) 2181ifeq ($(PROP_TXSTATUS),1) 2182 WLFLAGS += -DWLTXPWR_CACHE 2183 ifeq ($(WL_SPLIT),0) 2184 WLFLAGS += -DWLMCHANPRECLOSE 2185 WLFLAGS += -DBBPLL_PARR 2186 endif 2187endif 2188endif 2189#endif ## PROP_TXSTATUS 2190#endif ## WLMCHAN 2191 2192#ifdef WLRXOV 2193ifeq ($(WLRXOV),1) 2194 WLFLAGS += -DWLRXOV 2195endif 2196#endif 2197 2198ifeq ($(PKTC_DONGLE),1) 2199 WLFLAGS += -DPKTC_DONGLE 2200endif 2201 2202# Legacy WLFILES pathless definition, please use new src relative path 2203# in make files. 2204WLFILES := $(sort $(notdir $(WLFILES_SRC))) 2205 2206ifeq ($(AMPDU_HOSTREORDER), 1) 2207 WLFLAGS += -DBRCMAPIVTW=128 -DWLAMPDU_HOSTREORDER 2208endif 2209 2210# Work-arounds for ROM compatibility - relocate struct fields that were excluded in ROMs, 2211# but are required in ROM offload builds. 2212ifeq ($(WLC_PUB_OLDROM_BEAMFORMING_FIELDS),1) 2213 EXTRA_DFLAGS += -DWLC_PUB_OLDROM_BEAMFORMING_FIELDS 2214endif 2215 2216ifeq ($(WLC_STF_OLDROM_BEAMFORMING_FIELDS),1) 2217 EXTRA_DFLAGS += -DWLC_STF_OLDROM_BEAMFORMING_FIELDS 2218endif 2219 2220 2221# used by the 4335c0 ROM. It avoids ROM abandons for every function that invokes this macro due to 2222# additional devices added post tape-out. 2223ifeq ($(IS_SINGLEBAND_5G_4335C0_ROM_COMPAT),1) 2224 EXTRA_DFLAGS += -DIS_SINGLEBAND_5G_4335C0_ROM_COMPAT 2225endif 2226 2227ifeq ($(WL_EVDATA_BSSINFO),1) 2228 EXTRA_DFLAGS += -DWL_EVDATA_BSSINFO 2229endif 2230 2231# Work-arounds for ROM compatibility to handle ROM that exclude MFP support. 2232ifeq ($(WLC_MFP_ROM_COMPAT),1) 2233 EXTRA_DFLAGS += -DWLC_MFP_ROM_COMPAT 2234endif 2235