1 ECRNX_VERS_NUM=ECR6600U_V1.1.0B04P05
3 # config_ceva_rtos = y use ceva rtos and add task_cli id
4 # config_ceva_rtos = n use freertos and no task_cli id
6 #export DRIVER_PATH ?= $(shell pwd)
7 export DRIVER_PATH = $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
8 DRIVER_PATH := $(DRIVER_PATH:/=)
10 #if build the host driver within linux kernel, the DRIVER_PATH should be defined to absolutly path
12 ifeq ($(product), 6600u)
13 -include $(DRIVER_PATH)/feature_config/6600u_config
15 -include $(DRIVER_PATH)/feature_config/6600_config
17 export CONFIG_CEVA_RTOS=y
19 export CONFIG_CEVA_RTOS=n
23 ###################### Platform Related #######################
24 CONFIG_PLATFORM_RTK_RTD2851D = n
25 CONFIG_PLATFORM_MTK_MT9255 = n
26 CONFIG_PLATFORM_RASPBERRY = y
27 CONFIG_PLATFORM_X86 = n
28 CONFIG_PLATFORM_AML_T963 = n
29 ###############################################################
31 ifeq ($(CONFIG_PLATFORM_RTK_RTD2851D), y)
32 export KERNELDIR=/work3/zhanghong/realtek/rtk10/vendor/realtek/tool/kernel/linux/linux-4.14/
33 export KBUILDDIR=/work3/zhanghong/realtek/rtk10/vendor/realtek/tool/kernel/linux/linux-4.14/
36 ifeq ($(CONFIG_PLATFORM_MTK_MT9255), y)
37 export KERNELDIR= $(DRIVER_PATH)/../../../../../../kernel/fusion/4.9
38 export KBUILDDIR= $(DRIVER_PATH)/../../../../../../kernel/fusion/4.9
39 export CROSS_COMPILE:=$(DRIVER_PATH)/../../../../../../prebuilts/mtk_toolchain/gcc-arm-linux-gnu-5.5.0-ubuntu/x86_64/bin/arm-linux-gnueabi-
42 ifeq ($(CONFIG_PLATFORM_RASPBERRY), y)
43 export KERNELDIR=/lib/modules/$(shell uname -r)/build
44 export KBUILDDIR=/lib/modules/$(shell uname -r)/build
47 ifeq ($(CONFIG_PLATFORM_X86), y)
48 export KERNELDIR=/lib/modules/$(shell uname -r)/build
49 export KBUILDDIR=/lib/modules/$(shell uname -r)/build
52 ifeq ($(CONFIG_PLATFORM_AML_T963), y)
53 ifeq ($(DRIVER_DIR), )
54 export DRIVER_PATH ?= $(shell pwd)
56 export DRIVER_PATH ?= $(DRIVER_DIR)
58 export KERNELDIR ?= $(DRIVER_PATH)/../../../../../../out/target/product/T963/obj/KERNEL_OBJ
59 export KBUILDDIR ?= $(DRIVER_PATH)/../../../../../../out/target/product/T963/obj/KERNEL_OBJ
60 CROSS_COMPILE ?= /opt/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
64 # } // WAITING FOR KCONFIG
67 subdir-ccflags-$(CONFIG_6600_HAL) += -DCONFIG_6600_HAL
68 subdir-ccflags-$(CONFIG_DEBUG_FS) += -DCONFIG_ECRNX_DEBUGFS
69 subdir-ccflags-$(CONFIG_DEBUG_FS) += -DCONFIG_ECRNX_UM_HELPER_DFLT=\"$(CONFIG_ECRNX_UM_HELPER_DFLT)\"
70 subdir-ccflags-$(CONFIG_ECRNX_P2P_DEBUGFS) += -DCONFIG_ECRNX_P2P_DEBUGFS
71 subdir-ccflags-$(CONFIG_CEVA_RTOS) += -DCONFIG_CEVA_RTOS
72 subdir-ccflags-$(CONFIG_ECRNX_DBG) += -DCONFIG_ECRNX_DBG
73 subdir-ccflags-$(CONFIG_ECRNX_KTHREAD) += -DCONFIG_ECRNX_KTHREAD
74 subdir-ccflags-$(CONFIG_ECRNX_WORKQUEUE) += -DCONFIG_ECRNX_WORKQUEUE
75 subdir-ccflags-$(CONFIG_ECRNX_TASKLET) += -DCONFIG_ECRNX_TASKLET
76 subdir-ccflags-y += -DCONFIG_ECRNX_DBG_LEVEL=$(CONFIG_ECRNX_DBG_LEVEL)
79 subdir-ccflags-y += -DNX_VIRT_DEV_MAX=$(NX_VIRT_DEV_MAX)
80 subdir-ccflags-y += -DNX_REMOTE_STA_MAX=$(NX_REMOTE_STA_MAX)
81 subdir-ccflags-y += -DNX_MU_GROUP_MAX=$(NX_MU_GROUP_MAX)
82 subdir-ccflags-y += -DNX_TXDESC_CNT=$(NX_TXDESC_CNT)
83 subdir-ccflags-y += -DNX_TX_MAX_RATES=$(NX_TX_MAX_RATES)
84 subdir-ccflags-y += -DNX_CHAN_CTXT_CNT=$(NX_CHAN_CTXT_CNT)
85 #subdir-ccflags-y += -DCONFIG_POWERKEY_GPIO=$(CONFIG_POWERKEY_GPIO)
87 subdir-ccflags-$(CONFIG_ECRNX_SDM) += -DCONFIG_ECRNX_SDM
88 subdir-ccflags-$(CONFIG_ECRNX_TL4) += -DCONFIG_ECRNX_TL4
89 subdir-ccflags-$(CONFIG_ECRNX_OLD_IPC) += -DCONFIG_ECRNX_OLD_IPC
92 DRIVER_BUILD_TIME = "$(shell TZ=CST date -u "+%Y-%m-%d %H:%M:%S CST")"
93 subdir-ccflags-y += -DECRNX_VERS_MOD=\"$(ECRNX_VERS_NUM)\"
94 subdir-ccflags-y += -DECRNX_VERS_BANNER=\"$(ECRNX_MODULE_NAME)-$(ECRNX_VERS_NUM)-build\:$(DRIVER_BUILD_TIME)\"
96 ifeq ($(CONFIG_ECRNX_FULLMAC), m)
98 else ifeq ($(CONFIG_ECRNX_SOFTMAC), m)
103 obj-m := $(ECRNX_MODULE_NAME).o
105 ifneq ($(KERNELRELEASE),)
106 include $(DRIVER_PATH)/$(MAC_SRC)/Makefile
111 .PHONY: modules clean copy strip
114 ifeq ($(product), 6600u)
115 $(warning "select chip is $(product).")
117 $(warning "select chip is 6600.")
121 $(warning "select slave is used CEVA RTOS.")
123 $(warning "select slave is not used CEVA_RTOS.")
125 ifeq ($(CONFIG_PLATFORM_MTK_MT9255), y)
126 $(MAKE) -C $(KERNELDIR) CROSS_COMPILE=$(CROSS_COMPILE) O=$(KBUILDDIR) M=$(DRIVER_PATH) $@
127 else ifeq ($(CONFIG_PLATFORM_AML_T963), y)
128 $(MAKE) -C $(KERNELDIR) CROSS_COMPILE=$(CROSS_COMPILE) ARCH=$(ARCH) O=$(KBUILDDIR) M=$(DRIVER_PATH) $@
130 $(MAKE) -C $(KERNELDIR) O=$(KBUILDDIR) M=$(DRIVER_PATH) $@
136 cp -f $(DRIVER_PATH)/fullmac/$(ECRNX_MODULE_NAME).ko $(MODDESTDIR)
139 $(CROSS_COMPILE)strip --strip-unneeded $(ECRNX_MODULE_NAME).ko
142 rm -rf *.ko *.mod *.mod.c
143 $(MAKE) -C $(KERNELDIR) O=$(KBUILDDIR) M=$(DRIVER_PATH) $@
144 # @$(DRIVER_PATH)/mklink.sh clean