| # bcmdhd |
| # 1. WL_IFACE_COMB_NUM_CHANNELS must be added if Android version is 4.4 with Kernel version 3.0~3.4, |
| # otherwise please remove it. |
| |
| ifneq ($(CONFIG_BCMDHD),) |
| PWD=$(src) |
| else |
| CONFIG_BCMDHD := m |
| CONFIG_BCMDHD_FW_PATH="/system/etc/firmware/fw_bcmdhd.bin" |
| CONFIG_BCMDHD_NVRAM_PATH="/system/etc/firmware/nvram.txt" |
| CONFIG_BCMDHD_SDIO := y |
| CONFIG_BCMDHD_OOB := y |
| endif |
| CONFIG_BCMDHD_DISABLE_WOWLAN := y |
| CONFIG_MACH_PLATFORM := y |
| |
| $(warning "PWD=$(PWD)") |
| |
| DHDCFLAGS = -Wall -Wstrict-prototypes -Dlinux -DBCMDRIVER \ |
| -DBCMDONGLEHOST -DUNRELEASEDCHIP -DBCMDMA32 -DBCMFILEIMAGE \ |
| -DDHDTHREAD -DDHD_DEBUG -DSHOW_EVENTS -DBCMDBG -DGET_OTP_MAC_ENABLE \ |
| -DWIFI_ACT_FRAME -DARP_OFFLOAD_SUPPORT -DSUPPORT_PM2_ONLY \ |
| -DPKT_FILTER_SUPPORT -DPNO_SUPPORT -DDHDTCPACK_SUPPRESS \ |
| -DDHD_DONOT_FORWARD_BCMEVENT_AS_NETWORK_PKT \ |
| -DMULTIPLE_SUPPLICANT -DMFP \ |
| -DWL_EXT_IAPSTA -DKEEP_ALIVE \ |
| -I$(PWD) -I$(PWD)/include |
| |
| DHDOFILES = aiutils.o siutils.o sbutils.o bcmutils.o bcmwifi_channels.o \ |
| dhd_linux.o dhd_linux_platdev.o dhd_linux_sched.o dhd_pno.o \ |
| dhd_common.o dhd_ip.o dhd_linux_wq.o dhd_custom_gpio.o \ |
| bcmevent.o hndpmu.o linux_osl.o wldev_common.o wl_android.o \ |
| hnd_pktq.o hnd_pktpool.o dhd_config.o wl_android_ext.o |
| |
| ifeq ($(CONFIG_BCMDHD),y) |
| DHDCFLAGS += -DDHD_BUILTIN |
| $(warning "Built-in DHD") |
| else |
| $(warning "Module DHD") |
| endif |
| DHDCFLAGS += -DBCOL_TCPKA_SYNC -DBCOL_TCPKA_SYNC_MATCHED_BY_PORT |
| DHDCFLAGS += -DTCPKA_REPAIR |
| DHDCFLAGS += -DPF_HOSTWAKE |
| DHDCFLAGS += -DDHCPC_SUPPORT |
| DHDCFLAGS += -DONLINECHK_SUPPORT |
| DHDCFLAGS += -DIDSUP_STATS -DSDIO_TRAITS_STATS |
| DHDCFLAGS += -DHAL_API -DPF_SETUP_COMMAND |
| DHDCFLAGS += -DEVENT_SETUP |
| DHDCFLAGS += -DDHD_SK_PACING_SHIFT=8 |
| DHDCFLAGS += -DWNM_NEST |
| DHDCFLAGS += -DEVENT_DATA_HOSTWAKE -DHOSTWAKE_EVENT_TIMEOUT=5000 |
| DHDCFLAGS += -DSCHED_WAKE |
| DHDCFLAGS += -DUART_HB_CONFIG |
| DHDCFLAGS += -DTCPKA_BYPASS |
| DHDCFLAGS += -DRESUME_INIT |
| DHDCFLAGS += -DDHD_WAKE_STATUS -DDHD_WAKE_EVENT_STATUS -DDHD_WAKE_RX_STATUS |
| #DHDCFLAGS += -DDHD_WAKEPKT_DUMP |
| DHDCFLAGS += -DTXSEQ_SYNC |
| DHDCFLAGS += -DDHD_CONSOLE_IDX_SYNC |
| DHDCFLAGS += -DCUSTOM_ASSOC_RETRY_MAX=10 |
| DHDCFLAGS += -DASSOC_PREFER_BAND |
| DHDCFLAGS += -DWIFI_STATS |
| DHDCFLAGS += -DSIMPLE_MAC_PRINT |
| DHDCFLAGS += -DPSPOLL_WAIT -DPSPOLL_KA_WAIT -DPM_KEEP_ALIVE |
| DHDCFLAGS += -DGARP_KEEP_ALIVE |
| DHDCFLAGS += -DBLOCK_LIST_CFG -DRELOAD_WIFI |
| DHDCFLAGS += -DNOTI_BITBANG |
| |
| #BCMDHD_SDIO |
| ifneq ($(CONFIG_BCMDHD_SDIO),) |
| DHDCFLAGS += \ |
| -DBCMSDIO -DMMC_SDIO_ABORT -DBCMLXSDMMC -DUSE_SDIOFIFO_IOVAR \ |
| -DSDTEST -DBDC -DDHD_USE_IDLECOUNT -DCUSTOM_SDIO_F2_BLKSIZE=128 \ |
| -DBCMSDIOH_TXGLOM -DBCMSDIOH_TXGLOM_EXT |
| DHDCFLAGS += -DRXFRAME_THREAD |
| |
| ifeq ($(CONFIG_HISILICON_PLATFORM),y) |
| DHDCFLAGS += -DSDIO_ISR_THREAD |
| else |
| ifeq ($(CONFIG_BCMDHD_OOB),y) |
| DHDCFLAGS += -DOOB_INTR_ONLY -DCUSTOMER_OOB -DHW_OOB |
| ifeq ($(CONFIG_BCMDHD_DISABLE_WOWLAN),y) |
| DHDCFLAGS += -DDISABLE_WOWLAN |
| endif |
| else |
| DHDCFLAGS += -DSDIO_ISR_THREAD |
| endif |
| endif |
| |
| DHDOFILES += bcmsdh.o bcmsdh_linux.o bcmsdh_sdmmc.o bcmsdh_sdmmc_linux.o \ |
| dhd_sdio.o dhd_cdc.o dhd_wlfc.o |
| endif |
| |
| #BCMDHD_PCIE |
| ifneq ($(CONFIG_BCMDHD_PCIE),) |
| DHDCFLAGS += -DPCIE_FULL_DONGLE -DBCMPCIE -DCUSTOM_DPC_PRIO_SETTING=-1 \ |
| -DDONGLE_ENABLE_ISOLATION |
| ifneq ($(CONFIG_PCI_MSI),) |
| DHDCFLAGS += -DDHD_USE_MSI |
| endif |
| ifeq ($(CONFIG_DHD_USE_STATIC_BUF),y) |
| DHDCFLAGS += -DDHD_USE_STATIC_CTRLBUF |
| endif |
| |
| DHDOFILES += dhd_pcie.o dhd_pcie_linux.o pcie_core.o dhd_flowring.o \ |
| dhd_msgbuf.o |
| endif |
| |
| #BCMDHD_USB |
| ifneq ($(CONFIG_BCMDHD_USB),) |
| DHDCFLAGS += -DUSBOS_TX_THREAD -DBCMDBUS -DBCMTRXV2 -DDBUS_USB_LOOPBACK \ |
| -DBDC |
| DHDCFLAGS += -DBCM_REQUEST_FW -DEXTERNAL_FW_PATH |
| #DHDCFLAGS :=$(filter-out -DENABLE_INSMOD_NO_FW_LOAD,$(DHDCFLAGS)) |
| |
| DHDOFILES += dbus.o dbus_usb.o dbus_usb_linux.o dhd_cdc.o dhd_wlfc.o |
| endif |
| |
| ifeq ($(CONFIG_BCMDHD_PROPTXSTATUS),y) |
| ifneq ($(CONFIG_BCMDHD_USB),) |
| DHDCFLAGS += -DPROP_TXSTATUS |
| endif |
| ifneq ($(CONFIG_BCMDHD_SDIO),) |
| DHDCFLAGS += -DPROP_TXSTATUS |
| endif |
| ifneq ($(CONFIG_CFG80211),) |
| DHDCFLAGS += -DPROP_TXSTATUS_VSDB |
| endif |
| endif |
| |
| ifeq ($(CONFIG_VTS_SUPPORT),y) |
| ifneq ($(CONFIG_CFG80211),) |
| DHDCFLAGS += \ |
| -DGSCAN_SUPPORT -DRTT_SUPPORT -DCUSTOM_FORCE_NODFS_FLAG \ |
| -DLINKSTAT_SUPPORT -DDEBUGABILITY -DDBG_PKT_MON -DPKT_FILTER_SUPPORT \ |
| -DAPF -DDHD_WAKE_STATUS \ |
| -DCUSTOM_COUNTRY_CODE -DDHD_FW_COREDUMP -DEXPLICIT_DISCIF_CLEANUP |
| |
| DHDOFILES += dhd_debug_linux.o dhd_debug.o bcmxtlv.o dhd_rtt.o \ |
| bcm_app_utils.o |
| endif |
| endif |
| |
| # MESH support for kernel 3.10 later |
| ifeq ($(CONFIG_WL_MESH),y) |
| DHDCFLAGS += -DWLMESH |
| ifneq ($(CONFIG_BCMDHD_PCIE),) |
| DHDCFLAGS += -DBCM_HOST_BUF -DDMA_HOST_BUFFER_LEN=0x80000 |
| endif |
| DHDCFLAGS += -DDHD_UPDATE_INTF_MAC |
| DHDCFLAGS :=$(filter-out -DDHD_FW_COREDUMP,$(DHDCFLAGS)) |
| DHDCFLAGS :=$(filter-out -DSET_RANDOM_MAC_SOFTAP,$(DHDCFLAGS)) |
| endif |
| |
| obj-$(CONFIG_BCMDHD) += dhd.o |
| dhd-objs += $(DHDOFILES) |
| |
| ifeq ($(CONFIG_MACH_PLATFORM),y) |
| DHDOFILES += dhd_gpio.o |
| ifeq ($(CONFIG_BCMDHD_DTS),y) |
| DHDCFLAGS += -DCONFIG_DTS |
| else |
| DHDCFLAGS += -DCUSTOMER_HW -DDHD_OF_SUPPORT |
| endif |
| else |
| ifneq ($(CONFIG_DHD_OF_SUPPORT),) |
| DHDOFILES += dhd_custom_hikey.o |
| DHDCFLAGS += -DDHD_OF_SUPPORT |
| ifneq ($(CONFIG_BROADCOM_WIFI_RESERVED_MEM),) |
| DHDOFILES += dhd_custom_memprealloc.o |
| endif |
| endif |
| # DHDCFLAGS += -DBCMWAPI_WPI -DBCMWAPI_WAI |
| endif |
| |
| ifeq ($(CONFIG_BCMDHD_AG),y) |
| DHDCFLAGS += -DBAND_AG |
| endif |
| |
| ifeq ($(CONFIG_DHD_USE_STATIC_BUF),y) |
| obj-m += dhd_static_buf.o |
| DHDCFLAGS += -DSTATIC_WL_PRIV_STRUCT -DENHANCED_STATIC_BUF |
| DHDCFLAGS += -DDHD_USE_STATIC_MEMDUMP -DCONFIG_DHD_USE_STATIC_BUF |
| endif |
| |
| ifneq ($(CONFIG_WIRELESS_EXT),) |
| DHDOFILES += wl_iw.o wl_escan.o |
| DHDCFLAGS += -DSOFTAP -DWL_WIRELESS_EXT -DUSE_IW -DWL_ESCAN |
| endif |
| ifneq ($(CONFIG_CFG80211),) |
| DHDOFILES += wl_cfg80211.o wl_cfgp2p.o wl_linux_mon.o wl_cfg_btcoex.o wl_cfgvendor.o |
| DHDOFILES += dhd_cfg80211.o |
| DHDCFLAGS += -DWL_CFG80211 -DWLP2P -DWL_CFG80211_STA_EVENT -DWL_ENABLE_P2P_IF |
| DHDCFLAGS += -DWL_IFACE_COMB_NUM_CHANNELS |
| DHDCFLAGS += -DCUSTOM_ROAM_TRIGGER_SETTING=-65 |
| DHDCFLAGS += -DCUSTOM_ROAM_DELTA_SETTING=15 |
| DHDCFLAGS += -DCUSTOM_KEEP_ALIVE_SETTING=28000 |
| DHDCFLAGS += -DCUSTOM_PNO_EVENT_LOCK_xTIME=7 |
| DHDCFLAGS += -DWL_SUPPORT_AUTO_CHANNEL |
| DHDCFLAGS += -DWL_SUPPORT_BACKPORTED_KPATCHES |
| DHDCFLAGS += -DESCAN_RESULT_PATCH -DESCAN_BUF_OVERFLOW_MGMT |
| DHDCFLAGS += -DVSDB -DWL_CFG80211_VSDB_PRIORITIZE_SCAN_REQUEST |
| DHDCFLAGS += -DMIRACAST_AMPDU_SIZE=8 |
| DHDCFLAGS += -DWL_VIRTUAL_APSTA -DWL_CCODE_RELOAD |
| endif |
| EXTRA_CFLAGS = $(DHDCFLAGS) |
| ifeq ($(CONFIG_BCMDHD),m) |
| EXTRA_LDFLAGS += --strip-debug |
| endif |
| |
| DHDCFLAGS += -DCUSTOMER_HW_AMLOGIC |
| DHDCFLAGS += -DCONFIG_PATH_AUTO_SELECT |
| DHDCFLAGS += -DRMMOD_KEEP_F2 -DPOWERUP_MAX_RETRY=0 -DEXT_POWER_SET |
| |
| ARCH ?= arm64 |
| CROSS_COMPILE ?= ../prebuilt/toolchain/aarch64/bin/aarch64-cros-linux-gnu- |
| KDIR ?= ../../kernel |
| |
| CFLAGS_MODULE = -fno-pic |
| EXTRA_CFLAGS = $(DHDCFLAGS) -Wframe-larger-than=1312 |
| |
| all: |
| $(warning "DHDFLAGS=$(DHDCFLAGS)") |
| |
| $(MAKE) -C $(KDIR) M=$(PWD) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) modules |
| clean: |
| $(MAKE) -C $(KDIR) M=$(PWD) ARCH=$(ARCH) clean |
| rm -fr *.mod.c *.mod *.o .*.cmd *.ko *~ |
| rm .tmp_versions -fr ; rm Module.symvers -fr |
| rm -fr Module.markers ; rm -fr modules.order |