1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
# Comment/uncomment the following line to disable/enable debugging
MAKE = make
RM = rm
MV = mv
ECHO = echo
CP = cp
#DEBUG = y
# Add your debugging flag (or not) to CFLAGS
ifeq ($(DEBUG),y)
DEBFLAGS = -O -g
else
DEBFLAGS = -O2
endif
#Use external 1.4V VCO
EXTRA_CFLAGS += -DVCO_14_SUPPLY
#EXTRA_CFLAGS += -DREG_0XF6_NOT_CLEAR_BUG_FIX
EXTRA_CFLAGS += -DDISABLE_PWRSAVE_AND_SCAN_DURING_IP
EXTRA_CFLAGS += -DAGING_ALG
#Default to NMI=EVAL if NMI isn't defined
ifeq ($(strip $(NMI)),)
NMI=EVAL
endif
ifeq ($(NMI),EVAL)
EXTRA_CFLAGS += -DNMC_ASIC_A0
else ifeq ($(NMI),FPGA)
endif
ifeq ($(BUS),SDIO)
EXTRA_CFLAGS += -DNMI_SDIO
endif
ifeq ($(SDIO_IRQ),GPIO)
EXTRA_CFLAGS += -DNMI_SDIO_IRQ_GPIO
endif
ifeq ($(DMA_VER),VER_1)
EXTRA_CFLAGS += -DUSE_DMA_VER_1
endif
ifeq ($(TARGET),SIMULATION)
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
TARGET=SIMULATION
EXTRA_CFLAGS += -DSIMULATION -g
OUT_ARCH = x86
else ifeq ($(TARGET),PANDA)
KERNELDIR ?= $(DEV_TREE)/kernel/omap
EXTRA_CFLAGS += -DPANDA_BOARD -DUSE_WIRELESS
MAKE_FLAGS := CROSS_COMPILE=$(DEV_TREE)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- ARCH=arm
OUT_ARCH = ARM-3.0
#EXTRA_CFLAGS += -DSIMULATION
else ifeq ($(TARGET),BEAGLE)
KERNELDIR ?= $(DEV_TREE)
OUT_ARCH = ARM-2.6.39
MAKE_FLAGS := CROSS_COMPILE=arm-arago-linux-gnueabi- ARCH=arm
EXTRA_CFLAGS += -DBEAGLE_BOARD
KERNELDIR ?= $(DEV_TREE)
else ifeq ($(TARGET),NM73131)
KERNELDIR ?= $(DEV_TREE_LPC)
OUT_ARCH = ARM-2.6.28.2
MAKE_FLAGS := CROSS_COMPILE=arm-linux- ARCH=arm
EXTRA_CFLAGS += -DNM73131_0_BOARD
else ifeq ($(TARGET),ALLWINNER)
KERNELDIR ?= $(DEV_TREE)/linux-3.0
MAKE_FLAGS := CROSS_COMPILE=$(DEV_TREE)/buildroot/output/external-toolchain/bin/arm-none-linux-gnueabi- ARCH=arm
EXTRA_CFLAGS += -DALLWINNER_BOARD -DUSE_WIRELESS
OUT_ARCH = ARM-3.0
else ifeq ($(TARGET),ALLWINNER_A20)
KERNELDIR ?= $(DEV_TREE)/linux-3.3
MAKE_FLAGS := CROSS_COMPILE=$(DEV_TREE)/out/android/common/buildroot/external-toolchain/bin/arm-linux-gnueabi- ARCH=arm
EXTRA_CFLAGS += -DPLAT_ALLWINNER_A20 -DUSE_WIRELESS
OUT_ARCH = ARM-3.3
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
OUT_ARCH = x86
TARGET=SIMULATION
EXTRA_CFLAGS += -DSIMULATION
endif
ifeq ($(FIRMLOG),HOST)
EXTRA_CFLAGS += -DSWITCH_LOG_TERMINAL
endif
EXTRA_CFLAGS += $(DEBFLAGS) -I $(PWD)/../../NMI_OsWrapper/include/
EXTRA_CFLAGS += -I $(PWD)/../../ -I $(PWD)/../include -I $(PWD)/../ -I $(PWD)/include
EXTRA_CFLAGS += -DNMI_PLATFORM=NMI_LINUXKERNEL
EXTRA_CFLAGS += -Wno-unused-function
obj-m := nmi_wifi.o
ifeq ($(TARGET),NM73131)
ifeq ($(BUS),SDIO)
nmi_wifi-objs := source/linux_wlan.o source/linux_wlan_sdio.o\
source/nmi_debugfs.o source/nmi_queue.o\
../binary/linux/$(OUT_ARCH)/NMI_WiFi_Driver.a\
../../NMI_OsWrapper/binary/linux/$(OUT_ARCH)/NMI_OsWrapper.a
else
nmi_wifi-objs := source/linux_wlan.o source/linux_wlan_spi.o\
source/nmi_debugfs.o source/nmi_queue.o\
../binary/linux/$(OUT_ARCH)/NMI_WiFi_Driver.a\
../../NMI_OsWrapper/binary/linux/$(OUT_ARCH)/NMI_OsWrapper.a
endif
else
ifeq ($(BUS),SDIO)
nmi_wifi-objs := source/NMI_WFI_NetDevice.o source/NMI_WFI_CfgOperations.o\
source/linux_wlan.o source/linux_wlan_sdio.o source/linux_mon.o\
source/nmi_debugfs.o source/nmi_queue.o\
../binary/linux/$(OUT_ARCH)/NMI_WiFi_Driver.a\
../../NMI_OsWrapper/binary/linux/$(OUT_ARCH)/NMI_OsWrapper.a
else
nmi_wifi-objs := source/NMI_WFI_NetDevice.o source/NMI_WFI_CfgOperations.o\
source/linux_wlan.o source/linux_wlan_spi.o source/linux_mon.o\
source/nmi_debugfs.o source/nmi_queue.o\
../binary/linux/$(OUT_ARCH)/NMI_WiFi_Driver.a\
../../NMI_OsWrapper/binary/linux/$(OUT_ARCH)/NMI_OsWrapper.a
endif
endif
ifneq ($(KERNELRELEASE),)
# call from kernel build system
else
#KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
echo KERNELDIR = $(KERNELDIR)
$(MAKE) TARGET=$(TARGET) NMI=$(NMI) BUS=$(BUS) FULLY_HOSTING_AP=$(FULLY_HOSTING_AP) -C ../
@$(ECHO) "###########################################"
@$(ECHO) "##### Building NMI WiFi for Linux ######"
@$(ECHO) "##### TARGET =" $(TARGET) "######"
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules $(MAKE_FLAGS)
mkdir -p binary/linux/$(OUT_ARCH)
$(MV) -f $(PWD)/nmi_wifi.ko binary/linux/$(OUT_ARCH)/nmi_wifi.ko
endif
clean:
$(MAKE) TARGET=$(TARGET) NMI=$(NMI) BUS=$(BUS) -C ../ clean
@$(ECHO) "###########################################"
@$(ECHO) "##### Cleaning NMI WiFi for Linux ######"
@$(ECHO) "##### TARGET =" $(TARGET) "######"
$(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) clean
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
rm -rf binary/linux/$(OUT_ARCH)/nmi_wifi.ko
depend .depend dep:
$(CC) $(CFLAGS) -M *.c > .depend
ifeq (.depend,$(wildcard .depend))
include .depend
endif
|