add external atbm603x wifi driver

pull/614/head
cronyx 2023-01-07 17:33:21 +03:00
parent bb83fc2685
commit 2ef15bae52
7 changed files with 230 additions and 0 deletions

View File

@ -1,6 +1,7 @@
source "$BR2_EXTERNAL_ALLWINNER_PATH/linux/Config.ext.in" source "$BR2_EXTERNAL_ALLWINNER_PATH/linux/Config.ext.in"
#source "$BR2_EXTERNAL_ALLWINNER_PATH/package/allwinner-osdrv-v83x/Config.in" #source "$BR2_EXTERNAL_ALLWINNER_PATH/package/allwinner-osdrv-v83x/Config.in"
source "$BR2_EXTERNAL_ALLWINNER_PATH/package/allwinner_patcher/Config.in" source "$BR2_EXTERNAL_ALLWINNER_PATH/package/allwinner_patcher/Config.in"
source "$BR2_EXTERNAL_ALLWINNER_PATH/package/atbm603x/Config.in"
source "$BR2_EXTERNAL_ALLWINNER_PATH/package/aura-httpd/Config.in" source "$BR2_EXTERNAL_ALLWINNER_PATH/package/aura-httpd/Config.in"
source "$BR2_EXTERNAL_ALLWINNER_PATH/package/comgt/Config.in" source "$BR2_EXTERNAL_ALLWINNER_PATH/package/comgt/Config.in"
source "$BR2_EXTERNAL_ALLWINNER_PATH/package/dropbear-openipc/Config.in" source "$BR2_EXTERNAL_ALLWINNER_PATH/package/dropbear-openipc/Config.in"

View File

@ -98,6 +98,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y
# BR2_PACKAGE_RTL8188EU is not set # BR2_PACKAGE_RTL8188EU is not set
BR2_PACKAGE_ATBM603X=y
# WIREGUARD # WIREGUARD
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set # BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set

View File

@ -98,6 +98,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y
# BR2_PACKAGE_RTL8188EU is not set # BR2_PACKAGE_RTL8188EU is not set
BR2_PACKAGE_ATBM603X=y
# WIREGUARD # WIREGUARD
# BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set # BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set

View File

@ -0,0 +1 @@
../../general/package/atbm603x

View File

@ -0,0 +1,197 @@
--- a/Makefile 2023-01-07 16:35:17.971398884 +0300
+++ b/Makefile 2023-01-07 16:11:17.308131909 +0300
@@ -1,66 +1,139 @@
+############################################################################
+# ATBM WiFi Product Select
+#CONFIG_ATBM601x: 1T1R 80211b/g/n, HT20
+#CONFIG_ATBM602x: 1T1R 80211b/g/n, HT20,HT40
+#default CONFIG_ATBM603x
+############################################################################
+
+export
+CONFIG_ATBM601x = n
+CONFIG_ATBM602x = n
+CONFIG_ATBM603x = y
+
+############################################################################
+# ATBM WiFi Interface Select
+#default CONFIG_ATBM_USB_BUS
+############################################################################
+
+export
+CONFIG_ATBM_USB_BUS = y
+CONFIG_ATBM_SDIO_BUS = n
+CONFIG_ATBM_SPI_BUS = n
+
+############################################################################
+# ATBM WiFi SDIO Interface DPLL Freq Select
+#default 40M
+############################################################################
+
+export
+CONFIG_ATBM_SDIO_40M = y
+CONFIG_ATBM_SDIO_24M = n
+
+############################################################################
#
-#makefile for build atbm_wifi.ko
-#
-###############################################################################
-#
-# when release to customer, the CUSTOMER_SUPPORT_USED must set to y
+# The Follow Code Of The Makefile Should Not Be Changed
#
-###############################################################################
-CUSTOMER_SUPPORT_USED=n
-###############################################################################
-
-#PLATFORM_XUNWEI 1
-#PLATFORM_SUN6I 2
-#PLATFORM_FRIENDLY 3
-#PLATFORM_SUN6I_64 4
-#PLATFORM_HI3798M 5
-#PLATFORM_HI3518E 6
-#PLATFORM_X86PC 7
-#PLATFORM_AMLOGIC 8
-#PLATFORM_AMLOGIC_905X 9
-#PLATFORM_ROCKCHIP 10
-#PLATFORM_MSTAR 11
-#PLATFORM_CDLINUX 12
-#PLATFORM_AMLOGIC_S805 13
-#PLATFORM_HIS_LINUX_3_4 14
-#PLATFORM_ROCKCHIP_3229 15
-#PLATFORM_ROCKCHIP_3229_ANDROID8 16
-#PLATFORM_HS_IPC 17
-#PLATFORM_SIGMASTAR 18
-#PLATFORM_HI3516EV200 19
-#PLATFORM_XUNWEI_2G 20
-#PLATFORM_NVT98517 21
-#PLATFORM_INGENIC 22
-#PLATFORM_SUN8I 23
-
-export
-platform ?= PLATFORM_SUN8I
-sys ?= Linux
-arch ?= arm
-ATBM_WIFI__EXT_CCFLAGS = -DATBM_WIFI_PLATFORM=23
+############################################################################
+
+PWD:=$(shell pwd)
+WIFI_INSTALL_DIR := $(PWD)/output
+
+NOSTDINC_FLAGS := -I$(src)/include/ \
+ -include $(src)/include/linux/compat-2.6.h \
+ -DCOMPAT_STATIC
+#####################################################
export
-KERDIR := /home/cronyx/firmware/output/build/linux-4.9.118
-CROSS_COMPILE := /home/cronyx/firmware/output/host/bin/arm-openipc-linux-musleabihf-
+ifeq ($(CONFIG_ATBM601x),y)
+CONFIG_NOT_SUPPORT_40M_CHW = y
+CONFIG_ATHENAB=y
+CONFIG_ARESB=n
+CONFIG_ARES=n
+MODULES_NAME = atbm601x_wifi
+else ifeq ($(CONFIG_ATBM602x),y)
+CONFIG_ATHENAB=y
+CONFIG_ARESB=n
+CONFIG_ARES=n
+MODULES_NAME = atbm602x_wifi
+else ifeq ($(CONFIG_ATBM603x),y)
+CONFIG_ATHENAB=n
+CONFIG_ARESB=y
+CONFIG_ARES=n
+MODULES_NAME = atbm603x_wifi
+endif
-ifeq ($(CUSTOMER_SUPPORT_USED),y)
-MAKEFILE_SUB ?= Makefile.build.customer
+ifeq ($(CONFIG_ATBM_USB_BUS),y)
+USB_BUS=y
+else ifeq ($(CONFIG_ATBM_SDIO_BUS),y)
+SDIO_BUS=y
+ifeq ($(CONFIG_ATBM_SDIO_24M),y)
+CONFIG_ATHENAB_24M=y
+CONFIG_ATHENAB=n
else
-MAKEFILE_SUB ?= Makefile.build
+CONFIG_ATHENAB=y
+endif
+else ifeq ($(CONFIG_ATBM_SPI_BUS),y)
+SPI_BUS=y
+endif
+MULT_NAME=n
+ATBM_MAKEFILE_SUB=y
+#####################################################
+export
+ifeq ($(CONFIG_ATBM_APOLLO),)
+CONFIG_ATBM_APOLLO=m
+endif
+export
+ATBM_WIFI__EXT_CCFLAGS = -DATBM_WIFI_PLATFORM=23
+############################################
+export
+include $(src)/Makefile.build.kernel
+################### WIRELESS #########################
+ifeq ($(CONFIG_ATBM_APOLLO_DEBUG),)
+ATBM_WIFI__EXT_CCFLAGS += -DCONFIG_ATBM_APOLLO_DEBUG=1
+CONFIG_ATBM_APOLLO_DEBUG=y
+endif
+#####################################################
+export
+ifeq ($(CONFIG_MAC80211_ATBM_RC_MINSTREL),)
+ATBM_WIFI__EXT_CCFLAGS += -DCONFIG_MAC80211_ATBM_RC_MINSTREL=1
+CONFIG_MAC80211_ATBM_RC_MINSTREL=y
+endif
+ifeq ($(CONFIG_MAC80211_ATBM_RC_MINSTREL_HT),)
+ATBM_WIFI__EXT_CCFLAGS += -DCONFIG_MAC80211_ATBM_RC_MINSTREL_HT=1
+CONFIG_MAC80211_ATBM_RC_MINSTREL_HT=y
endif
-ifeq ($(KERNELRELEASE),)
+ifeq ($(USB_BUS),y)
+HIF:=usb
+endif
+ifeq ($(SDIO_BUS),y)
+HIF:=sdio
+endif
+ifeq ($(SPI_BUS),y)
+HIF:=spi
+endif
-all: install strip
+all: modules install
+
+modules: clean
+ $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KDIR) M=$(shell pwd) modules -j8
-install:
- @echo "make PLATFORM_CROSS=$(platform)"
- $(MAKE) all -f $(MAKEFILE_SUB) ARCH=$(arch) CROSS_COMPILE=$(CROSS_COMPILE) KDIR=$(KERDIR) SYS=$(sys) PLAT=$(platform)
-clean:
- $(MAKE) -f $(MAKEFILE_SUB) KDIR=$(KERDIR) ARCH=$(arch) clean
strip:
- $(MAKE) -f $(MAKEFILE_SUB) KDIR=$(KERDIR) ARCH=$(arch) SYS=$(sys) PLAT=$(platform) strip
-else
-export
-include $(src)/Makefile.build.kernel
-endif
+ $(CROSS_COMPILE)strip $(WIFI_INSTALL_DIR)/*.ko --strip-unneeded
+
+install: modules
+ mkdir -p $(WIFI_INSTALL_DIR)
+ chmod 777 $(WIFI_INSTALL_DIR)
+ cp hal_apollo/*.ko $(WIFI_INSTALL_DIR)
+
+clean:
+ rm -rf hal_apollo/*.o
+ rm -rf hal_apollo/*.ko
+ rm -rf modules.* Module.*
+ make -C $(KDIR) M=$(PWD) ARCH=$(ARCH) clean
+
+hal_clean:
+ rm -rf hal_apollo/*.ko
+ rm -rf hal_apollo/*.o
+ rm -rf hal_apollo/*.mod.c
+ rm -rf hal_apollo/*.cmd

View File

@ -0,0 +1,10 @@
config BR2_PACKAGE_ATBM603X
bool "atbm603x"
depends on BR2_LINUX_KERNEL
help
Wireless driver atbm603x.
Allwinner atbm603x WiFi driver
comment "ATBM603X needs a Linux kernel to be built"
depends on !BR2_LINUX_KERNEL

View File

@ -0,0 +1,19 @@
################################################################################
#
# AltoBeam atbm603x wifi driver
#
################################################################################
ATBM603X_VERSION = f01238ec655f8736d54033b986fbf889f1eef01c
ATBM603X_SITE = $(call github,OpenIPC,atbm_60xx,$(ATBM603X_VERSION))
ATBM603X_LICENSE = GPL-2.0
ATBM603X_MODULE_MAKE_OPTS = \
CONFIG_ATBM601x=n \
CONFIG_ATBM602x=n \
CONFIG_ATBM603x=y \
KVER=$(LINUX_VERSION_PROBED) \
KSRC=$(LINUX_DIR)
$(eval $(kernel-module))
$(eval $(generic-package))