diff --git a/br-ext-chip-allwinner/Config.in b/br-ext-chip-allwinner/Config.in index 29bfdcad..774e5703 100644 --- a/br-ext-chip-allwinner/Config.in +++ b/br-ext-chip-allwinner/Config.in @@ -1,6 +1,7 @@ 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_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/comgt/Config.in" source "$BR2_EXTERNAL_ALLWINNER_PATH/package/dropbear-openipc/Config.in" diff --git a/br-ext-chip-allwinner/configs/v83x_lite_defconfig b/br-ext-chip-allwinner/configs/v83x_lite_defconfig index 3b6d4f47..b9fd6e10 100644 --- a/br-ext-chip-allwinner/configs/v83x_lite_defconfig +++ b/br-ext-chip-allwinner/configs/v83x_lite_defconfig @@ -98,6 +98,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y # BR2_PACKAGE_RTL8188EU is not set +BR2_PACKAGE_ATBM603X=y # WIREGUARD # BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set diff --git a/br-ext-chip-allwinner/configs/v83x_ultimate_defconfig b/br-ext-chip-allwinner/configs/v83x_ultimate_defconfig index e3e76cd4..a4bca3a3 100644 --- a/br-ext-chip-allwinner/configs/v83x_ultimate_defconfig +++ b/br-ext-chip-allwinner/configs/v83x_ultimate_defconfig @@ -98,6 +98,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y # BR2_PACKAGE_RTL8188EU is not set +BR2_PACKAGE_ATBM603X=y # WIREGUARD # BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set diff --git a/br-ext-chip-allwinner/package/atbm603x b/br-ext-chip-allwinner/package/atbm603x new file mode 120000 index 00000000..f9fa2d80 --- /dev/null +++ b/br-ext-chip-allwinner/package/atbm603x @@ -0,0 +1 @@ +../../general/package/atbm603x \ No newline at end of file diff --git a/general/package/atbm603x/00000-makefile.patch b/general/package/atbm603x/00000-makefile.patch new file mode 100644 index 00000000..e6786c7b --- /dev/null +++ b/general/package/atbm603x/00000-makefile.patch @@ -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 diff --git a/general/package/atbm603x/Config.in b/general/package/atbm603x/Config.in new file mode 100644 index 00000000..d1804654 --- /dev/null +++ b/general/package/atbm603x/Config.in @@ -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 diff --git a/general/package/atbm603x/atbm603x.mk b/general/package/atbm603x/atbm603x.mk new file mode 100644 index 00000000..e25b99c3 --- /dev/null +++ b/general/package/atbm603x/atbm603x.mk @@ -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))