|
@@ -5,6 +5,14 @@ define wlog
|
|
|
$(if $(WLAN_BUILD_DEBUG),$(info $(1)))
|
|
|
endef
|
|
|
|
|
|
+define target_is_dual_wlan
|
|
|
+$(strip \
|
|
|
+ $(if $(TARGET_SUPPORT_DUAL_WLAN), \
|
|
|
+ $(if $(findstring cnss2,$(1)),true,), \
|
|
|
+ ) \
|
|
|
+)
|
|
|
+endef
|
|
|
+
|
|
|
LOCAL_PATH := $(call my-dir)
|
|
|
$(call wlog,LOCAL_PATH=$(LOCAL_PATH))
|
|
|
|
|
@@ -65,6 +73,14 @@ include $(foreach chip, $(TARGET_WLAN_CHIP), $(LOCAL_PATH)/.$(chip)/Android.mk)
|
|
|
|
|
|
else # Multi-ok check
|
|
|
|
|
|
+# When dual wlan enabled, secondary dev name would be $(chip)_cnss2.
|
|
|
+# Use LOCAL_CHIP_NAME instead of LOCAL_DEV_NAME for secondary one.
|
|
|
+LOCAL_CHIP_NAME := $(LOCAL_DEV_NAME)
|
|
|
+TARGET_SECONDARY_WLAN := $(call target_is_dual_wlan,$(LOCAL_DEV_NAME))
|
|
|
+ifeq ($(TARGET_SECONDARY_WLAN), true)
|
|
|
+LOCAL_CHIP_NAME := $(patsubst %_cnss2,%,$(strip $(LOCAL_DEV_NAME)))
|
|
|
+endif
|
|
|
+
|
|
|
ifeq ($(WLAN_PROFILE),)
|
|
|
WLAN_PROFILE := default
|
|
|
endif
|
|
@@ -83,11 +99,11 @@ else
|
|
|
LOCAL_SRC_DIR := .$(LOCAL_DEV_NAME)
|
|
|
# Use default profile if WLAN_CFG_USE_DEFAULT defined.
|
|
|
ifeq ($(WLAN_CFG_USE_DEFAULT),)
|
|
|
-WLAN_PROFILE := $(LOCAL_DEV_NAME)
|
|
|
+WLAN_PROFILE := $(LOCAL_CHIP_NAME)
|
|
|
endif
|
|
|
-TARGET_FW_DIR := firmware/wlan/qca_cld/$(LOCAL_DEV_NAME)
|
|
|
-TARGET_CFG_PATH := /vendor/etc/wifi/$(LOCAL_DEV_NAME)
|
|
|
-TARGET_MAC_BIN_PATH := /mnt/vendor/persist/$(LOCAL_DEV_NAME)
|
|
|
+TARGET_FW_DIR := firmware/wlan/qca_cld/$(LOCAL_CHIP_NAME)
|
|
|
+TARGET_CFG_PATH := /vendor/etc/wifi/$(LOCAL_CHIP_NAME)
|
|
|
+TARGET_MAC_BIN_PATH := /mnt/vendor/persist/$(LOCAL_CHIP_NAME)
|
|
|
|
|
|
ifneq ($(TARGET_MULTI_WLAN), true)
|
|
|
LOCAL_MOD_NAME := wlan
|
|
@@ -96,6 +112,11 @@ else
|
|
|
LOCAL_MOD_NAME := $(LOCAL_DEV_NAME)
|
|
|
endif
|
|
|
|
|
|
+ifeq ($(TARGET_SECONDARY_WLAN), true)
|
|
|
+LOCAL_MOD_NAME := $(LOCAL_CHIP_NAME)
|
|
|
+DYNAMIC_SINGLE_CHIP := $(LOCAL_CHIP_NAME)
|
|
|
+endif
|
|
|
+
|
|
|
endif
|
|
|
|
|
|
# DLKM_DIR was moved for JELLY_BEAN (PLATFORM_SDK 16)
|
|
@@ -128,13 +149,24 @@ ifneq ($(WLAN_CFG_OVERRIDE_$(LOCAL_DEV_NAME)),)
|
|
|
KBUILD_OPTIONS += WLAN_CFG_OVERRIDE="$(WLAN_CFG_OVERRIDE_$(LOCAL_DEV_NAME))"
|
|
|
endif
|
|
|
|
|
|
-# driver expects "/dev/<name>" for WIFI_DRIVER_STATE_CTRL_PARAM
|
|
|
+# driver expects "/dev/<name>" for wifi driver state ctrl parameter.
|
|
|
+# i.e. WIFI_DRIVER_STATE_CTRL_PARAM="/dev/wlan" is defined for single wlan.
|
|
|
+# WIFI_DRIVER_STATE_CTRL_PARAM_SECONDARY="/dev/wlan2" is defined for 2nd wlan.
|
|
|
+ifeq ($(TARGET_SECONDARY_WLAN), true)
|
|
|
+$(call wlog,STATE_CTRL_PARAM_SECONDARY=$(WIFI_DRIVER_STATE_CTRL_PARAM_SECONDARY))
|
|
|
+PARAM_SECONDARY := $(patsubst "%",%,$(WIFI_DRIVER_STATE_CTRL_PARAM_SECONDARY))
|
|
|
+$(call wlog,PARAM_SECONDARY=$(PARAM_SECONDARY))
|
|
|
+ifeq ($(dir $(PARAM_SECONDARY)),/dev/)
|
|
|
+KBUILD_OPTIONS += WLAN_CTRL_NAME=$(notdir $(PARAM_SECONDARY))
|
|
|
+endif
|
|
|
+else
|
|
|
$(call wlog,WIFI_DRIVER_STATE_CTRL_PARAM=$(WIFI_DRIVER_STATE_CTRL_PARAM))
|
|
|
PARAM := $(patsubst "%",%,$(WIFI_DRIVER_STATE_CTRL_PARAM))
|
|
|
$(call wlog,PARAM=$(PARAM))
|
|
|
ifeq ($(dir $(PARAM)),/dev/)
|
|
|
KBUILD_OPTIONS += WLAN_CTRL_NAME=$(notdir $(PARAM))
|
|
|
endif
|
|
|
+endif
|
|
|
|
|
|
# Pass build options per chip to Kbuild. This will be injected from upper layer
|
|
|
# makefile.
|