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) 2010, 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,v 1.369.2.53 2011-01-26 19:40:43 Exp $ 18 19 20#ifdef WL_PPR_SUBBAND 21ifeq ($(WL_PPR_SUBBAND),1) 22 WLFLAGS += -DWL_PPR_SUBBAND 23endif 24#endif 25 26 27# debug/internal 28ifeq ($(DEBUG),1) 29 WLFLAGS += -DBCMDBG -DWLTEST -DWLTIMER -DWIFI_ACT_FRAME 30#ifndef LINUX_HYBRID 31 WLFLAGS += -DRWL_WIFI -DWLRWL 32 WLRWL = 1 33#endif 34else 35#ifdef WLTEST 36 # mfgtest builds 37 ifeq ($(WLTEST),1) 38 WLFLAGS += -DWLTEST 39 endif 40#endif 41endif 42 43#ifdef WLMFG 44# wl mfg support 45ifeq ($(WLMFG),1) 46 WLFLAGS += -DWLMFG -DWLTEST 47 WLFILES_SRC_HI += src/wl/sys/wlc_mfg.c 48endif 49#endif 50 51 52#ifdef BCMDBG_MEM 53ifeq ($(BCMDBG_MEM),1) 54 WLFLAGS += -DBCMDBG_MEM 55endif 56#endif 57 58#ifdef BCMDBG_PKT 59ifeq ($(BCMDBG_PKT),1) 60 WLFLAGS += -DBCMDBG_PKT 61endif 62#endif 63 64#ifdef BCMDBG_TRAP 65# CPU debug traps (lomem access, divide by 0, etc) are enabled except when mogrified out for 66# external releases. 67WLFLAGS += -DBCMDBG_TRAP 68#endif 69 70#ifdef WLLMAC 71ifeq ($(WLLMAC),1) 72 WLFLAGS += -DWLLMAC -DEXTENDED_SCAN 73endif 74#endif 75 76 77## wl driver common 78 79ifndef WL_LOW 80WL_LOW = 1 81endif 82 83ifndef WL_HIGH 84WL_HIGH = 1 85endif 86 87## iff one of WLC_LOW and WLC_HIGH is defined, SPLIT is true 88WL_SPLIT = 0 89ifeq ($(WL_LOW),1) 90 ifneq ($(WL_HIGH),1) 91 WL_SPLIT = 1 92 endif 93endif 94 95ifeq ($(WL_HIGH),1) 96 ifneq ($(WL_LOW),1) 97 WL_SPLIT = 1 98 ifeq ($(RPC_NOCOPY),1) 99 WLFLAGS += -DBCM_RPC_NOCOPY 100 endif 101 ifeq ($(RPC_RXNOCOPY),1) 102 WLFLAGS += -DBCM_RPC_RXNOCOPY 103 endif 104 ifeq ($(RPC_TXNOCOPY),1) 105 WLFLAGS += -DBCM_RPC_TXNOCOPY 106 endif 107 ifeq ($(RPC_TOC),1) 108 WLFLAGS += -DBCM_RPC_TOC 109 endif 110 ifeq ($(RPC_ROC),1) 111 WLFLAGS += -DBCM_RPC_ROC 112 endif 113 ifeq ($(BMAC_ENABLE_LINUX_HOST_RPCAGG),1) 114 WLFLAGS += -DBMAC_ENABLE_LINUX_HOST_RPCAGG 115 endif 116 ifeq ($(DBUS_LINUX_RXDPC),1) 117 WLFLAGS += -DDBUS_LINUX_RXDPC 118 endif 119 ifneq ($(BCM_RPC_TP_DBUS_NTXQ),) 120 WLFLAGS += -DBCM_RPC_TP_DBUS_NTXQ=$(BCM_RPC_TP_DBUS_NTXQ) 121 endif 122 ifneq ($(BCM_RPC_TP_DBUS_NRXQ),) 123 WLFLAGS += -DBCM_RPC_TP_DBUS_NRXQ=$(BCM_RPC_TP_DBUS_NRXQ) 124 endif 125 ifeq ($(BCMUSBDEV_EP_FOR_RPCRETURN),1) 126 WLFLAGS += -DBCMUSBDEV_EP_FOR_RPCRETURN 127 endif 128 endif 129endif 130 131ifeq ($(WL_LOW),1) 132 WLFLAGS += -DWLC_LOW 133endif 134 135ifeq ($(WL_HIGH),1) 136 WLFLAGS += -DWLC_HIGH 137endif 138 139ifeq ($(GTK_RESET),1) 140 WLFLAGS += -DGTK_RESET 141endif 142 143ifeq ($(USBAP),1) 144 WLFLAGS += -DUSBAP 145 WLFLAGS += -DEHCI_FASTPATH_TX -DEHCI_FASTPATH_RX 146endif 147 148# split driver infrastructure files 149ifeq ($(WL_SPLIT),1) 150 WLFILES_SRC += src/shared/bcm_xdr.c 151 WLFILES_SRC += src/shared/bcm_rpc.c 152 ifneq ($(USBAP),1) 153 WLFILES_SRC_HI += src/shared/nvramstubs.c 154 endif 155 ifeq ($(OSLLX),1) 156 WLFILES_SRC_HI += src/shared/linux_rpc_osl.c 157 endif 158 159 ifeq ($(OSLNDIS),1) 160 WLFILES_SRC_HI += src/shared/ndis_rpc_osl.c 161 endif 162 163 ifeq ($(BCMDBUS),1) 164 WLFILES_SRC_HI += src/shared/bcm_rpc_tp_dbus.c 165 endif 166 167 WLFILES_SRC_HI += src/wl/sys/wlc_bmac_stubs.c 168 WLFILES_SRC_HI += src/wl/sys/wlc_rpctx.c 169 WLFILES_SRC_LO += src/wl/sys/wlc_high_stubs.c 170 171 ifeq ($(WL_HIGH),1) 172 # for SDIO BMAC, OSLREGOPS can not be a global define, dbus need direct register access 173 # OSLREGOPS is defined in wlc_cfg.h 174 ifeq ($(BCMSDIO),1) 175 ifneq ($(WLVISTA)$(WLWIN7),) 176 WLFILES_SRC_HI += src/shared/sdh_ndis.c 177 endif 178 else 179 WLFLAGS += -DBCMBUSTYPE=RPC_BUS 180 WLFLAGS += -DOSLREGOPS 181 endif 182 endif 183endif 184 185#ifdef WL 186ifeq ($(WL),1) 187 WLFILES_SRC += src/shared/bcmwifi.c 188 WLFILES_SRC += src/shared/bcmevent.c 189 WLFILES_SRC += src/wl/sys/wlc_alloc.c 190 191 WLFILES_SRC_LO += src/shared/qmath.c 192 WLFILES_SRC_LO += src/wl/sys/d11ucode_le15.c 193 WLFILES_SRC_LO += src/wl/sys/d11ucode_gt15.c 194 WLFILES_SRC_LO += src/wl/sys/d11ucode_ge24.c 195 WLFILES_SRC_LO += src/wl/phy/wlc_phy_cmn.c 196 WLFILES_SRC_LO += src/wl/phy/wlc_phy_ssn.c 197 WLFILES_SRC_LO += src/wl/phy/wlc_phy_n.c 198 WLFILES_SRC_LO += src/wl/phy/wlc_phytbl_n.c 199 WLFILES_SRC_LO += src/wl/phy/wlc_phytbl_ssn.c 200 WLFILES_SRC_LO += src/wl/sys/wlc_phy_shim.c 201 WLFILES_SRC_LO += src/wl/sys/wlc_bmac.c 202 203 ifneq ($(MINIAP),1) 204 WLFILES_SRC_LO += src/wl/phy/wlc_phy_ht.c 205 WLFILES_SRC_LO += src/wl/phy/wlc_phytbl_ht.c 206 WLFILES_SRC_LO += src/wl/phy/wlc_phy_lcn40.c 207 WLFILES_SRC_LO += src/wl/phy/wlc_phytbl_lcn40.c 208 WLFILES_SRC_LO += src/wl/phy/wlc_phy_lcn.c 209 WLFILES_SRC_LO += src/wl/phy/wlc_phytbl_lcn.c 210 WLFILES_SRC_LO += src/wl/phy/wlc_phy_lp.c 211 WLFILES_SRC_LO += src/wl/phy/wlc_phytbl_lp.c 212 WLFILES_SRC_LO += src/wl/phy/wlc_phy_abg.c 213 endif 214 215 WLFILES_SRC_HI += src/wl/sys/wlc.c 216 WLFILES_SRC_HI += src/wl/sys/wlc_assoc.c 217 WLFILES_SRC_HI += src/wl/sys/wlc_rate.c 218 WLFILES_SRC_HI += src/wl/sys/wlc_stf.c 219 ifneq ($(WLWSEC),0) 220 WLFLAGS += -DWLWSEC 221 WLFILES_SRC_HI += src/wl/sys/wlc_security.c 222 WLFILES_SRC_HI += src/wl/sys/wlc_key.c 223 endif 224 WLFILES_SRC_HI += src/wl/sys/wlc_scb.c 225 WLFILES_SRC_HI += src/wl/sys/wlc_rate_sel.c 226 WLFILES_SRC_HI += src/wl/sys/wlc_antsel.c 227 WLFILES_SRC_HI += src/wl/sys/wlc_bsscfg.c 228 WLFILES_SRC_HI += src/wl/sys/wlc_scan.c 229 WLFILES_SRC_HI += src/wl/phy/wlc_phy_iovar.c 230 WLFILES_SRC_HI += src/wl/sys/wlc_rm.c 231 # tpc module is shared by 11h tpc and wl tx power control */ 232 WLTPC := 1 233 ifeq ($(WLTPC),1) 234 WLFLAGS += -DWLTPC 235 endif 236 ifeq ($(WLLMAC),1) 237 WLFILES_SRC += src/wl/sys/wlc_lmac.c 238 ifeq ($(STA), 1) 239 WLFILES_SRC += src/wl/sys/wlc_lmac_sta.c 240 endif 241 ifeq ($(WLLMACPROTO),1) 242 WLFLAGS += -DWLLMACPROTO 243 WLFILES_SRC += src/wl/sys/wlc_lmac_proto.c 244 endif 245 ifeq ($(WLLMAC_ONLY),1) 246 WLFLAGS += -DWLLMAC_ONLY 247 WLFLAGS += -DWLNOEIND 248 WLFILES_SRC_HI += src/wl/sys/wlc_channel_dummy.c 249 else 250 WLFILES_SRC_HI += src/wl/sys/wlc_event.c 251 WLFILES_SRC_HI += src/wl/sys/wlc_channel.c 252 endif 253 else 254 WLFILES_SRC_HI += src/wl/sys/wlc_event.c 255 ifeq ($(WLCHANNEL_DUMMY),1) 256 WLFILES_SRC_HI += src/wl/sys/wlc_channel_dummy.c 257 else 258 WLFILES_SRC_HI += src/wl/sys/wlc_channel.c 259 endif 260 endif 261 WLFILES_SRC_HI += src/shared/bcmwpa.c 262#ifndef LINUX_CRYPTO 263 ifneq ($(LINUX_CRYPTO),1) 264 WLFILES_SRC_HI += src/bcmcrypto/rc4.c 265 WLFILES_SRC_HI += src/bcmcrypto/tkhash.c 266 WLFILES_SRC_HI += src/bcmcrypto/tkmic.c 267 WLFILES_SRC_HI += src/bcmcrypto/wep.c 268 endif 269#endif /* LINUX_CRYPTO */ 270#ifdef WLEXTLOG 271ifeq ($(WLEXTLOG),1) 272 WLFLAGS += -DWLEXTLOG 273 WLFILES_SRC += src/wl/sys/wlc_extlog.c 274endif 275#endif 276#ifdef WLSCANCACHE 277ifeq ($(WLSCANCACHE),1) 278 WLFLAGS += -DWLSCANCACHE 279 WLFILES_SRC += src/wl/sys/wlc_scandb.c 280endif 281#endif 282 283endif 284#endif /* WL */ 285 286#ifdef BCMDBUS 287ifeq ($(BCMDBUS),1) 288 WLFLAGS += -DBCMDBUS 289 WLFILES_SRC += src/shared/dbus.c 290 291 ifeq ($(BCMSDIO),1) 292 ifeq ($(WL_HIGH),1) 293 WLFILES_SRC_HI += src/shared/siutils.c 294 WLFILES_SRC_HI += src/shared/bcmotp.c 295 WLFILES_SRC_HI += src/shared/sbutils.c 296 WLFILES_SRC_HI += src/shared/aiutils.c 297 WLFILES_SRC_HI += src/shared/hndpmu.c 298 endif 299 endif 300 301 ifeq ($(WLLX),1) 302 ifeq ($(BCMSDIO),1) 303 WLFILES_SRC += src/shared/dbus_sdh.c 304 WLFILES_SRC += src/shared/dbus_sdio_linux.c 305 else 306 WLFILES_SRC += src/shared/dbus_usb.c 307 WLFILES_SRC += src/shared/dbus_usb_linux.c 308 endif 309 else 310 ifeq ($(WLNDIS),1) 311 ifeq ($(BCMSDIO),1) 312 ifneq ($(WLVISTA)$(WLWIN7),) 313 WLFILES_SRC += src/shared/dbus_sdio.c 314 WLFILES_SRC += src/shared/dbus_sdio_ndis.c 315 else 316 WLFILES_SRC += src/shared/dbus_sdh.c 317 WLFILES_SRC += src/shared/dbus_sdh_ndis.c 318 endif 319 else 320 WLFILES_SRC += src/shared/dbus_usb.c 321 WLFILES_SRC += src/shared/dbus_usb_ndis.c 322 endif 323 endif 324 endif 325endif 326#endif 327 328#ifndef LINUX_HYBRID 329ifeq ($(BCM_DNGL_EMBEDIMAGE),1) 330 WLFLAGS += -DBCM_DNGL_EMBEDIMAGE 331endif 332#endif 333 334# For USBAP to select which images to embed 335ifeq ($(EMBED_IMAGE_4319usb),1) 336 WLFLAGS += -DEMBED_IMAGE_4319usb 337endif 338ifeq ($(EMBED_IMAGE_4319sd),1) 339 WLFLAGS += -DEMBED_IMAGE_4319sd 340endif 341ifeq ($(EMBED_IMAGE_4322),1) 342 WLFLAGS += -DEMBED_IMAGE_4322 343endif 344 345ifeq ($(EMBED_IMAGE_43236b1),1) 346 WLFLAGS += -DEMBED_IMAGE_43236b1 347endif 348ifeq ($(EMBED_IMAGE_43237a0),1) 349 WLFLAGS += -DEMBED_IMAGE_43237a0 350endif 351 352ifeq ($(WL_DNGL_WD),1) 353 WLFLAGS += -DWL_DNGL_WD 354ifneq ($(WL_DNGL_WD_DEFAULT_TIMEOUT),) 355 WLFLAGS += -DWL_DNGL_WD_DEFAULT_TIMEOUT=$(WL_DNGL_WD_DEFAULT_TIMEOUT) 356endif 357endif 358 359## wl OSL 360#ifdef WLVX 361ifeq ($(WLVX),1) 362 WLFILES_SRC += src/wl/sys/wl_vx.c 363 WLFILES_SRC += src/shared/bcmstdlib.c 364 WLFLAGS += -DSEC_TXC_ENABLED 365endif 366#endif 367 368#ifdef WLBSD 369ifeq ($(WLBSD),1) 370 WLFILES_SRC += src/wl/sys/wl_bsd.c 371endif 372#endif 373 374#ifdef WLUM 375ifeq ($(WLUM),1) 376 WLFILES_SRC += src/wl/sys/wl_usermode.c 377 WLFLAGS += -DUSER_MODE 378endif 379#endif 380 381#ifdef WLLX 382ifeq ($(WLLX),1) 383 ifneq ($(WL_HIGH),1) 384 WLFILES_SRC_LO += src/wl/sys/wl_linux_bmac.c 385 WLFILES_SRC_LO += src/shared/bcm_rpc_char.c 386 endif 387 388 WLFILES_SRC_HI += src/wl/sys/wl_linux.c 389#ifdef WLUMK 390 ifeq ($(WLUMK),1) 391 WLFILES_SRC_HI += src/wl/sys/wl_cdev.c 392 WLFLAGS += -DWL_UMK 393 endif 394#endif 395endif 396#endif 397 398#ifdef WLLXIW 399ifeq ($(WLLXIW),1) 400 WLFILES_SRC_HI += src/wl/sys/wl_iw.c 401 WLFLAGS += -DWLLXIW 402endif 403#endif 404 405#ifdef WLCFE 406ifeq ($(WLCFE),1) 407 WLFILES_SRC += src/wl/sys/wl_cfe.c 408endif 409#endif 410 411#ifdef WLRTE 412ifeq ($(WLRTE),1) 413 WLFILES_SRC += src/wl/sys/wl_rte.c 414 ifneq ($(WL_HIGH),1) 415 WLFILES_SRC_LO += src/shared/bcm_rpc_tp_rte.c 416 endif 417endif 418#endif 419 420ifeq ($(BCMECICOEX),1) 421 WLFLAGS += -DBCMECICOEX 422endif 423 424ifeq ($(CCA_STATS),1) 425 WLFLAGS += -DCCA_STATS 426 ifeq ($(ISID_STATS),1) 427 WLFLAGS += -DISID_STATS 428 endif 429endif 430 431ifeq ($(DNGL_WD_KEEP_ALIVE),1) 432 WLFLAGS += -DDNGL_WD_KEEP_ALIVE 433endif 434 435 436#ifdef NDIS 437# anything Windows/NDIS specific for 2k/xp/vista/windows7 438ifeq ($(WLNDIS),1) 439 WLFILES_SRC += src/wl/sys/wl_ndis.c 440 441 ifeq ($(WLNDIS_DHD),) 442 WLFILES_SRC += src/wl/sys/nhd_ndis.c 443 ifeq ($(WL_SPLIT),1) 444 ifdef USEDDK 445 WLFLAGS += -DMEMORY_TAG="'7034'" 446 else 447 WLFLAGS += -DMEMORY_TAG='DWMB' 448 endif 449 else 450 ifdef USEDDK 451 WLFLAGS += -DMEMORY_TAG="'7034'" 452 else 453 WLFLAGS += -DMEMORY_TAG='NWMB' 454 endif 455 endif 456 else 457 WLFILES_SRC += src/dhd/sys/dhd_ndis.c 458 ifdef USEDDK 459 WLFLAGS += -DMEMORY_TAG="'7034'" 460 else 461 WLFLAGS += -DMEMORY_TAG='DWMB' 462 endif 463 endif 464 465 WLFILES_SRC += src/wl/sys/wl_ndconfig.c 466 WLFILES_SRC += src/shared/bcmwifi.c 467 WLFILES_SRC += src/shared/bcmstdlib.c 468 469 # support host supplied nvram variables 470 ifeq ($(WLTEST),1) 471 ifeq ($(WLHOSTVARS), 1) 472 WLFLAGS += -DBCMHOSTVARS 473 endif 474 else 475 ifeq ($(BCMEXTNVM),1) 476 ifeq ($(WLHOSTVARS), 1) 477 WLFLAGS += -DBCMHOSTVARS 478 endif 479 endif 480 endif 481 482 ifneq ($(WLVISTA)$(WLWIN7),) 483 WLFLAGS += -DEXT_STA 484 WLFLAGS += -DWL_MONITOR 485 WLFLAGS += -DIBSS_PEER_GROUP_KEY 486 WLFLAGS += -DIBSS_PEER_DISCOVERY_EVENT 487 WLFLAGS += -DIBSS_PEER_MGMT 488 endif 489 490 ifeq ($(WLWIN7),1) 491 WLFLAGS += -DAP 492 endif 493 494 ifeq ($(WLXP),1) 495 WLFLAGS += -DWLNOEIND 496 endif 497 498 ifeq ($(WLVIF),1) 499 WLFLAGS += -DWLVIF 500 endif 501 502 # HIGH driver for BMAC ?? any ndis/xp/vista ? 503 ifeq ($(WL_SPLIT),1) 504 endif 505 506 # DHD host: ?? to clean up and to support all other DHD OSes 507 ifeq ($(WLNDIS_DHD),1) 508 WLFLAGS += -DSHOW_EVENTS -DBCMPERFSTATS 509 WLFLAGS += -DBDC -DBCMDONGLEHOST 510 WLFLAGS += -DBCM4325 511 512 ifneq ($(BCMSDIO),1) 513 WLFLAGS += -DBCMDHDUSB 514 WLFLAGS += -DBCM4328 -DBCM4322 515 endif 516 517 WLFILES_SRC += src/shared/bcmevent.c 518 WLFILES_SRC += src/dhd/sys/dhd_cdc.c 519 WLFILES_SRC += src/dhd/sys/dhd_common.c 520 521 BCMPCI = 0 522 523 ifneq ($(BCMDBUS),1) 524 WLFILES_SRC += src/dhd/sys/dhd_usb_ndis.c 525 endif 526 527 ifneq ($(WLVISTA)$(WLWIN7),) 528 WLFILES_SRC += src/wl/sys/wlc_rate.c 529 endif 530 531 ifeq ($(WLWIN7),1) 532 WLFILES_SRC += src/wl/sys/wlc_ap.c 533 WLFILES_SRC += src/wl/sys/wlc_apps.c 534 endif 535 536 ifeq ($(WLXP),1) 537 WLFLAGS += -DNDIS_DMAWAR 538 # move these non-wl flag to makefiles 539 WLFLAGS += -DBINARY_COMPATIBLE -DWIN32_LEAN_AND_MEAN=1 540 endif 541 542#ifdef WLBTAMP 543 ifeq ($(WLBTAMP),1) 544 WLFLAGS += -DWLBTAMP 545 WLFILES_SRC += src/dhd/sys/dhd_bta.c 546#ifdef WLBTWUSB 547 ifeq ($(WLBTWUSB),1) 548 WLFLAGS += -DWLBTWUSB 549 WLFILES_SRC += src/wl/sys/bt_int.c 550 endif 551#endif /* WLBTWUSB */ 552 endif 553#endif /* WLBTAMP */ 554 endif 555endif 556#endif 557 558ifeq ($(ADV_PS_POLL),1) 559 WLFLAGS += -DADV_PS_POLL 560endif 561 562#ifdef DHDOID 563ifeq ($(DHDOID),1) 564 WLFLAGS += -DWLC_HOSTOID 565 WLFILES_SRC += src/wl/sys/wlc_hostoid.c 566endif 567#endif 568 569 570#ifdef BINOSL 571ifeq ($(BINOSL),1) 572 WLFLAGS += -DBINOSL 573endif 574#endif 575 576## wl features 577# NCONF -- 0 is remove from code, else bit mask of supported nphy revs 578ifneq ($(NCONF),) 579 WLFLAGS += -DNCONF=$(NCONF) 580endif 581 582# HTCONF -- 0 is remove from code, else bit mask of supported htphy revs 583ifneq ($(HTCONF),) 584 WLFLAGS += -DHTCONF=$(HTCONF) 585endif 586 587# ACONF -- 0 is remove from code, else bit mask of supported aphy revs 588ifneq ($(ACONF),) 589 WLFLAGS += -DACONF=$(ACONF) 590endif 591 592# GCONF -- 0 is remove from code, else bit mask of supported gphy revs 593ifneq ($(GCONF),) 594 WLFLAGS += -DGCONF=$(GCONF) 595endif 596 597# LPCONF -- 0 is remove from code, else bit mask of supported lpphy revs 598ifneq ($(LPCONF),) 599 WLFLAGS += -DLPCONF=$(LPCONF) 600endif 601 602# SSLPNCONF -- 0 is remove from code, else bit mask of supported sslpnphy revs 603ifneq ($(SSLPNCONF),) 604 WLFLAGS += -DSSLPNCONF=$(SSLPNCONF) 605endif 606 607# LCNCONF -- 0 is remove from code, else bit mask of supported lcnphy revs 608ifneq ($(LCNCONF),) 609 WLFLAGS += -DLCNCONF=$(LCNCONF) 610endif 611 612#ifdef AP 613# ap 614ifeq ($(AP),1) 615 WLFILES_SRC_HI += src/wl/sys/wlc_ap.c 616 WLFILES_SRC_HI += src/wl/sys/wlc_apps.c 617 WLFLAGS += -DAP 618 619 ifeq ($(MBSS),1) 620 WLFLAGS += -DMBSS 621 endif 622 623 ifeq ($(WDS),1) 624 WLFLAGS += -DWDS 625 endif 626 627 # Channel Select 628 ifeq ($(APCS),1) 629 WLFILES_SRC_HI += wlc_apcs.c 630 WLFLAGS += -DAPCS 631 endif 632 633 # WME_PER_AC_TX_PARAMS 634 ifeq ($(WME_PER_AC_TX_PARAMS),1) 635 WLFLAGS += -DWME_PER_AC_TX_PARAMS 636 endif 637 638 # WME_PER_AC_TUNING 639 ifeq ($(WME_PER_AC_TUNING),1) 640 WLFLAGS += -DWME_PER_AC_TUNING 641 endif 642 643endif 644#endif 645 646#ifdef STA 647# sta 648ifeq ($(STA),1) 649 WLFLAGS += -DSTA 650endif 651#endif 652 653#ifdef APSTA 654# apsta 655ifeq ($(APSTA),1) 656 WLFLAGS += -DAPSTA 657endif 658# apsta 659#endif 660 661#ifdef WET 662# wet 663ifeq ($(WET),1) 664 WLFLAGS += -DWET 665 WLFILES_SRC_HI += src/wl/sys/wlc_wet.c 666endif 667#endif 668 669#ifdef RXCHAIN_PWRSAVE 670ifeq ($(RXCHAIN_PWRSAVE), 1) 671 WLFLAGS += -DRXCHAIN_PWRSAVE 672endif 673#endif 674 675#ifdef RADIO_PWRSAVE 676ifeq ($(RADIO_PWRSAVE), 1) 677 WLFLAGS += -DRADIO_PWRSAVE 678endif 679#endif 680 681#ifdef WMF 682ifeq ($(WMF), 1) 683 WLFILES_SRC_HI += src/wl/sys/wlc_wmf.c 684 WLFLAGS += -DWMF 685endif 686#endif 687 688#ifdef MCAST_REGEN 689ifeq ($(MCAST_REGEN), 1) 690 WLFLAGS += -DMCAST_REGEN 691endif 692#endif 693 694#ifdef WLOVERTHRUSTER 695ifeq ($(WLOVERTHRUSTER), 1) 696 WLFLAGS += -DWLOVERTHRUSTER 697endif 698#endif 699 700#ifdef MAC_SPOOF 701# mac spoof 702ifeq ($(MAC_SPOOF),1) 703 WLFLAGS += -DMAC_SPOOF 704endif 705#endif 706 707#ifndef LINUX_HYBRID 708# Router IBSS Security Support 709ifeq ($(ROUTER_SECURE_IBSS),1) 710 WLFLAGS += -DIBSS_PEER_GROUP_KEY 711 WLFLAGS += -DIBSS_PSK 712 WLFLAGS += -DIBSS_PEER_MGMT 713 WLFLAGS += -DIBSS_PEER_DISCOVERY_EVENT 714endif 715#endif 716 717#ifdef WLTIMER 718# timer 719ifeq ($(WLTIMER),1) 720 WLFLAGS += -DWLTIMER 721endif 722#endif 723 724#ifdef WLLED 725# led 726ifeq ($(WLLED),1) 727 WLFLAGS += -DWLLED 728 WLFILES_SRC_HI += src/wl/sys/wlc_led.c 729endif 730#endif 731 732#ifdef WL_MONITOR 733# MONITOR 734ifeq ($(WL_MONITOR),1) 735 WLFLAGS += -DWL_MONITOR 736endif 737#endif 738 739#ifdef WL_PROMISC 740# PROMISC 741ifeq ($(PROMISC),1) 742 WLFLAGS += -DWL_PROMISC 743endif 744#endif 745 746ifeq ($(WL_ALL_PASSIVE),1) 747 WLFLAGS += -DWL_ALL_PASSIVE 748endif 749 750#ifdef ND_ALL_PASSIVE 751ifeq ($(ND_ALL_PASSIVE),1) 752 WLFLAGS += -DND_ALL_PASSIVE 753endif 754#endif 755 756#ifdef WME 757# WME 758ifeq ($(WME),1) 759 WLFLAGS += -DWME 760 ifeq ($(WLCAC), 1) 761 ifeq ($(WL), 1) 762 WLFLAGS += -DWLCAC 763 WLFILES_SRC_HI += src/wl/sys/wlc_cac.c 764 endif 765 endif 766endif 767#endif 768 769#ifdef WLBA 770# WLBA 771ifeq ($(WLBA),1) 772 WLFLAGS += -DWLBA 773 WLFILES_SRC_HI += src/wl/sys/wlc_ba.c 774endif 775#endif 776 777#ifdef WLPIO 778# WLPIO 779ifeq ($(WLPIO),1) 780 WLFLAGS += -DWLPIO 781 WLFILES_SRC_LO += src/wl/sys/wlc_pio.c 782endif 783#endif 784 785#ifdef WLAFTERBURNER 786# WLAFTERBURNER 787ifeq ($(WLAFTERBURNER),1) 788 WLFLAGS += -DWLAFTERBURNER 789endif 790#endif 791 792#ifdef CRAM 793# CRAM 794ifeq ($(CRAM),1) 795 WLFLAGS += -DCRAM 796 WLFILES_SRC_HI += src/wl/sys/wlc_cram.c 797endif 798#endif 799 800#ifdef WL11N 801# 11N 802ifeq ($(WL11N),1) 803 WLFLAGS += -DWL11N 804endif 805#endif 806 807#ifdef WL11N_20MHZONLY 808# 11N 20MHz only optimization 809ifeq ($(WL11N_20MHZONLY),1) 810 WLFLAGS += -DWL11N_20MHZONLY 811endif 812#endif 813 814#ifdef WL11N_SINGLESTREAM 815# 11N single stream optimization 816ifeq ($(WL11N_SINGLESTREAM),1) 817 WLFLAGS += -DWL11N_SINGLESTREAM 818endif 819#endif 820 821#ifdef WL11H 822# 11H 823ifeq ($(WL11H),1) 824 WLFLAGS += -DWL11H 825endif 826#endif 827 828#ifdef WL11D 829# 11D 830ifeq ($(WL11D),1) 831 WLFLAGS += -DWL11D 832endif 833#endif 834 835#ifdef DBAND 836# DBAND 837ifeq ($(DBAND),1) 838 WLFLAGS += -DDBAND 839endif 840#endif 841 842#ifdef WLRM 843# WLRM 844ifeq ($(WLRM),1) 845 WLFLAGS += -DWLRM 846endif 847#endif 848 849#ifdef WLCQ 850# WLCQ 851ifeq ($(WLCQ),1) 852 WLFLAGS += -DWLCQ 853endif 854#endif 855 856#ifdef WLCNT 857# WLCNT 858ifeq ($(WLCNT),1) 859 WLFLAGS += -DWLCNT 860endif 861#endif 862 863#ifdef WLCHANIM 864# WLCHANIM 865ifeq ($(WLCHANIM),1) 866 WLFLAGS += -DWLCHANIM 867endif 868#endif 869 870ifndef DELTASTATS 871 ifeq ($(WLCNT),1) 872 DELTASTATS := 1 873 endif 874endif 875 876ifndef WLMULTIQUEUE 877 ifeq ($(WLMCHAN),1) 878 WLMULTIQUEUE := 1 879 endif 880endif 881 882# DELTASTATS 883ifeq ($(DELTASTATS),1) 884 WLFLAGS += -DDELTASTATS 885endif 886 887#ifdef WLCNTSCB 888# WLCNTSCB 889ifeq ($(WLCNTSCB),1) 890 WLFLAGS += -DWLCNTSCB 891endif 892#endif 893 894 895#ifdef WLCOEX 896# WLCOEX 897ifeq ($(WLCOEX),1) 898 WLFLAGS += -DWLCOEX 899endif 900#endif 901 902## wl security 903# external linux supplicant 904#ifdef LINUX_CRYPTO 905ifeq ($(LINUX_CRYPTO), 1) 906 WLFLAGS += -DLINUX_CRYPTO 907endif 908#endif 909 910ifeq ($(WLFBT),1) 911 WLFLAGS += -DWLFBT 912endif 913 914ifeq ($(WLWNM),1) 915 WLFLAGS += -DWLWNM 916endif 917 918#ifdef BCMSUP_PSK 919# in-driver supplicant 920ifeq ($(BCMSUP_PSK),1) 921 WLFLAGS += -DBCMSUP_PSK -DBCMINTSUP 922 WLFILES_SRC_HI += src/wl/sys/wlc_sup.c 923 WLFILES_SRC_HI += src/bcmcrypto/aes.c 924 WLFILES_SRC_HI += src/bcmcrypto/aeskeywrap.c 925 WLFILES_SRC_HI += src/bcmcrypto/hmac.c 926 WLFILES_SRC_HI += src/bcmcrypto/prf.c 927 WLFILES_SRC_HI += src/bcmcrypto/sha1.c 928 ifeq ($(WLFBT),1) 929 WLFILES_SRC_HI += src/bcmcrypto/hmac_sha256.c 930 WLFILES_SRC_HI += src/bcmcrypto/sha256.c 931 endif 932 # NetBSD 2.0 has MD5 and AES built in 933 ifneq ($(OSLBSD),1) 934 WLFILES_SRC_HI += src/bcmcrypto/md5.c 935 WLFILES_SRC_HI += src/bcmcrypto/rijndael-alg-fst.c 936 endif 937 WLFILES_SRC_HI += src/bcmcrypto/passhash.c 938endif 939#endif 940 941 942#ifdef BCMAUTH_PSK 943# in-driver authenticator 944ifeq ($(BCMAUTH_PSK),1) 945 WLFLAGS += -DBCMAUTH_PSK 946 WLFILES_SRC_HI += src/wl/sys/wlc_auth.c 947endif 948#endif 949 950#ifdef BCMCCMP 951# Soft AES CCMP 952ifeq ($(BCMCCMP),1) 953 WLFLAGS += -DBCMCCMP 954 WLFILES_SRC_HI += src/bcmcrypto/aes.c 955 # BSD has AES built in 956 ifneq ($(BSD),1) 957 WLFILES_SRC_HI +=src/bcmcrypto/rijndael-alg-fst.c 958 endif 959endif 960#endif 961 962#ifdef MFP 963# Management Frame Protection 964ifeq ($(MFP),1) 965 WLFLAGS += -DMFP 966 WLFILES_SRC_HI += src/bcmcrypto/aes.c 967 WLFILES_SRC_HI += src/bcmcrypto/sha256.c 968 WLFILES_SRC_HI += src/bcmcrypto/hmac_sha256.c 969 # BSD has AES built in 970 ifneq ($(BSD),1) 971 WLFILES_SRC_HI +=src/bcmcrypto/rijndael-alg-fst.c 972 endif 973endif 974#endif 975 976 977#ifdef BCMWAPI_WPI 978ifeq ($(BCMWAPI_WPI),1) 979 WLFILES_SRC_HI += src/bcmcrypto/sms4.c 980 WLFLAGS += -DBCMWAPI_WPI 981 ifeq ($(BCMSMS4_TEST),1) 982 WLFLAGS += -DBCMSMS4_TEST 983 endif 984endif 985#endif 986 987#ifdef WIFI_ACT_FRAME 988# WIFI_ACT_FRAME 989ifeq ($(WIFI_ACT_FRAME),1) 990 WLFLAGS += -DWIFI_ACT_FRAME 991endif 992#endif 993 994# BCMDMA32 995ifeq ($(BCMDMA32),1) 996 WLFLAGS += -DBCMDMA32 997endif 998 999ifeq ($(BCMDMA64OSL),1) 1000 WLFLAGS += -DBCMDMA64OSL 1001endif 1002 1003ifeq ($(BCMDMASGLISTOSL),1) 1004 WLFLAGS += -DBCMDMASGLISTOSL 1005endif 1006 1007# Early DMA TX Free for LOW driver 1008ifeq ($(WL_DMA_TX_FREE),1) 1009 ifneq ($(WL_HIGH),1) 1010 ifeq ($(PT_GIANT),1) 1011 WLFLAGS += -DDMA_TX_FREE 1012 endif 1013 endif 1014endif 1015 1016## wl over jtag 1017#ifdef BCMJTAG 1018ifeq ($(BCMJTAG),1) 1019 WLFLAGS += -DBCMJTAG -DBCMSLTGT 1020 WLFILES_SRC += src/shared/bcmjtag.c 1021 WLFILES_SRC += src/shared/bcmjtag_linux.c 1022 WLFILES_SRC += src/shared/ejtag.c 1023 WLFILES_SRC += src/shared/jtagm.c 1024endif 1025#endif 1026 1027#ifdef WLAMSDU 1028ifeq ($(WLAMSDU),1) 1029 WLFLAGS += -DWLAMSDU 1030 WLFILES_SRC_HI += src/wl/sys/wlc_amsdu.c 1031endif 1032#endif 1033 1034#ifdef WLAMSDU_SWDEAGG 1035ifeq ($(WLAMSDU_SWDEAGG),1) 1036 WLFLAGS += -DWLAMSDU_SWDEAGG 1037endif 1038#endif 1039 1040#ifdef WLAMPDU 1041ifeq ($(WLAMPDU),1) 1042 WLFLAGS += -DWLAMPDU 1043 WLFILES_SRC_HI += src/wl/sys/wlc_ampdu.c 1044 ifeq ($(WLAMPDU_UCODE),1) 1045 WLFLAGS += -DWLAMPDU_UCODE -DWLAMPDU_MAC 1046 endif 1047 ifeq ($(WLAMPDU_HW),1) 1048 WLFLAGS += -DWLAMPDU_HW -DWLAMPDU_MAC 1049 endif 1050 ifeq ($(WLAMPDU_PRECEDENCE),1) 1051 WLFLAGS += -DWLAMPDU_PRECEDENCE 1052 endif 1053endif 1054#endif 1055 1056#ifdef WOWL 1057ifeq ($(WOWL),1) 1058 WLFLAGS += -DWOWL 1059 WLFILES_SRC_HI += src/wl/sys/d11ucode_wowl.c 1060 WLFILES_SRC_HI += src/wl/sys/wlc_wowl.c 1061 WLFILES_SRC_HI += src/wl/sys/wowlaestbls.c 1062endif 1063#endif 1064 1065#ifdef BTC2WIRE 1066ifeq ($(BTC2WIRE),1) 1067 WLFLAGS += -DBTC2WIRE 1068 WLFILES_SRC_LO += src/wl/sys/d11ucode_2w.c 1069endif 1070#endif 1071 1072#ifdef WL_ASSOC_RECREATE 1073ifeq ($(WL_ASSOC_RECREATE),1) 1074 ifeq ($(STA),1) 1075 WLFLAGS += -DWL_ASSOC_RECREATE 1076 endif 1077endif 1078#endif 1079 1080 1081#ifdef WLP2P 1082ifeq ($(WLP2P),1) 1083 WLFLAGS += -DWLP2P -DWL_BSSCFG_TX_SUPR -DWIFI_ACT_FRAME 1084 WLFILES_SRC_HI += src/wl/sys/wlc_p2p.c 1085 WLFILES_SRC_LO += src/wl/sys/d11ucode_p2p.c 1086 ifeq ($(WLMCHAN), 1) 1087 WLFLAGS += -DWLMCHAN 1088 WLFILES_SRC_HI += src/wl/sys/wlc_mchan.c 1089 endif 1090 ifeq ($(WLMULTIQUEUE), 1) 1091 WLFLAGS += -DWL_MULTIQUEUE 1092 endif 1093endif 1094#endif 1095 1096#ifdef WLRWL 1097ifeq ($(WLRWL),1) 1098 WLFLAGS += -DWLRWL 1099 WLFILES_SRC_HI += src/wl/sys/wlc_rwl.c 1100endif 1101#endif 1102 1103ifneq ($(WLNDIS_DHD),1) 1104#ifdef WLBTAMP 1105 ifeq ($(AP)$(STA),11) 1106 ifeq ($(WLBTAMP),1) 1107 WLFLAGS += -DWLBTAMP 1108 WLFILES_SRC_HI += src/wl/sys/wlc_bta.c 1109#ifdef WLBTWUSB 1110 ifeq ($(WLBTWUSB),1) 1111 WLFLAGS += -DWLBTWUSB 1112 WLFILES_SRC_HI += src/wl/sys/bt_int.c 1113 endif 1114#endif /* WLBTWUSB */ 1115 endif 1116 endif 1117#endif /* WLBTAMP */ 1118endif 1119 1120#ifdef WLPLT 1121ifeq ($(WLPLT),1) 1122 WLFLAGS += -DWLPLT 1123 WLFILES_SRC_HI += src/wl/sys/wlc_plt.c 1124endif 1125#endif 1126 1127 1128#ifdef WLNINTENDO2 1129ifeq ($(WLNINTENDO2),1) 1130 WLFLAGS += -DWLNINTENDO2 1131endif 1132#endif 1133 1134#ifdef WLMEDIA 1135ifeq ($(WLMEDIA),1) 1136 WLFLAGS += -DWLMEDIA_EN 1137 WLFLAGS += -DWLMEDIA_RATESTATS 1138 WLFLAGS += -DWLMEDIA_MULTIQUEUE 1139 WLFLAGS += -DWLMEDIA_TXFIFO_FLUSH_SCB 1140 WLFLAGS += -DWLMEDIA_AMPDUSTATS 1141 WLFLAGS += -DWLMEDIA_TXFAILEVENT 1142 WLFLAGS += -DWLMEDIA_LQSTATS 1143 WLFLAGS += -DWLMEDIA_CALDBG 1144 WLFLAGS += -DWLMEDIA_EXT 1145 WLFLAGS += -DWLMEDIA_TXFILTER_OVERRIDE 1146 WLFLAGS += -DWLMEDIA_TSF 1147 WLFLAGS += -DWLMEDIA_PEAKRATE 1148endif 1149#endif 1150 1151#ifdef WLPKTDLYSTAT 1152ifeq ($(WLPKTDLYSTAT),1) 1153 WLFLAGS += -DWLPKTDLYSTAT 1154endif 1155#endif 1156 1157## --- which buses 1158 1159# silicon backplane 1160 1161#ifdef BCMSIBUS 1162ifeq ($(BCMSIBUS),1) 1163 WLFLAGS += -DBCMBUSTYPE=SI_BUS 1164 BCMPCI = 0 1165endif 1166#endif 1167 1168ifeq ($(SOCI_SB),1) 1169 WLFLAGS += -DBCMCHIPTYPE=SOCI_SB 1170else 1171 ifeq ($(SOCI_AI),1) 1172 WLFLAGS += -DBCMCHIPTYPE=SOCI_AI 1173 endif 1174endif 1175 1176 1177 1178#ifndef LINUX_HYBRID 1179# AP/ROUTER with SDSTD 1180ifeq ($(WLAPSDSTD),1) 1181 WLFILES_SRC += src/shared/nvramstubs.c 1182 WLFILES_SRC += src/shared/bcmsrom.c 1183endif 1184#endif 1185 1186## --- basic shared files 1187 1188#ifdef BCMHIGHSDIO 1189ifeq ($(BCMHIGHSDIO),1) 1190 WLFLAGS += -DBCMHIGHSDIO 1191endif 1192#endif 1193 1194#ifdef BCMLOSDIO 1195ifeq ($(BCMLOSDIO),1) 1196 WLFLAGS += -DBCMLOSDIO 1197endif 1198#endif 1199 1200#ifdef BCMHIGHUSB 1201ifeq ($(BCMHIGHUSB),1) 1202 WLFLAGS += -DBCMHIGHUSB 1203endif 1204#endif 1205 1206#ifdef BCMLOUSB 1207ifeq ($(BCMLOUSB),1) 1208 WLFLAGS += -DBCMLOUSB 1209endif 1210#endif 1211 1212#ifdef HNDDMA 1213ifeq ($(HNDDMA),1) 1214 WLFILES_SRC_LO += src/shared/hnddma.c 1215endif 1216#endif 1217 1218#ifdef MSGTRACE 1219ifeq ($(MSGTRACE),1) 1220 WLFILES_SRC += src/shared/msgtrace.c 1221 WLFLAGS += -DMSGTRACE 1222endif 1223#endif 1224 1225#ifdef BCMUTILS 1226ifeq ($(BCMUTILS),1) 1227 WLFILES_SRC += src/shared/bcmutils.c 1228endif 1229#endif 1230 1231 1232#ifdef BCMSROM 1233ifeq ($(BCMSROM),1) 1234 ifeq ($(BCMSDIO),1) 1235 ifeq ($(WL_HIGH),1) 1236 WLFILES_SRC_HI += src/shared/bcmsrom.c 1237 WLFILES_SRC_HI += src/shared/bcmotp.c 1238 endif 1239 endif 1240 WLFILES_SRC_LO += src/shared/bcmsrom.c 1241 WLFILES_SRC_LO += src/shared/bcmotp.c 1242endif 1243#endif 1244 1245#ifdef BCMOTP 1246ifeq ($(BCMOTP),1) 1247 WLFILES_SRC_LO += src/shared/bcmotp.c 1248 WLFLAGS += -DBCMNVRAMR 1249endif 1250#endif 1251 1252#ifdef SIUTILS 1253ifeq ($(SIUTILS),1) 1254 WLFILES_SRC_LO += src/shared/siutils.c 1255 WLFILES_SRC_LO += src/shared/sbutils.c 1256 WLFILES_SRC_LO += src/shared/aiutils.c 1257 WLFILES_SRC_LO += src/shared/hndpmu.c 1258 ifneq ($(BCMPCI), 0) 1259 WLFILES_SRC_LO += src/shared/nicpci.c 1260 endif 1261endif 1262#endif /* SIUTILS */ 1263 1264#ifdef SBMIPS 1265ifeq ($(SBMIPS),1) 1266 WLFLAGS += -DBCMMIPS 1267 WLFILES_SRC_LO += src/shared/hndmips.c 1268 WLFILES_SRC_LO += src/shared/hndchipc.c 1269endif 1270#endif 1271 1272#ifdef SBPCI 1273ifeq ($(SBPCI),1) 1274 WLFILES_SRC_LO += src/shared/hndpci.c 1275endif 1276#endif 1277 1278#ifdef SFLASH 1279ifeq ($(SFLASH),1) 1280 WLFILES_SRC_LO += src/shared/sflash.c 1281endif 1282#endif 1283 1284#ifdef FLASHUTL 1285ifeq ($(FLASHUTL),1) 1286 WLFILES_SRC_LO += src/shared/flashutl.c 1287endif 1288#endif 1289 1290## --- shared OSL 1291#ifdef OSLUM 1292# linux user mode 1293ifeq ($(OSLUM),1) 1294 WLFILES_SRC += src/shared/usermode_osl.c 1295 WLFLAGS += -DUSER_MODE 1296endif 1297#endif 1298 1299#ifdef OSLLX 1300# linux osl 1301ifeq ($(OSLLX),1) 1302 WLFILES_SRC += src/shared/linux_osl.c 1303endif 1304#endif 1305 1306#ifdef OSLVX 1307# vx osl 1308ifeq ($(OSLVX),1) 1309 WLFILES_SRC += src/shared/vx_osl.c 1310 WLFILES_SRC += src/shared/bcmallocache.c 1311endif 1312#endif 1313 1314#ifdef OSLBSD 1315# bsd osl 1316ifeq ($(OSLBSD),1) 1317 WLFILES_SRC += src/shared/bsd_osl.c 1318 WLFILES_SRC += src/shared/nvramstubs.c 1319endif 1320#endif 1321 1322#ifdef OSLCFE 1323ifeq ($(OSLCFE),1) 1324 WLFILES_SRC += src/shared/cfe_osl.c 1325endif 1326#endif 1327 1328#ifdef OSLRTE 1329ifeq ($(OSLRTE),1) 1330 WLFILES_SRC += src/shared/hndrte_osl.c 1331endif 1332#endif 1333 1334#ifdef OSLNDIS 1335ifeq ($(OSLNDIS),1) 1336 WLFILES_SRC += src/shared/ndshared.c 1337 WLFILES_SRC += src/shared/ndis_osl.c 1338endif 1339#endif 1340 1341#ifndef LINUX_HYBRID 1342ifeq ($(CONFIG_USBRNDIS_RETAIL),1) 1343 WLFLAGS += -DCONFIG_USBRNDIS_RETAIL 1344 WLFILES_SRC += src/wl/sys/wl_ndconfig.c 1345 WLFILES_SRC += src/shared/bcmwifi.c 1346endif 1347 1348ifeq ($(NVRAM),1) 1349 WLFILES_SRC_LO += src/dongle/rte/test/nvram.c 1350 WLFILES_SRC_LO += src/dongle/rte/sim/nvram.c 1351 WLFILES_SRC_LO += src/shared/nvram/nvram.c 1352endif 1353 1354ifeq ($(NVRAMVX),1) 1355 WLFILES_SRC_LO += src/shared/nvram/nvram_rw.c 1356endif 1357#endif /* LINUX_HYBRID */ 1358 1359#ifdef BCMNVRAMR 1360ifeq ($(BCMNVRAMR),1) 1361 WLFILES_SRC_LO += src/shared/nvram/nvram_ro.c 1362 WLFILES_SRC_LO += src/shared/sflash.c 1363 WLFILES_SRC_LO += src/shared/bcmotp.c 1364 WLFLAGS += -DBCMNVRAMR 1365endif 1366#else /* !BCMNVRAMR */ 1367ifneq ($(BCMNVRAMR),1) 1368 ifeq ($(WLLXNOMIPSEL),1) 1369 ifneq ($(WLUMK),1) 1370 WLFILES_SRC += src/shared/nvramstubs.c 1371 endif 1372 else 1373 ifeq ($(WLNDIS),1) 1374 WLFILES_SRC += src/shared/nvramstubs.c 1375 else 1376 ifeq ($(BCMNVRAMW),1) 1377 WLFILES_SRC_LO += src/shared/nvram/nvram_ro.c 1378 WLFILES_SRC_LO += src/shared/sflash.c 1379 endif 1380 endif 1381 endif 1382 ifeq ($(BCMNVRAMW),1) 1383 WLFILES_SRC_LO += src/shared/bcmotp.c 1384 WLFLAGS += -DBCMNVRAMW 1385 endif 1386endif 1387#endif /* !BCMNVRAMR */ 1388 1389# Define one OTP mechanism, or none to support all dynamically 1390ifeq ($(BCMHNDOTP),1) 1391 WLFLAGS += -DBCMHNDOTP 1392endif 1393ifeq ($(BCMIPXOTP),1) 1394 WLFLAGS += -DBCMIPXOTP 1395endif 1396 1397 1398#ifdef WLDIAG 1399ifeq ($(WLDIAG),1) 1400 WLFLAGS += -DWLDIAG 1401 WLFILES_SRC_LO += src/wl/sys/wlc_diag.c 1402endif 1403#endif 1404 1405 1406#ifdef BCMQT 1407ifeq ($(BCMQT),1) 1408 # Set flag to indicate emulated chip 1409 WLFLAGS += -DBCMSLTGT -DBCMQT 1410 ifeq ($(WLRTE),1) 1411 # Use of RTE implies embedded (CPU emulated) 1412 WLFLAGS += -DBCMQT_CPU 1413 endif 1414endif 1415#endif 1416 1417#ifdef WLPFN 1418ifeq ($(WLPFN),1) 1419 WLFLAGS += -DWLPFN 1420 WLFILES_SRC += src/wl/sys/wl_pfn.c 1421 ifeq ($(WLPFN_AUTO_CONNECT),1) 1422 WLFLAGS += -DWLPFN_AUTO_CONNECT 1423 endif 1424endif 1425#endif 1426 1427#ifdef TOE 1428ifeq ($(TOE),1) 1429 WLFLAGS += -DTOE 1430 WLFILES_SRC += src/wl/sys/wl_toe.c 1431endif 1432#endif 1433 1434#ifdef ARPOE 1435ifeq ($(ARPOE),1) 1436 WLFLAGS += -DARPOE 1437 WLFILES_SRC += src/wl/sys/wl_arpoe.c 1438endif 1439#endif 1440 1441#ifdef PLC 1442ifeq ($(PLC),1) 1443 WLFLAGS += -DPLC 1444 WLFILES_SRC += src/wl/sys/wl_plc_linux.c 1445endif 1446#endif 1447 1448#ifdef PCOEM_LINUXSTA 1449ifeq ($(PCOEM_LINUXSTA),1) 1450 WLFLAGS += -DPCOEM_LINUXSTA 1451endif 1452#endif 1453 1454#ifdef LINUXSTA_PS 1455ifeq ($(LINUXSTA_PS),1) 1456 WLFLAGS += -DLINUXSTA_PS 1457endif 1458#endif 1459 1460#ifndef LINUX_HYBRID 1461ifeq ($(KEEP_ALIVE),1) 1462 WLFLAGS += -DKEEP_ALIVE 1463 WLFILES_SRC += src/wl/sys/wl_keep_alive.c 1464endif 1465 1466#ifdef OPENSRC_IOV_IOCTL 1467ifeq ($(OPENSRC_IOV_IOCTL),1) 1468 WLFLAGS += -DOPENSRC_IOV_IOCTL 1469endif 1470#endif 1471 1472ifeq ($(PACKET_FILTER),1) 1473 WLFLAGS += -DPACKET_FILTER 1474 WLFILES_SRC += src/wl/sys/wlc_pkt_filter.c 1475endif 1476 1477ifeq ($(SEQ_CMDS),1) 1478 WLFLAGS += -DSEQ_CMDS 1479 WLFILES_SRC_HI += src/wl/sys/wlc_seq_cmds.c 1480endif 1481 1482ifeq ($(RECEIVE_THROTTLE),1) 1483 WLFLAGS += -DWL_PM2_RCV_DUR_LIMIT 1484endif 1485 1486ifeq ($(ASYNC_TSTAMPED_LOGS),1) 1487 WLFLAGS += -DBCMTSTAMPEDLOGS 1488endif 1489 1490ifeq ($(WL11K),1) 1491 WLFLAGS += -DWL11K 1492 WLFILES_SRC += src/wl/sys/wlc_rrm.c 1493endif 1494ifeq ($(WLWNM),1) 1495 WLFLAGS += -DWLWNM 1496 WLFILES_SRC += src/wl/sys/wlc_wnm.c 1497endif 1498#endif 1499 1500# Sort and remove duplicates from WLFILES* 1501ifeq ($(WL_LOW),1) 1502 WLFILES_SRC += $(sort $(WLFILES_SRC_LO)) 1503endif 1504ifeq ($(WL_HIGH),1) 1505 WLFILES_SRC += $(sort $(WLFILES_SRC_HI)) 1506endif 1507 1508# wl patch code 1509ifneq ($(WLPATCHFILE), ) 1510 WLFLAGS += -DWLC_PATCH 1511 WLFILES_SRC += $(WLPATCHFILE) 1512endif 1513 1514ifeq ($(SAMPLE_COLLECT),1) 1515 WLFLAGS += -DSAMPLE_COLLECT 1516endif 1517 1518# add a flag to indicate the split to linux kernels 1519WLFLAGS += -DPHY_HAL 1520 1521ifeq ($(SMF_STATS),1) 1522 WLFLAGS += -DSMF_STATS 1523endif 1524 1525#ifdef PHYMON 1526ifeq ($(PHYMON),1) 1527 WLFLAGS += -DPHYMON 1528endif 1529#endif 1530 1531#ifdef USBSHIM 1532ifeq ($(USBSHIM),1) 1533 WLFLAGS += -DUSBSHIM 1534endif # USBSHIM 1535#endif 1536 1537#ifdef BCM_DCS 1538ifeq ($(BCM_DCS),1) 1539 WLFLAGS += -DBCM_DCS 1540endif 1541#endif 1542 1543ifeq ($(WL_THREAD),1) 1544 WLFLAGS += -DWL_THREAD 1545endif 1546 1547ifeq ($(USBOS_THREAD),1) 1548 WLFLAGS += -DUSBOS_THREAD 1549endif 1550ifeq ($(WL_NVRAM_FILE),1) 1551 WLFLAGS += -DWL_NVRAM_FILE 1552endif 1553 1554ifeq ($(WL_FW_DECOMP),1) 1555 WLFLAGS += -DWL_FW_DECOMP 1556 WLFILES_SRC_HI += src/shared/zlib/adler32.c 1557 WLFILES_SRC_HI += src/shared/zlib/inffast.c 1558 WLFILES_SRC_HI += src/shared/zlib/inflate.c 1559 WLFILES_SRC_HI += src/shared/zlib/infcodes.c 1560 WLFILES_SRC_HI += src/shared/zlib/infblock.c 1561 WLFILES_SRC_HI += src/shared/zlib/inftrees.c 1562 WLFILES_SRC_HI += src/shared/zlib/infutil.c 1563 WLFILES_SRC_HI += src/shared/zlib/zutil.c 1564 WLFILES_SRC_HI += src/shared/zlib/crc32.c 1565endif 1566 1567ifeq ($(WL_WOWL_MEDIA),1) 1568 WLFLAGS += -DWL_WOWL_MEDIA 1569endif 1570 1571ifeq ($(WL_USB_ZLP_PAD),1) 1572 WLFLAGS += -DWL_USB_ZLP_PAD 1573endif 1574 1575ifeq ($(WL_URB_ZPKT),1) 1576 WLFLAGS += -DWL_URB_ZPKT 1577endif 1578 1579ifeq ($(WL_VMEM_NVRAM_DECOMP),1) 1580 WLFLAGS += -DWL_VMEM_NVRAM_DECOMP 1581endif 1582 1583 1584# add a flag to indicate the split to linux kernels 1585WLFLAGS += -DPHY_HAL 1586 1587ifeq ($(MEDIA_IPTV),1) 1588 WLFLAGS += -DWLMEDIA_IPTV 1589 WLFLAGS += -DWET_TUNNEL 1590 WLFILES_SRC_HI += src/wl/sys/wlc_wet_tunnel.c 1591endif 1592 1593# Legacy WLFILES pathless definition, please use new src relative path 1594# in make files. 1595WLFILES := $(sort $(notdir $(WLFILES_SRC))) 1596