2025-05-10 21:58:58 +08:00

667 lines
20 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0
PWD := $(shell pwd)
CURFOLDER ?= $(pwd)
LD_CFLAGS += -D__linux__
EXTRA_CFLAGS=-fno-pic
all_dependencies := driver
driver_dependencies :=
#### Global configs for each item ######
ifeq ($(CFG_GK_WIFI_DEVICE_UWE5621),y)
export CONFIG_WCN_SDIO = y
#export CONFIG_WCN_USB = y
ccflags-y += -DCONFIG_CHECK_DRIVER_BY_CHIPID
#ccflags-y += -DCONFIG_UWE5621
BSP_CHIP_ID := uwe5621
WCN_HW_TYPE := sdio
endif
ifeq ($(CFG_GK_WIFI_DEVICE_UWE5623),y)
export CONFIG_WCN_SDIO = y
#export CONFIG_WCN_USB = y
ccflags-y += -DCONFIG_CHECK_DRIVER_BY_CHIPID
#ccflags-y += -DCONFIG_UWE5623
BSP_CHIP_ID := uwe5621
WCN_HW_TYPE := sdio
endif
ifeq ($(CFG_GK_WIFI_DEVICE_UWE5623_USB),y)
#export CONFIG_WCN_SDIO = y
export CONFIG_WCN_USB = y
#ccflags-y += -DCONFIG_CHECK_DRIVER_BY_CHIPID
ccflags-y += -DCONFIG_UWE5623
BSP_CHIP_ID := uwe5623
WCN_HW_TYPE := usb
endif
ifeq ($(CFG_HI_WIFI_DEVICE_UWE5621),y)
export CONFIG_WCN_SDIO = y
#export CONFIG_WCN_USB = y
ccflags-y += -DCONFIG_CHECK_DRIVER_BY_CHIPID
#ccflags-y += -DCONFIG_UWE5621
BSP_CHIP_ID := uwe5621
WCN_HW_TYPE := sdio
endif
ifeq ($(CFG_HI_WIFI_DEVICE_UWE5623),y)
export CONFIG_WCN_SDIO = y
#export CONFIG_WCN_USB = y
ccflags-y += -DCONFIG_CHECK_DRIVER_BY_CHIPID
#ccflags-y += -DCONFIG_UWE5623
BSP_CHIP_ID := uwe5621
WCN_HW_TYPE := sdio
endif
ifeq ($(CFG_HI_WIFI_DEVICE_UWE5623_USB),y)
#export CONFIG_WCN_SDIO = y
export CONFIG_WCN_USB = y
#ccflags-y += -DCONFIG_CHECK_DRIVER_BY_CHIPID
ccflags-y += -DCONFIG_UWE5623
BSP_CHIP_ID := uwe5623
WCN_HW_TYPE := usb
endif
ifeq ($(CFG_AML_WIFI_DEVICE_UWE5621),y)
export CONFIG_WCN_SDIO = y
#export CONFIG_WCN_USB = y
ccflags-y += -DCONFIG_CHECK_DRIVER_BY_CHIPID
#ccflags-y += -DCONFIG_UWE5621
BSP_CHIP_ID := uwe5621
WCN_HW_TYPE := sdio
endif
ifeq ($(CFG_AML_WIFI_DEVICE_UWE5622),y)
export CONFIG_WCN_SDIO = y
#export CONFIG_WCN_USB = y
# export CONFIG_WCN_GNSS = y
ccflags-y += -DCONFIG_CHECK_DRIVER_BY_CHIPID
#ccflags-y += -DCONFIG_UWE5622
BSP_CHIP_ID := uwe5621
WCN_HW_TYPE := sdio
endif
ifeq ($(CFG_AML_WIFI_DEVICE_UWE5623_USB),y)
#export CONFIG_WCN_SDIO = y
export CONFIG_WCN_USB = y
#ccflags-y += -DCONFIG_CHECK_DRIVER_BY_CHIPID
ccflags-y += -DCONFIG_UWE5623
BSP_CHIP_ID := uwe5623
WCN_HW_TYPE := usb
endif
ifeq ($(CFG_AML_LINUX_WIFI_DEVICE_UWE5621),y)
export CONFIG_WCN_SDIO = y
#export CONFIG_WCN_USB = y
ccflags-y += -DCONFIG_CHECK_DRIVER_BY_CHIPID
#ccflags-y += -DCONFIG_UWE5621
BSP_CHIP_ID := uwe5621
WCN_HW_TYPE := sdio
endif
ifeq ($(CONFIG_RK_WIFI_DEVICE_UWE5621),y)
export CONFIG_WCN_SDIO = y
#export CONFIG_WCN_USB = y
ccflags-y += -DCONFIG_CHECK_DRIVER_BY_CHIPID
#ccflags-y += -DCONFIG_UWE5621
BSP_CHIP_ID := uwe5621
WCN_HW_TYPE := sdio
endif
ifeq ($(CONFIG_RK_WIFI_DEVICE_UWE5622),y)
export CONFIG_WCN_SDIO = y
#export CONFIG_WCN_USB = y
# export CONFIG_WCN_GNSS = y
#ccflags-y += -DCONFIG_CHECK_DRIVER_BY_CHIPID
ccflags-y += -DCONFIG_UWE5622
BSP_CHIP_ID := uwe5622
WCN_HW_TYPE := sdio
endif
ifeq ($(CONFIG_AW_WIFI_DEVICE_UWE5622),y)
export CONFIG_WCN_SDIO = y
#export CONFIG_WCN_USB = y
# export CONFIG_WCN_GNSS = y
ccflags-y += -DCONFIG_CHECK_DRIVER_BY_CHIPID
#ccflags-y += -DCONFIG_UWE5622
BSP_CHIP_ID := uwe5622
WCN_HW_TYPE := sdio
endif
ifeq ($(CFG_MTK_WIFI_DEVICE_UWE5623_USB),y)
#export CONFIG_WCN_SDIO = y
export CONFIG_WCN_USB = y
#ccflags-y += -DCONFIG_CHECK_DRIVER_BY_CHIPID
ccflags-y += -DCONFIG_UWE5623
BSP_CHIP_ID := uwe5623
WCN_HW_TYPE := usb
endif
ifeq ($(CFG_MTK_WIFI_DEVICE_UWE5623),y)
export CONFIG_WCN_SDIO = y
#export CONFIG_WCN_USB = y
ccflags-y += -DCONFIG_CHECK_DRIVER_BY_CHIPID
#ccflags-y += -DCONFIG_UWE5623
BSP_CHIP_ID := uwe5621
WCN_HW_TYPE := sdio
endif
MODULE_NAME := $(BSP_CHIP_ID)_bsp_$(WCN_HW_TYPE)
ifneq ($(UNISOC_FW_PATH_CONFIG),)
ccflags-y += -DCONFIG_CUSTOMIZE_UNISOC_FW_PATH=\"$(UNISOC_FW_PATH_CONFIG)\"
endif
ifneq ($(UNISOC_DBG_FILESIZE_CONFIG),)
ccflags-y += -DCONFIG_CUSTOMIZE_UNISOC_DBG_FILESIZE=$(UNISOC_DBG_FILESIZE_CONFIG)
endif
ifneq ($(UNISOC_DBG_FILENUM_CONFIG),)
ccflags-y += -DCONFIG_CUSTOMIZE_UNISOC_DBG_FILENUM=$(UNISOC_DBG_FILENUM_CONFIG)
endif
ifneq ($(UNISOC_DBG_PATH_CONFIG),)
ccflags-y += -DCONFIG_CUSTOMIZE_UNISOC_DBG_PATH=\"$(UNISOC_DBG_PATH_CONFIG)\"
endif
ifneq ($(UNISOC_SDIO_IRQ_TYPE_CONFIG),)
ccflags-y += -DCONFIG_CUSTOMIZE_SDIO_IRQ_TYPE=$(UNISOC_SDIO_IRQ_TYPE_CONFIG)
endif
ifneq ($(UNISOC_32_BIT_RX_RECVBUF_LEN_CONFIG),)
ccflags-y += -DCONFIG_CUSTOMIZE_32_BIT_RX_RECVBUF_LEN=$(UNISOC_32_BIT_RX_RECVBUF_LEN_CONFIG)
endif
ifneq ($(UNISOC_64_BIT_RX_RECVBUF_LEN_CONFIG),)
ccflags-y += -DCONFIG_CUSTOMIZE_64_BIT_RX_RECVBUF_LEN=$(UNISOC_64_BIT_RX_RECVBUF_LEN_CONFIG)
endif
#### add cflag ######
ifeq ($(CONFIG_WCN_SDIO),y)
ccflags-y += -DCONFIG_WCN_SDIO
ccflags-y += -DCONFIG_WCN_SLP
ccflags-y += -DCONFIG_WCN_SWD
#ccflags-y += -DCONFIG_WCN_TXRX_NSLP
export CONFIG_WCN_SWD = y
endif
ifeq ($(CONFIG_WCN_PCIE),y)
ccflags-y += -DCONFIG_WCN_PCIE
endif
ifeq ($(CONFIG_WCN_SIPC),y)
ccflags-y += -DCONFIG_WCN_SIPC
endif
ifeq ($(CONFIG_WCN_USB),y)
ccflags-y += -DCONFIG_WCN_USB
endif
ifeq ($(CONFIG_WCN_GNSS),y)
ccflags-y += -DCONFIG_WCN_GNSS
endif
ifneq ($(TARGET_BUILD_VARIANT),user)
#ccflags-y += -DCONFIG_WCN_LOOPCHECK
#ccflags-y += -DCONFIG_CPLOG_DEBUG
endif
ccflags-y += -DCONFIG_WCN_BOOT
ccflags-y += -DCONFIG_WCN_UTILS
#####not use CONFIG_CP2_ASSERT, must close CONFIG_WCN_LOOPCHECK#####
ccflags-y += -DCONFIG_CP2_ASSERT
#### include path ######
ccflags-y += -I$(src)/include/
ccflags-y += -I$(src)/platform/
ccflags-y += -I$(src)/platform/rf/
#### add cflag for Customer ######
### ---------- Goke start ---------- ###
ifeq ($(CFG_GK_WIFI_DEVICE_UWE5621),y)
#### add cflag ######
ccflags-y += -DCONFIG_GOKE_BOARD
ifeq ($(CFG_GK_WIFI_GK6323AB),y)
ccflags-y += -DCONFIG_GK6323AB
endif
#ccflags-y += -DCONFIG_WCN_PARSE_DTS
#ccflags-y += -DCONFIG_WCN_CHIPEN
#ccflags-y += -DCONFIG_WCN_RESET
#ccflags-y += -DCONFIG_WCN_POWER_UP_DOWN
#ccflags-y += -DCONFIG_WCN_DOWNLOAD_FIRMWARE_FROM_HEX
ccflags-y += -DCONFIG_BT_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WL_WAKE_HOST_EN
ccflags-y += -DCONFIG_WCN_RESUME_POWER_DOWN
#ccflags-y += -DCONFIG_WCN_RESUME_KEEPPWR_RESETSDIO
#ccflags-y += -DCONFIG_WCN_CHECK_MODULE_VENDOR
#ccflags-y += -DCONFIG_MEM_PD
ifeq ($(CFG_GK_WIFI_GK6323AB),)
ccflags-y += -DCONFIG_SDIO_TX_ADMA_MODE
ccflags-y += -DCONFIG_SDIO_RX_ADMA_MODE
endif
ccflags-y += -DCONFIG_SDIO_INBAND_INT
#ccflags-y += -DCONFIG_SDIO_INBAND_POLLING
ccflags-y += -DCONFIG_SDIO_BLKSIZE_512
#ccflags-y += -DCONFIG_SDIO_PWRSEQ
all_dependencies += install
endif
ifeq ($(CFG_GK_WIFI_DEVICE_UWE5623),y)
#### add cflag ######
ccflags-y += -DCONFIG_GOKE_BOARD
#ccflags-y += -DCONFIG_WCN_PARSE_DTS
#ccflags-y += -DCONFIG_WCN_CHIPEN
#ccflags-y += -DCONFIG_WCN_RESET
#ccflags-y += -DCONFIG_WCN_POWER_UP_DOWN
#ccflags-y += -DCONFIG_WCN_DOWNLOAD_FIRMWARE_FROM_HEX
ccflags-y += -DCONFIG_BT_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WL_WAKE_HOST_EN
ccflags-y += -DCONFIG_WCN_RESUME_POWER_DOWN
#ccflags-y += -DCONFIG_WCN_RESUME_KEEPPWR_RESETSDIO
#ccflags-y += -DCONFIG_WCN_CHECK_MODULE_VENDOR
#ccflags-y += -DCONFIG_MEM_PD
ccflags-y += -DCONFIG_SDIO_TX_ADMA_MODE
ccflags-y += -DCONFIG_SDIO_RX_ADMA_MODE
ccflags-y += -DCONFIG_SDIO_INBAND_INT
#ccflags-y += -DCONFIG_SDIO_INBAND_POLLING
ccflags-y += -DCONFIG_SDIO_BLKSIZE_512
#ccflags-y += -DCONFIG_SDIO_PWRSEQ
all_dependencies += install
endif
ifeq ($(CFG_GK_WIFI_DEVICE_UWE5623_USB),y)
#### add cflag ######
ccflags-y += -DCONFIG_GOKE_BOARD
#ccflags-y += -DCONFIG_WCN_PARSE_DTS
#ccflags-y += -DCONFIG_WCN_CHIPEN
#ccflags-y += -DCONFIG_WCN_RESET
#ccflags-y += -DCONFIG_WCN_POWER_UP_DOWN
#ccflags-y += -DCONFIG_WCN_INT_AP
#ccflags-y += -DCONFIG_WCN_DOWNLOAD_FIRMWARE_FROM_HEX
#ccflags-y += -DCONFIG_BT_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WL_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WCN_RESUME_POWER_DOWN
#ccflags-y += -DCONFIG_WCN_RESUME_KEEPPWR_RESETSDIO
#ccflags-y += -DCONFIG_WCN_CHECK_MODULE_VENDOR
ccflags-y += -DCONFIG_SYS_REBOOT_NOT_REPOWER_USBCHIP
all_dependencies += install
endif
### ---------- Goke end ---------- ###
### ---------- Hisilicon start ---------- ###
ifeq ($(CFG_HI_WIFI_DEVICE_UWE5621),y)
#### add cflag ######
ccflags-y += -DCONFIG_HISI_BOARD
#ccflags-y += -DCONFIG_WCN_PARSE_DTS
#ccflags-y += -DCONFIG_WCN_CHIPEN
#ccflags-y += -DCONFIG_WCN_RESET
#ccflags-y += -DCONFIG_WCN_POWER_UP_DOWN
#ccflags-y += -DCONFIG_WCN_DOWNLOAD_FIRMWARE_FROM_HEX
ccflags-y += -DCONFIG_BT_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WL_WAKE_HOST_EN
ccflags-y += -DCONFIG_WCN_RESUME_POWER_DOWN
#ccflags-y += -DCONFIG_WCN_RESUME_KEEPPWR_RESETSDIO
#ccflags-y += -DCONFIG_WCN_CHECK_MODULE_VENDOR
#ccflags-y += -DCONFIG_MEM_PD
ccflags-y += -DCONFIG_SDIO_TX_ADMA_MODE
ccflags-y += -DCONFIG_SDIO_RX_ADMA_MODE
ccflags-y += -DCONFIG_SDIO_INBAND_INT
#ccflags-y += -DCONFIG_SDIO_INBAND_POLLING
ccflags-y += -DCONFIG_SDIO_BLKSIZE_512
#ccflags-y += -DCONFIG_SDIO_PWRSEQ
all_dependencies += install
endif
ifeq ($(CFG_HI_WIFI_DEVICE_UWE5623),y)
#### add cflag ######
ccflags-y += -DCONFIG_HISI_BOARD
#ccflags-y += -DCONFIG_WCN_PARSE_DTS
#ccflags-y += -DCONFIG_WCN_CHIPEN
#ccflags-y += -DCONFIG_WCN_RESET
#ccflags-y += -DCONFIG_WCN_POWER_UP_DOWN
#ccflags-y += -DCONFIG_WCN_DOWNLOAD_FIRMWARE_FROM_HEX
ccflags-y += -DCONFIG_BT_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WL_WAKE_HOST_EN
ccflags-y += -DCONFIG_WCN_RESUME_POWER_DOWN
#ccflags-y += -DCONFIG_WCN_RESUME_KEEPPWR_RESETSDIO
#ccflags-y += -DCONFIG_WCN_CHECK_MODULE_VENDOR
#ccflags-y += -DCONFIG_MEM_PD
ccflags-y += -DCONFIG_SDIO_TX_ADMA_MODE
ccflags-y += -DCONFIG_SDIO_RX_ADMA_MODE
ccflags-y += -DCONFIG_SDIO_INBAND_INT
#ccflags-y += -DCONFIG_SDIO_INBAND_POLLING
ccflags-y += -DCONFIG_SDIO_BLKSIZE_512
#ccflags-y += -DCONFIG_SDIO_PWRSEQ
all_dependencies += install
endif
ifeq ($(CFG_HI_WIFI_DEVICE_UWE5623_USB),y)
#### add cflag ######
ccflags-y += -DCONFIG_HISI_BOARD
#ccflags-y += -DCONFIG_WCN_PARSE_DTS
#ccflags-y += -DCONFIG_WCN_CHIPEN
#ccflags-y += -DCONFIG_WCN_RESET
#ccflags-y += -DCONFIG_WCN_POWER_UP_DOWN
#ccflags-y += -DCONFIG_WCN_INT_AP
#ccflags-y += -DCONFIG_WCN_DOWNLOAD_FIRMWARE_FROM_HEX
#ccflags-y += -DCONFIG_BT_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WL_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WCN_RESUME_POWER_DOWN
#ccflags-y += -DCONFIG_WCN_RESUME_KEEPPWR_RESETSDIO
#ccflags-y += -DCONFIG_WCN_CHECK_MODULE_VENDOR
ccflags-y += -DCONFIG_SYS_REBOOT_NOT_REPOWER_USBCHIP
all_dependencies += install
endif
### ---------- Hisilicon end ---------- ###
### ---------- Amlogic start ---------- ###
ifeq ($(CFG_AML_WIFI_DEVICE_UWE5621),y)
#### add cflag ######
ccflags-y += -DCONFIG_AML_BOARD
#ccflags-y += -DCONFIG_WCN_PARSE_DTS
#ccflags-y += -DCONFIG_WCN_CHIPEN
#ccflags-y += -DCONFIG_WCN_RESET
ccflags-y += -DCONFIG_WCN_RESET_PIN_CONNECTED
ccflags-y += -DCONFIG_WCN_POWER_UP_DOWN
#ccflags-y += -DCONFIG_WCN_DOWNLOAD_FIRMWARE_FROM_HEX
ccflags-y += -DCONFIG_BT_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WL_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WCN_RESUME_POWER_DOWN
#ccflags-y += -DCONFIG_WCN_RESUME_KEEPPWR_RESETSDIO
#ccflags-y += -DCONFIG_WCN_CHECK_MODULE_VENDOR
#ccflags-y += -DCONFIG_MEM_PD
#ccflags-y += -DCONFIG_SDIO_TX_ADMA_MODE
#ccflags-y += -DCONFIG_SDIO_RX_ADMA_MODE
# ccflags-y += -DCONFIG_SDIO_INBAND_INT
ifeq ($(UNISOC_SDIO_IRQ_TYPE_CONFIG),)
ccflags-y += -DCONFIG_CUSTOMIZE_SDIO_IRQ_TYPE=3
endif
#ccflags-y += -DCONFIG_SDIO_INBAND_POLLING
ccflags-y += -DCONFIG_SDIO_BLKSIZE_512
#ccflags-y += -DCONFIG_SDIO_PWRSEQ
driver_dependencies += $(firmware_target)
endif
ifeq ($(CFG_AML_WIFI_DEVICE_UWE5622),y)
#### add cflag ######
ccflags-y += -DCONFIG_AML_BOARD
#ccflags-y += -DCONFIG_WCN_PARSE_DTS
#ccflags-y += -DCONFIG_WCN_CHIPEN
#ccflags-y += -DCONFIG_WCN_RESET
#ccflags-y += -DCONFIG_WCN_RESET_PIN_CONNECTED
ccflags-y += -DCONFIG_WCN_POWER_UP_DOWN
#ccflags-y += -DCONFIG_WCN_DOWNLOAD_FIRMWARE_FROM_HEX
#ccflags-y += -DCONFIG_BT_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WL_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WCN_RESUME_POWER_DOWN
#ccflags-y += -DCONFIG_WCN_RESUME_KEEPPWR_RESETSDIO
#ccflags-y += -DCONFIG_WCN_CHECK_MODULE_VENDOR
#ccflags-y += -DCONFIG_MEM_PD
#ccflags-y += -DCONFIG_SDIO_TX_ADMA_MODE
#ccflags-y += -DCONFIG_SDIO_RX_ADMA_MODE
#ccflags-y += -DCONFIG_SDIO_INBAND_INT
#ccflags-y += -DCONFIG_SDIO_INBAND_POLLING
ccflags-y += -DCONFIG_CUSTOMIZE_SDIO_IRQ_TYPE=3
ccflags-y += -DCONFIG_SDIO_BLKSIZE_512
#ccflags-y += -DCONFIG_SDIO_PWRSEQ
driver_dependencies += $(firmware_target)
endif
ifeq ($(CFG_AML_WIFI_DEVICE_UWE5623_USB),y)
#### add cflag ######
ccflags-y += -DCONFIG_AML_BOARD
#ccflags-y += -DCONFIG_WCN_PARSE_DTS
#ccflags-y += -DCONFIG_WCN_CHIPEN
#ccflags-y += -DCONFIG_WCN_RESET
#ccflags-y += -DCONFIG_WCN_POWER_UP_DOWN
#ccflags-y += -DCONFIG_WCN_INT_AP
#ccflags-y += -DCONFIG_WCN_DOWNLOAD_FIRMWARE_FROM_HEX
#ccflags-y += -DCONFIG_BT_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WL_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WCN_RESUME_POWER_DOWN
#ccflags-y += -DCONFIG_WCN_RESUME_KEEPPWR_RESETSDIO
#ccflags-y += -DCONFIG_WCN_CHECK_MODULE_VENDOR
#ccflags-y += -DCONFIG_SYS_REBOOT_NOT_REPOWER_USBCHIP
driver_dependencies += $(firmware_target)
endif
ifeq ($(CFG_AML_LINUX_WIFI_DEVICE_UWE5621),y)
#### add cflag ######
ccflags-y += -DCONFIG_AML_BOARD
#ccflags-y += -DCONFIG_WCN_PARSE_DTS
#ccflags-y += -DCONFIG_WCN_CHIPEN
#ccflags-y += -DCONFIG_WCN_RESET
#ccflags-y += -DCONFIG_WCN_RESET_PIN_CONNECTED
ccflags-y += -DCONFIG_WCN_POWER_UP_DOWN
#ccflags-y += -DCONFIG_WCN_DOWNLOAD_FIRMWARE_FROM_HEX
ccflags-y += -DCONFIG_BT_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WL_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WCN_RESUME_POWER_DOWN
#ccflags-y += -DCONFIG_WCN_RESUME_KEEPPWR_RESETSDIO
#ccflags-y += -DCONFIG_WCN_CHECK_MODULE_VENDOR
#ccflags-y += -DCONFIG_MEM_PD
#ccflags-y += -DCONFIG_SDIO_TX_ADMA_MODE
#ccflags-y += -DCONFIG_SDIO_RX_ADMA_MODE
#ccflags-y += -DCONFIG_SDIO_INBAND_INT
ifeq ($(UNISOC_SDIO_IRQ_TYPE_CONFIG),)
ccflags-y += -DCONFIG_CUSTOMIZE_SDIO_IRQ_TYPE=3
endif
#ccflags-y += -DCONFIG_SDIO_INBAND_POLLING
ccflags-y += -DCONFIG_SDIO_BLKSIZE_512
#ccflags-y += -DCONFIG_SDIO_PWRSEQ
driver_dependencies += $(firmware_target)
endif
### ---------- Amlogic end ---------- ###
### ---------- Rockchip start ---------- ###
ifeq ($(CONFIG_RK_WIFI_DEVICE_UWE5621),y)
#### add cflag ######
ccflags-y += -DCONFIG_RK_BOARD
ccflags-y += -DCONFIG_WCN_PARSE_DTS
#ccflags-y += -DCONFIG_WCN_DOWNLOAD_FIRMWARE_FROM_HEX
#ccflags-y += -DCONFIG_WCN_RESUME_POWER_DOWN
#ccflags-y += -DCONFIG_WCN_RESUME_KEEPPWR_RESETSDIO
#ccflags-y += -DCONFIG_WCN_CHECK_MODULE_VENDOR
#ccflags-y += -DCONFIG_MEM_PD
all_dependencies += install
endif
ifeq ($(CONFIG_RK_WIFI_DEVICE_UWE5622),y)
#### add cflag ######
ccflags-y += -DCONFIG_RK_BOARD
ccflags-y += -DCONFIG_WCN_PARSE_DTS
#ccflags-y += -DCONFIG_WCN_DOWNLOAD_FIRMWARE_FROM_HEX
#ccflags-y += -DCONFIG_WCN_RESUME_POWER_DOWN
#ccflags-y += -DCONFIG_WCN_RESUME_KEEPPWR_RESETSDIO
#ccflags-y += -DCONFIG_WCN_CHECK_MODULE_VENDOR
#ccflags-y += -DCONFIG_MEM_PD
all_dependencies += install
endif
### ---------- Rockchip end ---------- ###
### ---------- Allwinner start ---------- ###
ifeq ($(CONFIG_AW_WIFI_DEVICE_UWE5622),y)
#### add cflag ######
ccflags-y += -DCONFIG_AW_BOARD
#ccflags-y += -DCONFIG_WCN_PARSE_DTS
#ccflags-y += -DCONFIG_WCN_CHIPEN
#ccflags-y += -DCONFIG_WCN_RESET
#ccflags-y += -DCONFIG_WCN_RESET_PIN_CONNECTED
ccflags-y += -DCONFIG_WCN_POWER_UP_DOWN
#ccflags-y += -DCONFIG_WCN_DOWNLOAD_FIRMWARE_FROM_HEX
ccflags-y += -DCONFIG_BT_WAKE_HOST_EN
ccflags-y += -DCONFIG_WL_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WCN_RESUME_POWER_DOWN
#ccflags-y += -DCONFIG_WCN_RESUME_KEEPPWR_RESETSDIO
#ccflags-y += -DCONFIG_WCN_CHECK_MODULE_VENDOR
#ccflags-y += -DCONFIG_MEM_PD
ccflags-y += -DCONFIG_SDIO_TX_ADMA_MODE
ccflags-y += -DCONFIG_SDIO_RX_ADMA_MODE
ccflags-y += -DCONFIG_SDIO_INBAND_INT
#ccflags-y += -DCONFIG_SDIO_INBAND_POLLING
#ccflags-y += -DCONFIG_SDIO_BLKSIZE_512
#ccflags-y += -DCONFIG_SDIO_PWRSEQ
all_dependencies += install
endif
### ---------- Allwinner end ---------- ###
### ---------- Mediatek start ---------- ###
ifeq ($(CFG_MTK_WIFI_DEVICE_UWE5623_USB),y)
#### add cflag ######
ccflags-y += -DCONFIG_MTK_BOARD
#ccflags-y += -DCONFIG_WCN_PARSE_DTS
#ccflags-y += -DCONFIG_WCN_CHIPEN
#ccflags-y += -DCONFIG_WCN_RESET
#ccflags-y += -DCONFIG_WCN_POWER_UP_DOWN
#ccflags-y += -DCONFIG_WCN_INT_AP
#ccflags-y += -DCONFIG_WCN_DOWNLOAD_FIRMWARE_FROM_HEX
#ccflags-y += -DCONFIG_BT_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WL_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WCN_RESUME_POWER_DOWN
#ccflags-y += -DCONFIG_WCN_RESUME_KEEPPWR_RESETSDIO
#ccflags-y += -DCONFIG_WCN_CHECK_MODULE_VENDOR
ccflags-y += -DCONFIG_SYS_REBOOT_NOT_REPOWER_USBCHIP
all_dependencies += install
endif
ifeq ($(CFG_MTK_WIFI_DEVICE_UWE5623),y)
#### add cflag ######
ccflags-y += -DCONFIG_MTK_BOARD
#ccflags-y += -DCONFIG_WCN_PARSE_DTS
#ccflags-y += -DCONFIG_WCN_CHIPEN
#ccflags-y += -DCONFIG_WCN_RESET
#ccflags-y += -DCONFIG_WCN_RESET_PIN_CONNECTED
ccflags-y += -DCONFIG_WCN_POWER_UP_DOWN
#ccflags-y += -DCONFIG_WCN_DOWNLOAD_FIRMWARE_FROM_HEX
ccflags-y += -DCONFIG_BT_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WL_WAKE_HOST_EN
#ccflags-y += -DCONFIG_WCN_RESUME_POWER_DOWN
#ccflags-y += -DCONFIG_WCN_RESUME_KEEPPWR_RESETSDIO
#ccflags-y += -DCONFIG_WCN_CHECK_MODULE_VENDOR
#ccflags-y += -DCONFIG_MEM_PD
#ccflags-y += -DCONFIG_SDIO_TX_ADMA_MODE
#ccflags-y += -DCONFIG_SDIO_RX_ADMA_MODE
ccflags-y += -DCONFIG_SDIO_INBAND_INT
#ccflags-y += -DCONFIG_CUSTOMIZE_SDIO_IRQ_TYPE=2
#ccflags-y += -DCONFIG_SDIO_INBAND_POLLING
ccflags-y += -DCONFIG_SDIO_BLKSIZE_512
#ccflags-y += -DCONFIG_SDIO_PWRSEQ
all_dependencies += install
endif
### ---------- Mediatek end ---------- ###
### --- Put firmware into ko ---###
BIN2HEX_TOOL := $(PWD)/fw/bin2hex
ifeq ($(CONFIG_WCN_SDIO),y)
firmware_file := $(PWD)/fw/wcnmodem.bin
firmware_target := $(PWD)/fw/wcnmodem.bin.hex
endif
ifeq ($(CONFIG_WCN_USB),y)
firmware_file := $(PWD)/fw/wcnmodem_usb.bin
firmware_target := $(PWD)/fw/wcnmodem_usb.bin.hex
endif
### --- Put firmware into ko ---###
ifdef CONFIG_WCN_BSP_DRIVER_BUILDIN
#
# Support sprdwcn_bsp build-in.
#
obj-y := $(MODULE_NAME).o
else
#
# Support sprdwcn_bsp ko module loading.
# This else branch is reserved for debuging.
#
obj-m := $(MODULE_NAME).o
endif
$(MODULE_NAME)-y += wcn_bus.o \
platform/wcn_boot.o \
platform/wcn_dump.o \
platform/bufring.o \
platform/wcn_txrx.o \
platform/wcn_op.o \
platform/wcn_parn_parser.o \
platform/rdc_debug.o \
platform/wcn_log.o \
platform/wcn_misc.o \
platform/wcn_procfs.o \
platform/loopcheck.o
$(MODULE_NAME)-$(CONFIG_WCN_SWD) += platform/wcn_swd_dp.o
$(MODULE_NAME)-$(CONFIG_WCN_USB) += \
usb/wcn_usb.o \
usb/wcn_usb_rx_tx.o \
usb/wcn_usb_store.o \
usb/wcn_usb_io.o \
usb/wcn_usb_test.o \
usb/wcn_usb_download.o \
platform/usb_boot.o
$(MODULE_NAME)-$(CONFIG_WCN_SDIO) += \
sdio/sdiohal_main.o \
sdio/sdiohal_common.o \
sdio/sdiohal_tx.o \
sdio/sdiohal_rx.o \
sdio/sdio_v3.o \
sdio/sdiohal_ctl.o \
sleep/sdio_int.o \
sleep/slp_mgr.o \
sleep/slp_sdio.o \
sleep/slp_test.o \
platform/mem_pd_mgr.o
$(MODULE_NAME)-$(CONFIG_WCN_GNSS) += \
platform/gnss/gnss_common_ctl.o \
platform/gnss/gnss_pmnotify_ctl.o \
platform/gnss/gnss_dbg.o \
platform/gnss/gnss_dump.o \
# wcn module bind verify
ifeq ($(CONFIG_AW_BIND_VERIFY),y)
WCN_BSP_TOP := $(dir $(lastword $(MAKEFILE_LIST)))
$(shell cp $(WCN_BSP_TOP)/platform/wcn_bind_verify.lib $(WCN_BSP_TOP)/platform/wcn_bind_verify.a)
$(MODULE_NAME)-$(CONFIG_AW_BIND_VERIFY) += \
platform/wcn_bind_verify.a
endif
KDIR ?= $(ANDROID_PRODUCT_OUT)/obj/KERNEL_OBJ
ARCH ?= arm
CROSS_COMPILE ?= arm-histbv310-linux-
EXTRA_CFLAGS += -I$(src)/include -D__linux__
all: $(all_dependencies)
$(firmware_target): $(firmware_file)
@echo Convert $(firmware_file) to $(firmware_target)
@$(BIN2HEX_TOOL) $(firmware_file)
driver: $(driver_dependencies)
@echo Convert $(firmware_file) to $(firmware_target)
@$(BIN2HEX_TOOL) $(firmware_file)
@echo build driver
$(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KDIR) M=$(PWD) modules
install:
@echo install targets
mkdir -p $(ANDROID_PRODUCT_OUT)/system/lib/modules
cp -fv $(PWD)/$(MODULE_NAME).ko $(ANDROID_PRODUCT_OUT)/system/lib/modules/$(MODULE_NAME).ko
make clean
clean:
$(MAKE) -C $(KDIR) M=$(PWD) clean
$(RM) Module.markers
$(RM) modules.order