8d49ec9e3b2d08267b606533cc5109d7fcf532c7
[openwrt/staging/stintel.git] / package / kernel / qca-ssdk / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=qca-ssdk
4 PKG_RELEASE:=6
5
6 PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-ssdk.git
7 PKG_SOURCE_PROTO:=git
8 PKG_SOURCE_DATE:=2023-10-04
9 PKG_SOURCE_VERSION:=23a5aa4a4d5834da7a07efb58baebfbee91786b0
10 PKG_MIRROR_HASH:=2310cdad1ebc424c534aa3a2c71e72e0ab3635295653a88d17dfc64c402cd151
11
12 PKG_FLAGS:=nonshared
13 PKG_BUILD_PARALLEL:=1
14 PKG_BUILD_FLAGS:=no-lto
15
16 include $(INCLUDE_DIR)/kernel.mk
17 include $(INCLUDE_DIR)/package.mk
18
19 define KernelPackage/qca-ssdk
20 SECTION:=kernel
21 CATEGORY:=Kernel modules
22 SUBMENU:=Network Devices
23 TITLE:=Qualcom SSDK switch driver
24 DEPENDS:=@(TARGET_qualcommax)
25 FILES:=$(PKG_BUILD_DIR)/qca-ssdk.ko
26 AUTOLOAD:=$(call AutoLoad,30,qca-ssdk)
27 endef
28
29 define KernelPackage/qca-ssdk/Description
30 Driver for Qualcomm Atheros switches.
31 endef
32
33 GCC_VERSION=$(shell echo "$(CONFIG_GCC_VERSION)" | sed 's/[^0-9.]*\([0-9.]*\).*/\1/')
34
35 LNX_CONFIG_OPTS = LNX_MAKEOPTS='$(KERNEL_MAKEOPTS)' PRJ_PATH=$(PKG_BUILD_DIR) MODULE_TYPE=KSLIB modules
36
37 MAKE_FLAGS+= \
38 TARGET_NAME=$(CONFIG_TARGET_NAME) \
39 TOOL_PATH=$(firstword $(TOOLCHAIN_BIN_DIRS)) \
40 SYS_PATH=$(LINUX_DIR) \
41 TOOLPREFIX=$(TARGET_CROSS) \
42 KVER=$(LINUX_VERSION) \
43 ARCH=$(LINUX_KARCH) \
44 TARGET_SUFFIX=$(CONFIG_TARGET_SUFFIX) \
45 GCC_VERSION=$(GCC_VERSION) \
46 EXTRA_CFLAGS="-fno-stack-protector -I$(STAGING_DIR)/usr/include" \
47 SoC=$(CONFIG_TARGET_SUBTARGET) \
48 PTP_FEATURE=disable SWCONFIG_FEATURE=disable \
49 ISISC_ENABLE=disable IN_QCA803X_PHY=FALSE \
50 IN_QCA808X_PHY=FALSE IN_MALIBU_PHY=FALSE \
51 $(LNX_CONFIG_OPTS)
52
53 ifeq ($(CONFIG_TARGET_SUBTARGET), "ipq807x")
54 MAKE_FLAGS+= CHIP_TYPE=HPPE
55 endif
56
57 ifeq ($(CONFIG_TARGET_SUBTARGET), "ipq60xx")
58 MAKE_FLAGS+= CHIP_TYPE=CPPE
59 endif
60
61
62 define Build/Compile
63 +$(MAKE) $(PKG_JOBS) $(MAKE_FLAGS) -C $(PKG_BUILD_DIR) $(LNX_CONFIG_OPTS)
64 endef
65
66 define Build/InstallDev
67 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk
68 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/api
69 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/ref
70 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/fal
71 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/sal
72 $(INSTALL_DIR) $(1)/usr/include/qca-ssdk/init
73 $(CP) -rf $(PKG_BUILD_DIR)/include/api/sw_ioctl.h $(1)/usr/include/qca-ssdk/api
74 if [ -f $(PKG_BUILD_DIR)/include/ref/ref_vsi.h ]; then \
75 $(CP) -rf $(PKG_BUILD_DIR)/include/ref/ref_vsi.h $(1)/usr/include/qca-ssdk/ref/; \
76 fi
77 if [ -f $(PKG_BUILD_DIR)/include/ref/ref_fdb.h ]; then \
78 $(CP) -rf $(PKG_BUILD_DIR)/include/ref/ref_fdb.h $(1)/usr/include/qca-ssdk/ref/; \
79 fi
80 if [ -f $(PKG_BUILD_DIR)/include/ref/ref_port_ctrl.h ]; then \
81 $(CP) -rf $(PKG_BUILD_DIR)/include/ref/ref_port_ctrl.h $(1)/usr/include/qca-ssdk/ref/; \
82 fi
83 if [ -f $(PKG_BUILD_DIR)/include/init/ssdk_init.h ]; then \
84 $(CP) -rf $(PKG_BUILD_DIR)/include/init/ssdk_init.h $(1)/usr/include/qca-ssdk/init/; \
85 fi
86 if [ -f $(PKG_BUILD_DIR)/include/init/ssdk_netlink.h ]; then \
87 $(CP) -rf $(PKG_BUILD_DIR)/include/init/ssdk_netlink.h $(1)/usr/include/qca-ssdk/init/; \
88 fi
89 $(CP) -rf $(PKG_BUILD_DIR)/include/fal $(1)/usr/include/qca-ssdk
90 $(CP) -rf $(PKG_BUILD_DIR)/include/common/*.h $(1)/usr/include/qca-ssdk
91 $(CP) -rf $(PKG_BUILD_DIR)/include/sal/os/linux/*.h $(1)/usr/include/qca-ssdk
92 $(CP) -rf $(PKG_BUILD_DIR)/include/sal/os/*.h $(1)/usr/include/qca-ssdk
93
94 endef
95
96 $(eval $(call KernelPackage,qca-ssdk))