From 1e31d4c145758b39476d9b02e6d18e36e1326d3d Mon Sep 17 00:00:00 2001 From: gtxaspec Date: Thu, 18 Jan 2024 02:56:37 -0800 Subject: [PATCH] adjust atbm60xx driver for expanded options including USB (#1263) --- .../configs/t31_ultimate_defconfig | 6 +++ general/package/atbm60xx/Config.in | 46 +++++++++++++++++-- general/package/atbm60xx/atbm60xx.mk | 42 +++++++++++++++-- 3 files changed, 87 insertions(+), 7 deletions(-) diff --git a/br-ext-chip-ingenic/configs/t31_ultimate_defconfig b/br-ext-chip-ingenic/configs/t31_ultimate_defconfig index 506ac26f..8637d752 100644 --- a/br-ext-chip-ingenic/configs/t31_ultimate_defconfig +++ b/br-ext-chip-ingenic/configs/t31_ultimate_defconfig @@ -103,6 +103,12 @@ BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y BR2_PACKAGE_ATBM60XX=y +# BR2_PACKAGE_ATBM60XX_MODEL_601X is not set +# BR2_PACKAGE_ATBM60XX_MODEL_602X is not set +BR2_PACKAGE_ATBM60XX_MODEL_603X=y +# BR2_PACKAGE_ATBM60XX_MODEL_6041 is not set +BR2_PACKAGE_ATBM60XX_INTERFACE_SDIO=y +# BR2_PACKAGE_ATBM60XX_INTERFACE_USB is not set BR2_PACKAGE_RTL8189FS_OPENIPC=y # BR2_PACKAGE_RTL8188EU is not set diff --git a/general/package/atbm60xx/Config.in b/general/package/atbm60xx/Config.in index 9a649f8f..c18c241c 100644 --- a/general/package/atbm60xx/Config.in +++ b/general/package/atbm60xx/Config.in @@ -2,9 +2,49 @@ config BR2_PACKAGE_ATBM60XX bool "atbm60xx" depends on BR2_LINUX_KERNEL help - Wireless driver atbm60xx. + Wireless driver atbm60xx. - Allwinner atbm60xx WiFi driver + ALTOBEAM atbm60xx WiFi driver -comment "ATBM60xX needs a Linux kernel to be built" +if BR2_PACKAGE_ATBM60XX + +choice + prompt "ATBM60XX Model" + help + Select the ATBM60XX model + +config BR2_PACKAGE_ATBM60XX_MODEL_601X + bool "ATBM601x" + +config BR2_PACKAGE_ATBM60XX_MODEL_602X + bool "ATBM602x" + +config BR2_PACKAGE_ATBM60XX_MODEL_603X + bool "ATBM603x" + +config BR2_PACKAGE_ATBM60XX_MODEL_6041 + bool "ATBM6041" + +endchoice + +if BR2_PACKAGE_ATBM60XX_MODEL_601X || BR2_PACKAGE_ATBM60XX_MODEL_602X || BR2_PACKAGE_ATBM60XX_MODEL_603X || BR2_PACKAGE_ATBM60XX_MODEL_6041 + +choice + prompt "Interface type for selected ATBM60XX model" + help + Select the interface type for the selected ATBM60XX model + +config BR2_PACKAGE_ATBM60XX_INTERFACE_USB + bool "USB" + +config BR2_PACKAGE_ATBM60XX_INTERFACE_SDIO + bool "SDIO" + +endchoice + +endif + +endif + +comment "ATBM60XX needs a Linux kernel to be built" depends on !BR2_LINUX_KERNEL diff --git a/general/package/atbm60xx/atbm60xx.mk b/general/package/atbm60xx/atbm60xx.mk index 22e462b9..a730ef33 100644 --- a/general/package/atbm60xx/atbm60xx.mk +++ b/general/package/atbm60xx/atbm60xx.mk @@ -14,13 +14,47 @@ ATBM60XX_SOURCE = master.tar.gz endif define ATBM60XX_INSTALL_TARGET_CMDS - $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/share/atbm60xx_conf - $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/share/atbm60xx_conf $(ATBM60XX_PKGDIR)/files/*.txt + $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/share/atbm60xx_conf + $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/share/atbm60xx_conf $(ATBM60XX_PKGDIR)/files/*.txt endef +ATBM60XX_MODULE_MAKE_OPTS = KSRC=$(LINUX_DIR) + +# Set the module name based on the model and interface type +ATBM60XX_MODEL_NAME = + +# Disable all models by default +ATBM60XX_MODULE_MAKE_OPTS += CONFIG_ATBM601x=n CONFIG_ATBM602x=n CONFIG_ATBM603x=n CONFIG_ATBM6041=n + +# Enable the selected model and set the interface type +ifeq ($(BR2_PACKAGE_ATBM60XX_MODEL_601X),y) +ATBM60XX_MODULE_MAKE_OPTS += CONFIG_ATBM601x=y +ATBM60XX_MODEL_NAME = atbm601x_wifi +endif +ifeq ($(BR2_PACKAGE_ATBM60XX_MODEL_602X),y) +ATBM60XX_MODULE_MAKE_OPTS += CONFIG_ATBM602x=y +ATBM60XX_MODEL_NAME = atbm602x_wifi +endif +ifeq ($(BR2_PACKAGE_ATBM60XX_MODEL_603X),y) +ATBM60XX_MODULE_MAKE_OPTS += CONFIG_ATBM603x=y +ATBM60XX_MODEL_NAME = atbm603x_wifi +endif +ifeq ($(BR2_PACKAGE_ATBM60XX_MODEL_6041),y) +ATBM60XX_MODULE_MAKE_OPTS += CONFIG_ATBM6041=y +ATBM60XX_MODEL_NAME = atbm6041_wifi +endif + +# Set the interface type +ifeq ($(BR2_PACKAGE_ATBM60XX_INTERFACE_USB),y) +ATBM60XX_MODULE_MAKE_OPTS += CONFIG_ATBM_USB_BUS=y CONFIG_ATBM_SDIO_BUS=n +ATBM60XX_MODULE_MAKE_OPTS += CONFIG_ATBM_MODULE_NAME="$(ATBM60XX_MODEL_NAME)_usb" +endif +ifeq ($(BR2_PACKAGE_ATBM60XX_INTERFACE_SDIO),y) +ATBM60XX_MODULE_MAKE_OPTS += CONFIG_ATBM_USB_BUS=n CONFIG_ATBM_SDIO_BUS=y +ATBM60XX_MODULE_MAKE_OPTS += CONFIG_ATBM_MODULE_NAME="$(ATBM60XX_MODEL_NAME)_sdio" +endif + ATBM60XX_LICENSE = GPL-2.0 -ATBM60XX_MODULE_MAKE_OPTS = \ - KSRC=$(LINUX_DIR) $(eval $(kernel-module)) $(eval $(generic-package))