Files
eternalwrt-mt798x/package/kernel/aic8800/Makefile
T
Tianling Shen cec44a8d85 aic8800: fix build with mips
Fix conflict with mips PC marco.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-05-21 17:21:57 +08:00

181 lines
5.7 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (c) 2025 ImmortalWrt.org
include $(TOPDIR)/rules.mk
PKG_NAME:=aic8800
PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/radxa-pkg/aic8800.git
PKG_SOURCE_DATE:=2026-03-10
PKG_SOURCE_VERSION:=89f865b80f5f2ba6c0711c560e1d0191e87a1bf0
PKG_MIRROR_HASH:=fb54d2ac13109cf49c1b981424f26e3cc595826f033392284f6b3835a162e069
PKG_CONFIG_DEPENDS:=CONFIG_AIC8800_SDIO_BT_SUPPORT
PKG_FLAGS:=nonshared
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk
define Package/aic8800-firmware/Default
SECTION:=firmware
CATEGORY:=Firmware
TITLE:=Aicsemi aic8800 $(1) firmware
endef
Package/aic8800-pcie-firmware = $(call Package/aic8800-firmware/Default,PCIe)
Package/aic8800-sdio-firmware = $(call Package/aic8800-firmware/Default,SDIO)
Package/aic8800-usb-firmware = $(call Package/aic8800-firmware/Default,USB)
define KernelPackage/aic8800/Default
SUBMENU:=Wireless Drivers
TITLE:=Aicsemi aic8800 Wi-Fi $(1) support
DEPENDS:=+kmod-cfg80211 +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT \
+@DRIVER_11AX_SUPPORT
endef
define KernelPackage/aic8800-btusb
SUBMENU:=Bluetooth Support
TITLE:=Aicsemi aic8800 Bluetooth USB support
DEPENDS:=+aic8800-usb-firmware +kmod-usb-core +kmod-bluetooth
FILES:=$(PKG_BUILD_DIR)/src/USB/driver_fw/drivers/aic_btusb/aic_btusb.ko
AUTOLOAD:=$(call AutoProbe,aic_btusb)
endef
define KernelPackage/aic8800-pcie
$(call KernelPackage/aic8800/Default,PCIe)
DEPENDS+= +aic8800-pcie-firmware @PCIE_SUPPORT
FILES:=$(PKG_BUILD_DIR)/src/PCIE/driver_fw/driver/aic8800/aic8800_fdrv/aic8800D80_fdrv.ko
AUTOLOAD:=$(call AutoProbe,aic8800D80_fdrv)
endef
define KernelPackage/aic8800-sdio
$(call KernelPackage/aic8800/Default,SDIO)
DEPENDS+= +aic8800-sdio-firmware +kmod-mmc +AIC8800_SDIO_BT_SUPPORT:kmod-bluetooth
FILES:= \
$(PKG_BUILD_DIR)/src/SDIO/driver_fw/driver/aic8800/aic8800_bsp/aic8800_bsp.ko \
$(PKG_BUILD_DIR)/src/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/aic8800_fdrv.ko
AUTOLOAD:=$(call AutoProbe,aic8800_bsp aic8800_fdrv)
endef
define KernelPackage/aic8800-sdio/config
if PACKAGE_kmod-aic8800-sdio
config AIC8800_SDIO_BT_SUPPORT
bool "Enable Bluetooth support"
default y
endif
endef
define KernelPackage/aic8800-usb
$(call KernelPackage/aic8800/Default,USB)
DEPENDS+= +aic8800-usb-firmware +kmod-usb-core
FILES:= \
$(PKG_BUILD_DIR)/src/USB/driver_fw/drivers/aic8800/aic_load_fw/aic_load_fw.ko \
$(PKG_BUILD_DIR)/src/USB/driver_fw/drivers/aic8800/aic8800_fdrv/aic8800DC_fdrv.ko
AUTOLOAD:=$(call AutoProbe,aic_load_fw aic8800DC_fdrv)
endef
NOSTDINC_FLAGS:= \
$(KERNEL_NOSTDINC_FLAGS) \
-I$(PKG_BUILD_DIR) \
-I$(PKG_BUILD_DIR)/include \
-I$(STAGING_DIR)/usr/include/mac80211-backport \
-I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
-I$(STAGING_DIR)/usr/include/mac80211 \
-I$(STAGING_DIR)/usr/include/mac80211/uapi \
-include backport/autoconf.h \
-include backport/backport.h \
-DBUILD_OPENWRT
define Build/Compile
ifneq ($(CONFIG_PACKAGE_kmod-aic8800-btusb),)
+$(KERNEL_MAKE) $(PKG_JOBS) \
M="$(PKG_BUILD_DIR)/src/USB/driver_fw/drivers/aic_btusb" \
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
CONFIG_AIC_FW_PATH="/lib/firmware/aic8800/usb" \
modules
endif
ifneq ($(CONFIG_PACKAGE_kmod-aic8800-sdio),)
+$(KERNEL_MAKE) $(PKG_JOBS) \
M="$(PKG_BUILD_DIR)/src/SDIO/driver_fw/driver/aic8800" \
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
CONFIG_AIC_FW_PATH="/lib/firmware/aic8800/sdio" \
CONFIG_AIC8800_BTLPM_SUPPORT=n \
CONFIG_SDIO_BT=$(if $(CONFIG_AIC8800_SDIO_BT_SUPPORT),y,n) \
modules
endif
ifneq ($(CONFIG_PACKAGE_kmod-aic8800-pcie),)
+$(KERNEL_MAKE) $(PKG_JOBS) \
M="$(PKG_BUILD_DIR)/src/PCIE/driver_fw/driver/aic8800/aic8800_fdrv" \
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
CONFIG_AIC_FW_PATH="/lib/firmware/aic8800/pcie" \
modules
endif
ifneq ($(CONFIG_PACKAGE_kmod-aic8800-usb),)
+$(KERNEL_MAKE) $(PKG_JOBS) \
M="$(PKG_BUILD_DIR)/src/USB/driver_fw/drivers/aic8800" \
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
CONFIG_AIC_FW_PATH="/lib/firmware/aic8800/usb" \
modules
endif
endef
define Package/aic8800-pcie-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/aic8800/pcie
$(CP) \
$(PKG_BUILD_DIR)/src/PCIE/driver_fw/fw/aic8800D80/* \
$(1)/lib/firmware/aic8800/pcie/
endef
define Package/aic8800-sdio-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/aic8800/sdio
$(CP) \
$(PKG_BUILD_DIR)/src/SDIO/driver_fw/fw/aic8800/* \
$(1)/lib/firmware/aic8800/sdio/
$(CP) \
$(PKG_BUILD_DIR)/src/SDIO/driver_fw/fw/aic8800D80/* \
$(1)/lib/firmware/aic8800/sdio/
$(CP) \
$(PKG_BUILD_DIR)/src/SDIO/driver_fw/fw/aic8800D80N/* \
$(1)/lib/firmware/aic8800/sdio/
$(CP) \
$(PKG_BUILD_DIR)/src/SDIO/driver_fw/fw/aic8800D80X2/* \
$(1)/lib/firmware/aic8800/sdio/
$(CP) \
$(PKG_BUILD_DIR)/src/SDIO/driver_fw/fw/aic8800DC/* \
$(1)/lib/firmware/aic8800/sdio/
endef
define Package/aic8800-usb-firmware/install
$(INSTALL_DIR) $(1)/lib/firmware/aic8800/usb
$(CP) \
$(PKG_BUILD_DIR)/src/USB/driver_fw/fw/aic8800/* \
$(1)/lib/firmware/aic8800/usb/
$(CP) \
$(PKG_BUILD_DIR)/src/USB/driver_fw/fw/aic8800D80/* \
$(1)/lib/firmware/aic8800/usb/
$(CP) \
$(PKG_BUILD_DIR)/src/USB/driver_fw/fw/aic8800D80N/* \
$(1)/lib/firmware/aic8800/usb/
$(CP) \
$(PKG_BUILD_DIR)/src/USB/driver_fw/fw/aic8800D80X2/* \
$(1)/lib/firmware/aic8800/usb/
$(CP) \
$(PKG_BUILD_DIR)/src/USB/driver_fw/fw/aic8800DC/* \
$(1)/lib/firmware/aic8800/usb/
$(CP) \
$(PKG_BUILD_DIR)/src/USB/driver_fw/fw/aic8800DLN/* \
$(1)/lib/firmware/aic8800/usb/
endef
$(eval $(call BuildPackage,aic8800-pcie-firmware))
$(eval $(call BuildPackage,aic8800-sdio-firmware))
$(eval $(call BuildPackage,aic8800-usb-firmware))
$(eval $(call KernelPackage,aic8800-btusb))
$(eval $(call KernelPackage,aic8800-pcie))
$(eval $(call KernelPackage,aic8800-sdio))
$(eval $(call KernelPackage,aic8800-usb))