Skip to content

Commit 337f0fe

Browse files
committed
drivers: wireless: add aic8800 support
1 parent 1c6721e commit 337f0fe

File tree

136 files changed

+84185
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

136 files changed

+84185
-0
lines changed

arch/riscv/configs/revyos_defconfig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2357,3 +2357,7 @@ CONFIG_TEST_USER_COPY=m
23572357
CONFIG_TEST_BPF=m
23582358
CONFIG_TEST_FIRMWARE=m
23592359
CONFIG_TEST_STATIC_KEYS=m
2360+
CONFIG_AIC_WLAN_SUPPORT=y
2361+
CONFIG_AIC_FW_PATH="/lib/firmware/aic8800"
2362+
CONFIG_AIC8800_WLAN_SUPPORT=m
2363+
CONFIG_AIC8800_BTLPM_SUPPORT=m

arch/riscv/configs/th1520_defconfig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -544,3 +544,7 @@ CONFIG_RTW88_8822C=m
544544
CONFIG_RTW88_8822CS=m
545545
CONFIG_USBEN=y
546546
CONFIG_FTRACE_SYSCALLS=y
547+
CONFIG_AIC_WLAN_SUPPORT=y
548+
CONFIG_AIC_FW_PATH="/lib/firmware/aic8800"
549+
CONFIG_AIC8800_WLAN_SUPPORT=m
550+
CONFIG_AIC8800_BTLPM_SUPPORT=m

drivers/net/wireless/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ menuconfig WLAN
1919
if WLAN
2020

2121
source "drivers/net/wireless/admtek/Kconfig"
22+
source "drivers/net/wireless/aic8800/Kconfig"
2223
source "drivers/net/wireless/ath/Kconfig"
2324
source "drivers/net/wireless/atmel/Kconfig"
2425
source "drivers/net/wireless/broadcom/Kconfig"

drivers/net/wireless/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#
55

66
obj-$(CONFIG_WLAN_VENDOR_ADMTEK) += admtek/
7+
obj-$(CONFIG_AIC_WLAN_SUPPORT) += aic8800/
78
obj-$(CONFIG_WLAN_VENDOR_ATH) += ath/
89
obj-$(CONFIG_WLAN_VENDOR_ATMEL) += atmel/
910
obj-$(CONFIG_WLAN_VENDOR_BROADCOM) += broadcom/
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
config AIC_WLAN_SUPPORT
2+
bool "AIC wireless Support"
3+
default n
4+
help
5+
This is support for aic wireless chip.
6+
7+
config AIC_FW_PATH
8+
depends on AIC_WLAN_SUPPORT
9+
string "Firmware & config file path"
10+
default "/vendor/etc/firmware"
11+
#default "/lib/firmware/aic8800_sdio"
12+
help
13+
Path to the firmware & config file.
14+
15+
if AIC_WLAN_SUPPORT
16+
source "drivers/net/wireless/aic8800/aic8800_fdrv/Kconfig"
17+
source "drivers/net/wireless/aic8800/aic8800_btlpm/Kconfig"
18+
endif
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
CONFIG_AIC8800_BTLPM_SUPPORT := m
2+
CONFIG_AIC8800_WLAN_SUPPORT := m
3+
CONFIG_AIC_WLAN_SUPPORT := m
4+
5+
obj-$(CONFIG_AIC8800_BTLPM_SUPPORT) += aic8800_btlpm/
6+
obj-$(CONFIG_AIC8800_WLAN_SUPPORT) += aic8800_fdrv/
7+
obj-$(CONFIG_AIC_WLAN_SUPPORT) += aic8800_bsp/
8+
9+
MAKEFLAGS +=-j$(shell nproc)
10+
11+
########## config option ##########
12+
export CONFIG_USE_FW_REQUEST = n
13+
export CONFIG_PREALLOC_RX_SKB = n
14+
export CONFIG_PREALLOC_TXQ = y
15+
export CONFIG_OOB = n
16+
export CONFIG_GPIO_WAKEUP = n
17+
export CONFIG_RESV_MEM_SUPPORT = y
18+
###################################
19+
20+
########## Platform support list ##########
21+
export CONFIG_PLATFORM_ROCKCHIP = n
22+
export CONFIG_PLATFORM_ROCKCHIP2 = n
23+
export CONFIG_PLATFORM_ALLWINNER = n
24+
export CONFIG_PLATFORM_AMLOGIC = n
25+
export CONFIG_PLATFORM_UBUNTU = y
26+
27+
ifeq ($(CONFIG_PLATFORM_ROCKCHIP), y)
28+
ARCH = arm64
29+
KDIR = /home/yaya/E/Rockchip/3566/firefly/Android11.0/Firefly-RK356X_Android11.0_git_20210824/RK356X_Android11.0/kernel
30+
CROSS_COMPILE = /home/yaya/E/Rockchip/3566/firefly/Android11.0/Firefly-RK356X_Android11.0_git_20210824/RK356X_Android11.0/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
31+
ccflags-y += -DANDROID_PLATFORM
32+
ccflags-y += -DCONFIG_PLATFORM_ROCKCHIP
33+
endif
34+
35+
ifeq ($(CONFIG_PLATFORM_ROCKCHIP2), y)
36+
KDIR := /home/yaya/E/Rockchip/3126/Android6/kernel
37+
ARCH ?= arm
38+
CROSS_COMPILE ?= /home/yaya/E/Rockchip/3288/Android5/rk3288_JHY/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
39+
ccflags-y += -DANDROID_PLATFORM
40+
ccflags-y += -DCONFIG_PLATFORM_ROCKCHIP2
41+
endif
42+
43+
ifeq ($(CONFIG_PLATFORM_ALLWINNER), y)
44+
KDIR = /home/yaya/E/Allwinner/A133/Android10/linux-4.9
45+
ARCH = arm64
46+
CROSS_COMPILE = /home/yaya/E/Allwinner/r818/Android10/lichee/out/gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
47+
export CONFIG_SUPPORT_LPM = y
48+
ccflags-y += -DANDROID_PLATFORM
49+
endif
50+
51+
ifeq ($(CONFIG_PLATFORM_AMLOGIC), y)
52+
ARCH = arm
53+
CROSS_COMPILE = /home/yaya/D/Workspace/CyberQuantum/JinHaoYue/amls905x3/SDK/20191101-0tt-asop/android9.0/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androidkernel-
54+
KDIR = /home/yaya/D/Workspace/CyberQuantum/JinHaoYue/amls905x3/SDK/20191101-0tt-asop/android9.0/out/target/product/u202/obj/KERNEL_OBJ/
55+
ccflags-y += -DANDROID_PLATFORM
56+
export CONFIG_SUPPORT_LPM = y
57+
endif
58+
59+
ifeq ($(CONFIG_PLATFORM_UBUNTU), y)
60+
#KDIR = /lib/modules/$(shell uname -r)/build
61+
KDIR = $(LINUX_DIR)
62+
PWD = $(shell pwd)
63+
KVER = $(shell uname -r)
64+
#MODDESTDIR = /lib/modules/$(KVER)/kernel/drivers/net/wireless/aic8800
65+
#ARCH = x86_64
66+
#CROSS_COMPILE ?=
67+
endif
68+
###########################################
69+
70+
all: modules
71+
modules:
72+
make -C $(KDIR) M=$(PWD) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) modules
73+
74+
install:
75+
mkdir -p $(MODDESTDIR)
76+
install -p -m 644 aic8800_bsp/aic8800_bsp.ko $(MODDESTDIR)/
77+
install -p -m 644 aic8800_fdrv/aic8800_fdrv.ko $(MODDESTDIR)/
78+
install -p -m 644 aic8800_btlpm/aic8800_btlpm.ko $(MODDESTDIR)/
79+
/sbin/depmod -a ${KVER}
80+
81+
uninstall:
82+
rm -rfv $(MODDESTDIR)/aic8800_bsp.ko
83+
rm -rfv $(MODDESTDIR)/aic8800_fdrv.ko
84+
rm -rfv $(MODDESTDIR)/aic8800_btlpm.ko
85+
/sbin/depmod -a ${KVER}
86+
87+
clean:
88+
cd aic8800_bsp/;make clean;cd ..
89+
cd aic8800_fdrv/;make clean;cd ..
90+
cd aic8800_btlpm/;make clean;cd ..
91+
rm -rf modules.order Module.symvers .modules.order.cmd .Module.symvers.cmd .tmp_versions/
92+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
*.o
2+
*.ko
3+
*.order
4+
*.symvers
5+
*.o.d
6+
*.o.cmd
7+
*.ko.cmd
8+
*.mod
9+
*.mod.c
10+
*.mod.cmd
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
CONFIG_SDIO_SUPPORT := y
2+
CONFIG_SDIO_PWRCTRL := y
3+
#CONFIG_AIC_FW_PATH = "/vendor/etc/firmware"
4+
CONFIG_AIC_FW_PATH = "/lib/firmware/aic8800"
5+
export CONFIG_AIC_FW_PATH
6+
ccflags-y += -DCONFIG_AIC_FW_PATH=\"$(CONFIG_AIC_FW_PATH)\"
7+
8+
MODULE_NAME := aic8800_bsp
9+
ifeq ($(CONFIG_SDIO_SUPPORT), y)
10+
ccflags-y += -DAICWF_SDIO_SUPPORT
11+
ccflags-$(CONFIG_SDIO_PWRCTRL) += -DCONFIG_SDIO_PWRCTRL
12+
endif
13+
14+
CONFIG_GPIO_WAKEUP ?= n
15+
CONFIG_M2D_OTA_AUTO_SUPPORT = n
16+
CONFIG_M2D_OTA_LZMA_SUPPORT = n
17+
CONFIG_LINK_DET_5G = y
18+
CONFIG_MCU_MESSAGE = n
19+
CONFIG_FIRMWARE_ARRAY = n
20+
# Need to set fw path in BOARD_KERNEL_CMDLINE
21+
CONFIG_USE_FW_REQUEST ?= n
22+
CONFIG_FDRV_NO_REG_SDIO = n
23+
CONFIG_VRF_DCDC_MODE = y
24+
CONFIG_OOB ?= n
25+
CONFIG_PREALLOC_TXQ = y
26+
CONFIG_DPD = y
27+
CONFIG_FORCE_DPD_CALIB = y
28+
CONFIG_RESV_MEM_SUPPORT ?= y
29+
CONFIG_AMSDU_RX = n
30+
CONFIG_IRQ_FALL ?= n
31+
CONFIG_SDIO_BT = n
32+
33+
ccflags-$(CONFIG_GPIO_WAKEUP) += -DCONFIG_GPIO_WAKEUP
34+
ccflags-$(CONFIG_M2D_OTA_AUTO_SUPPORT) += -DCONFIG_M2D_OTA_AUTO_SUPPORT
35+
ccflags-$(CONFIG_M2D_OTA_LZMA_SUPPORT) += -DCONFIG_M2D_OTA_LZMA_SUPPORT
36+
ccflags-$(CONFIG_LINK_DET_5G) += -DCONFIG_LINK_DET_5G
37+
ccflags-$(CONFIG_MCU_MESSAGE) += -DCONFIG_MCU_MESSAGE
38+
ccflags-$(CONFIG_FIRMWARE_ARRAY) += -DCONFIG_FIRMWARE_ARRAY
39+
ccflags-$(CONFIG_USE_FW_REQUEST) += -DCONFIG_USE_FW_REQUEST
40+
ccflags-$(CONFIG_FDRV_NO_REG_SDIO) += -DCONFIG_FDRV_NO_REG_SDIO
41+
ccflags-$(CONFIG_VRF_DCDC_MODE) += -DCONFIG_VRF_DCDC_MODE
42+
ccflags-$(CONFIG_OOB) += -DCONFIG_OOB
43+
ccflags-$(CONFIG_PREALLOC_TXQ) += -DCONFIG_PREALLOC_TXQ
44+
ccflags-$(CONFIG_DPD) += -DCONFIG_DPD
45+
ccflags-$(CONFIG_FORCE_DPD_CALIB) += -DCONFIG_FORCE_DPD_CALIB -DCONFIG_DPD
46+
ccflags-$(CONFIG_RESV_MEM_SUPPORT) += -DCONFIG_RESV_MEM_SUPPORT
47+
ccflags-$(CONFIG_AMSDU_RX) += -DCONFIG_AMSDU_RX
48+
ccflags-$(CONFIG_IRQ_FALL) += -DCONFIG_IRQ_FALL
49+
ccflags-$(CONFIG_SDIO_BT) += -DCONFIG_SDIO_BT
50+
51+
obj-m := $(MODULE_NAME).o
52+
$(MODULE_NAME)-y := \
53+
aic8800dc_compat.o \
54+
aic8800d80_compat.o \
55+
aic_bsp_main.o \
56+
aic_bsp_driver.o \
57+
aicsdio.o \
58+
aicsdio_txrxif.o \
59+
md5.o
60+
61+
$(MODULE_NAME)-$(CONFIG_PREALLOC_TXQ) += aicwf_txq_prealloc.o
62+
63+
ifeq ($(CONFIG_FIRMWARE_ARRAY),y)
64+
$(MODULE_NAME)-y += aicwf_firmware_array.o
65+
endif
66+
67+
########## Platform support list ##########
68+
CONFIG_PLATFORM_ROCKCHIP ?= n
69+
CONFIG_PLATFORM_ROCKCHIP2 ?= n
70+
CONFIG_PLATFORM_ALLWINNER ?=n
71+
CONFIG_PLATFORM_INGENIC_T20 ?= n
72+
CONFIG_PLATFORM_AMLOGIC ?= n
73+
CONFIG_PLATFORM_UBUNTU ?= y
74+
75+
ifeq ($(CONFIG_PLATFORM_ROCKCHIP), y)
76+
ccflags-$(CONFIG_PLATFORM_ROCKCHIP) += -DCONFIG_PLATFORM_ROCKCHIP
77+
KDIR ?= /home/yaya/E/Rockchip/3566/firefly/Android11.0/Firefly-RK356X_Android11.0_git_20210824/RK356X_Android11.0/kernel
78+
ARCH ?= arm64
79+
CROSS_COMPILE ?= /home/yaya/E/Rockchip/3566/Android11/rk3566_rk3568_android11_oranth/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
80+
endif
81+
82+
ifeq ($(CONFIG_PLATFORM_ROCKCHIP2), y)
83+
ccflags-$(CONFIG_PLATFORM_ROCKCHIP2) += -DCONFIG_PLATFORM_ROCKCHIP2
84+
ARCH ?= arm64
85+
KDIR ?= /home/yaya/E/Rockchip/3566/firefly/Android11.0/Firefly-RK356X_Android11.0_git_20210824/RK356X_Android11.0/kernel
86+
CROSS_COMPILE ?= /home/yaya/E/Rockchip/3566/firefly/Android11.0/Firefly-RK356X_Android11.0_git_20210824/RK356X_Android11.0/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
87+
endif
88+
89+
ifeq ($(CONFIG_PLATFORM_ALLWINNER), y)
90+
ccflags-$(CONFIG_PLATFORM_ALLWINNER) += -DCONFIG_PLATFORM_ALLWINNER
91+
KDIR ?= /home/yaya/E/Allwinner/r818/Android10/lichee/kernel/linux-4.9/
92+
ARCH ?= arm64
93+
CROSS_COMPILE ?= /home/yaya/E/Allwinner/r818/Android10/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-
94+
95+
endif
96+
97+
ifeq ($(CONFIG_PLATFORM_INGENIC_T20), y)
98+
KDIR ?= /home/yaya/E/T40/kernel
99+
ARCH ?= mips
100+
CROSS_COMPILE ?= /home/yaya/E/T40/mips-linux-gnu-ingenic-gcc7.2.0-glibc2.29-fp64/bin/mips-linux-gnu-
101+
endif
102+
103+
ifeq ($(CONFIG_PLATFORM_AMLOGIC), y)
104+
ccflags-$(CONFIG_PLATFORM_AMLOGIC) += -DCONFIG_PLATFORM_AMLOGIC
105+
KDIR ?= /home/aiden/D1/SDK/Amlogic/905x3_a9/android9.0/out/target/product/u202/obj/KERNEL_OBJ/
106+
ARCH ?= arm
107+
CROSS_COMPILE ?= /home/aiden/D1/SDK/Amlogic/905x3_a9/android9.0/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-
108+
endif
109+
110+
ifeq ($(CONFIG_PLATFORM_UBUNTU), y)
111+
ccflags-$(CONFIG_PLATFORM_UBUNTU) += -DCONFIG_PLATFORM_UBUNTU
112+
KDIR ?= /lib/modules/$(shell uname -r)/build
113+
PWD ?= $(shell pwd)
114+
KVER ?= $(shell uname -r)
115+
MODDESTDIR ?= /lib/modules/$(KVER)/kernel/drivers/net/wireless/
116+
ARCH ?= x86_64
117+
CROSS_COMPILE ?=
118+
endif
119+
###########################################
120+
121+
all: modules
122+
modules:
123+
make -C $(KDIR) M=$(PWD) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) modules
124+
125+
install:
126+
mkdir -p $(MODDESTDIR)
127+
install -p -m 644 $(MODULE_NAME).ko $(MODDESTDIR)
128+
/sbin/depmod -a ${KVER}
129+
130+
uninstall:
131+
rm -rfv $(MODDESTDIR)/$(MODULE_NAME).ko
132+
/sbin/depmod -a ${KVER}
133+
134+
clean:
135+
rm -rf *.o *.ko *.o.* *.mod.* modules.* Module.* .a* .o* .*.o.* *.mod .tmp* .cache.mk built-in.a
136+

0 commit comments

Comments
 (0)