aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/qca-ssdk/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/qca-ssdk/Makefile')
-rw-r--r--package/kernel/qca-ssdk/Makefile82
1 files changed, 82 insertions, 0 deletions
diff --git a/package/kernel/qca-ssdk/Makefile b/package/kernel/qca-ssdk/Makefile
new file mode 100644
index 0000000000..c9829d1516
--- /dev/null
+++ b/package/kernel/qca-ssdk/Makefile
@@ -0,0 +1,82 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=qca-ssdk
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-ssdk.git
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_DATE:=2022-09-12
+PKG_SOURCE_VERSION:=628b22bc3d5ee81414b75ab3de6a255c82754dec
+PKG_MIRROR_HASH:=859344f79504b9953639dc5aa27042249f68e3a9a269e66d7f7a25e1ab38c110
+
+PKG_FLAGS:=nonshared
+
+include $(INCLUDE_DIR)/kernel.mk
+include $(INCLUDE_DIR)/package.mk
+
+define KernelPackage/qca-ssdk
+ SECTION:=kernel
+ CATEGORY:=Kernel modules
+ SUBMENU:=Network Devices
+ TITLE:=Qualcom SSDK switch driver
+ DEPENDS:=@(TARGET_ipq807x)
+ FILES:=$(PKG_BUILD_DIR)/build/bin/qca-ssdk.ko
+ AUTOLOAD:=$(call AutoLoad,30,qca-ssdk)
+endef
+
+define KernelPackage/qca-ssdk/Description
+ Driver for Qualcomm Atheros switches.
+endef
+
+GCC_VERSION=$(shell echo "$(CONFIG_GCC_VERSION)" | sed 's/[^0-9.]*\([0-9.]*\).*/\1/')
+
+ifdef CONFIG_TOOLCHAIN_BIN_PATH
+TOOLCHAIN_BIN_PATH=$(CONFIG_TOOLCHAIN_BIN_PATH)
+else
+TOOLCHAIN_BIN_PATH=$(TOOLCHAIN_DIR)/bin
+endif
+
+MAKE_FLAGS+= \
+ TARGET_NAME=$(CONFIG_TARGET_NAME) \
+ TOOL_PATH=$(TOOLCHAIN_BIN_PATH) \
+ SYS_PATH=$(LINUX_DIR) \
+ TOOLPREFIX=$(TARGET_CROSS) \
+ KVER=$(LINUX_VERSION) \
+ ARCH=$(LINUX_KARCH) \
+ TARGET_SUFFIX=$(CONFIG_TARGET_SUFFIX) \
+ GCC_VERSION=$(GCC_VERSION) \
+ EXTRA_CFLAGS=-fno-stack-protector -I$(STAGING_DIR)/usr/include \
+ $(KERNEL_MAKE_FLAGS)
+
+ifeq ($(CONFIG_TARGET_BOARD), "ipq807x")
+ MAKE_FLAGS+= CHIP_TYPE=HPPE PTP_FEATURE=disable SWCONFIG_FEATURE=disable
+endif
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/include/qca-ssdk
+ $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/api
+ $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/ref
+ $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/fal
+ $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/sal
+ $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/init
+ $(CP) -rf $(PKG_BUILD_DIR)/include/api/sw_ioctl.h $(1)/usr/include/qca-ssdk/api
+ if [ -f $(PKG_BUILD_DIR)/include/ref/ref_vsi.h ]; then \
+ $(CP) -rf $(PKG_BUILD_DIR)/include/ref/ref_vsi.h $(1)/usr/include/qca-ssdk/ref/; \
+ fi
+ if [ -f $(PKG_BUILD_DIR)/include/ref/ref_fdb.h ]; then \
+ $(CP) -rf $(PKG_BUILD_DIR)/include/ref/ref_fdb.h $(1)/usr/include/qca-ssdk/ref/; \
+ fi
+ if [ -f $(PKG_BUILD_DIR)/include/ref/ref_port_ctrl.h ]; then \
+ $(CP) -rf $(PKG_BUILD_DIR)/include/ref/ref_port_ctrl.h $(1)/usr/include/qca-ssdk/ref/; \
+ fi
+ if [ -f $(PKG_BUILD_DIR)/include/init/ssdk_init.h ]; then \
+ $(CP) -rf $(PKG_BUILD_DIR)/include/init/ssdk_init.h $(1)/usr/include/qca-ssdk/init/; \
+ fi
+ $(CP) -rf $(PKG_BUILD_DIR)/include/fal $(1)/usr/include/qca-ssdk
+ $(CP) -rf $(PKG_BUILD_DIR)/include/common/*.h $(1)/usr/include/qca-ssdk
+ $(CP) -rf $(PKG_BUILD_DIR)/include/sal/os/linux/*.h $(1)/usr/include/qca-ssdk
+ $(CP) -rf $(PKG_BUILD_DIR)/include/sal/os/*.h $(1)/usr/include/qca-ssdk
+
+endef
+
+$(eval $(call KernelPackage,qca-ssdk))