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