net:wireless:Support eswin usb wifi ECR6600U
[platform/kernel/linux-starfive.git] / drivers / net / wireless / eswin / Makefile
1 ECRNX_VERS_NUM=ECR6600U_V1.1.0B04P05
2
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
5
6 #export DRIVER_PATH ?= $(shell pwd)
7 export DRIVER_PATH =  $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
8 DRIVER_PATH := $(DRIVER_PATH:/=)
9
10 #if build the host driver within linux kernel, the DRIVER_PATH should be defined to absolutly path
11 export product=6600u
12 ifeq ($(product), 6600u)
13         -include $(DRIVER_PATH)/feature_config/6600u_config
14 else
15         -include $(DRIVER_PATH)/feature_config/6600_config
16         ifeq ($(os), )
17                 export CONFIG_CEVA_RTOS=y
18         else
19                 export CONFIG_CEVA_RTOS=n
20         endif
21 endif
22
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 ###############################################################
30
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/
34 endif
35
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-
40 endif
41
42 ifeq ($(CONFIG_PLATFORM_RASPBERRY), y)
43 export KERNELDIR=/lib/modules/$(shell uname -r)/build
44 export KBUILDDIR=/lib/modules/$(shell uname -r)/build
45 endif
46
47 ifeq ($(CONFIG_PLATFORM_X86), y)
48 export KERNELDIR=/lib/modules/$(shell uname -r)/build
49 export KBUILDDIR=/lib/modules/$(shell uname -r)/build
50 endif
51
52 ifeq ($(CONFIG_PLATFORM_AML_T963), y)
53 ifeq ($(DRIVER_DIR), )
54 export DRIVER_PATH ?= $(shell pwd)
55 else
56 export DRIVER_PATH ?= $(DRIVER_DIR)
57 endif
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-
61 ARCH := arm
62 endif
63 #
64 # } // WAITING FOR KCONFIG
65 #
66
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)
77
78 # FW VARS
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)
86 # FW ARCH:
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
90
91 #FW VER INFO
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)\"
95
96 ifeq ($(CONFIG_ECRNX_FULLMAC), m)
97 MAC_SRC = fullmac
98 else ifeq ($(CONFIG_ECRNX_SOFTMAC), m)
99 MAC_SRC = softmac
100 endif
101
102
103 obj-m := $(ECRNX_MODULE_NAME).o
104
105 ifneq ($(KERNELRELEASE),)
106 include $(DRIVER_PATH)/$(MAC_SRC)/Makefile
107
108 else
109 all: modules
110
111 .PHONY: modules clean copy strip
112
113 modules:
114 ifeq ($(product), 6600u)
115         $(warning "select chip is $(product).")
116 else
117         $(warning "select chip is 6600.")
118 endif
119         rm -rf *.ko
120 ifeq ($(os), )
121         $(warning "select slave is used CEVA RTOS.")
122 else
123         $(warning "select slave is not used CEVA_RTOS.")
124 endif
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) $@
129 else
130         $(MAKE) -C $(KERNELDIR) O=$(KBUILDDIR) M=$(DRIVER_PATH) $@
131 endif
132         rm -rf *.o
133         rm -rf *.mod *.mod.c
134
135 copy:
136         cp -f $(DRIVER_PATH)/fullmac/$(ECRNX_MODULE_NAME).ko $(MODDESTDIR)
137
138 strip:
139         $(CROSS_COMPILE)strip --strip-unneeded $(ECRNX_MODULE_NAME).ko
140 clean:
141         rm -rf *.o
142         rm -rf *.ko *.mod *.mod.c
143         $(MAKE) -C $(KERNELDIR) O=$(KBUILDDIR) M=$(DRIVER_PATH) $@
144 #       @$(DRIVER_PATH)/mklink.sh clean
145 endif