diff --git a/package/kernel/qca/qca-nss-dp/Makefile b/package/kernel/qca/qca-nss-dp/Makefile new file mode 100644 index 0000000000..8cad1ffff1 --- /dev/null +++ b/package/kernel/qca/qca-nss-dp/Makefile @@ -0,0 +1,67 @@ +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=qca-nss-dp +PKG_VERSION:=NHSS.QSDK.11.5.0.5 +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-dp +PKG_SOURCE_VERSION:=480f036cc96d4e5faa426cfcf90fa7e64dff87e8 +PKG_MIRROR_HASH:=skip + +include $(INCLUDE_DIR)/package.mk + +define KernelPackage/qca-nss-dp + SECTION:=kernel + CATEGORY:=Kernel modules + SUBMENU:=Network Devices + DEPENDS:=@(TARGET_ipq50xx||TARGET_ipq60xx||TARGET_ipq807x) \ + +kmod-qca-ssdk-nohnat + TITLE:=Kernel driver for NSS data plane + FILES:=$(PKG_BUILD_DIR)/qca-nss-dp.ko + AUTOLOAD:=$(call AutoLoad,31,qca-nss-dp) +endef + +define KernelPackage/qca-nss-dp/Description +This package contains a NSS data plane driver for QCA chipset +endef + +define Build/InstallDev + mkdir -p $(1)/usr/include/qca-nss-dp + $(CP) $(PKG_BUILD_DIR)/exports/* $(1)/usr/include/qca-nss-dp/ +endef + +EXTRA_CFLAGS+= \ + -I$(STAGING_DIR)/usr/include/qca-ssdk + +ifeq ($(CONFIG_TARGET_ipq),y) +subtarget:=$(SUBTARGET) +else +subtarget:=$(CONFIG_TARGET_BOARD) +endif + +NSS_DP_HAL_DIR:=$(PKG_BUILD_DIR)/hal +ifneq (, $(findstring _64, $(subtarget))) +hal_arch:=$(subst _64,,$(subtarget)) +else ifneq (, $(findstring _32, $(subtarget))) +hal_arch:=$(subst _32,,$(subtarget)) +else +hal_arch:=$(subtarget) +endif + +define Build/Configure + $(LN) $(NSS_DP_HAL_DIR)/soc_ops/$(hal_arch)/nss_$(hal_arch).h \ + $(PKG_BUILD_DIR)/exports/nss_dp_arch.h +endef + +define Build/Compile + $(MAKE) -C "$(LINUX_DIR)" \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + ARCH="$(LINUX_KARCH)" \ + M="$(PKG_BUILD_DIR)" \ + EXTRA_CFLAGS="$(EXTRA_CFLAGS)" SoC="$(hal_arch)" \ + modules +endef + +$(eval $(call KernelPackage,qca-nss-dp)) diff --git a/package/kernel/qca/qca-ssdk/Makefile b/package/kernel/qca/qca-ssdk/Makefile new file mode 100644 index 0000000000..94abb74573 --- /dev/null +++ b/package/kernel/qca/qca-ssdk/Makefile @@ -0,0 +1,185 @@ + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=qca-ssdk +PKG_VERSION:=NHSS.QSDK.11.5.0.5 +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-ssdk +PKG_SOURCE_VERSION:=0d6d410637648b1bea0dede48d3fab791689cfce +PKG_MIRROR_HASH:=skip + +ifeq ($(CONFIG_TARGET_ipq),y) + subtarget:=$(SUBTARGET) +else + subtarget:=$(CONFIG_TARGET_BOARD) +endif + +ifneq (, $(findstring _64, $(subtarget))) + hal_arch:=$(subst _64,,$(subtarget)) +else ifneq (, $(findstring _32, $(subtarget))) + hal_arch:=$(subst _32,,$(subtarget)) +else + hal_arch:=$(subtarget) +endif + +LOCAL_VARIANT=$(patsubst qca-ssdk-%,%,$(patsubst qca-ssdk-%,%,$(BUILD_VARIANT))) +include $(INCLUDE_DIR)/package.mk + +define KernelPackage/qca-ssdk/default-nohnat + SECTION:=kernel + CATEGORY:=Kernel modules + SUBMENU:=Network Devices + TITLE:=Kernel driver for QCA SSDK + FILES:=$(PKG_BUILD_DIR)/build/bin/qca-ssdk.ko + AUTOLOAD:=$(call AutoLoad,30,qca-ssdk) + PROVIDES:=qca-ssdk +endef + +define KernelPackage/qca-ssdk-nohnat +$(call KernelPackage/qca-ssdk/default-nohnat) + DEPENDS:=@(TARGET_ar71xx||TARGET_ipq50xx||TARGET_ipq60xx||TARGET_ipq806x||TARGET_ipq807x||TARGET_ipq95xx) + VARIANT:=nohnat + + ifneq (, $(findstring $(hal_arch), "ipq50xx")) + ifeq (, $(CONFIG_LOWMEM_FLASH)) + ifneq ($(LINUX_VERSION),$(filter 5.4%,$(LINUX_VERSION))) + DEPENDS+=kmod-ipt-filter +kmod-ppp + QCASSDK_CONFIG_OPTS+= HNAT_FEATURE=enable + endif + endif + endif +endef + +define KernelPackage/qca-ssdk-nohnat/Description +This package contains a qca-ssdk driver for QCA chipset +endef + +define KernelPackage/qca-ssdk-hnat +$(call KernelPackage/qca-ssdk/default-nohnat) + DEPENDS:=@(TARGET_ar71xx||TARGET_ipq40xx||TARGET_ipq806x) \ + +kmod-ipt-extra +kmod-ipt-filter +kmod-ppp \ + +(TARGET_ipq40xx||TARGET_ipq806x):kmod-qca-rfs + TITLE+= (hnat) + VARIANT:=hnat +endef + +define KernelPackage/qca-ssdk-hnat/Description +This package contains a qca-ssdk-hnat driver for QCA chipset +endef + +GCC_VERSION=$(shell echo "$(CONFIG_GCC_VERSION)" | sed 's/[^0-9.]*\([0-9.]*\).*/\1/') +GCC_VERSION:=$(shell echo "$(GCC_VERSION)" | sed -E 's/^([0-9]{1,2})([0-9]{2})([0-9]{2})$$/\1.\2.\3/') +GCC_VERSION:=$(shell echo "$(GCC_VERSION)" | sed -E 's/0([0-9])/\1/g') +ifeq ($(GCC_VERSION), 4.8) + GCC_VERSION=4.8.3 +endif + +ifdef CONFIG_TOOLCHAIN_BIN_PATH + TOOLCHAIN_BIN_PATH=$(CONFIG_TOOLCHAIN_BIN_PATH) +else + TOOLCHAIN_BIN_PATH=$(TOOLCHAIN_DIR)/bin +endif + +ifdef CONFIG_TARGET_NAME +QCASSDK_CONFIG_OPTS+= \ + TARGET_NAME=$(CONFIG_TARGET_NAME) +endif + +QCASSDK_CONFIG_OPTS+= 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) \ + CFLAGS=-I$(STAGING_DIR)/usr/include + +ifeq ($(LOCAL_VARIANT),hnat) + QCASSDK_CONFIG_OPTS+= HNAT_FEATURE=enable + ifeq ($(CONFIG_TARGET_ar71xx),) + QCASSDK_CONFIG_OPTS+= RFS_FEATURE=enable + endif +endif + +ifneq (, $(findstring $(hal_arch), "ipq95xx")) + QCASSDK_CONFIG_OPTS+= CHIP_TYPE=APPE +endif + +ifneq (, $(findstring $(hal_arch), "ipq60xx" "ipq807x" "ipq95xx")) + QCASSDK_CONFIG_OPTS+= PTP_FEATURE=enable +endif + +# ifneq (, $(findstring $(CONFIG_KERNEL_IPQ_MEM_PROFILE), 256 512)$(CONFIG_LOWMEM_FLASH)) + QCASSDK_CONFIG_OPTS+= MINI_SSDK=enable + + ifneq (, $(findstring $(hal_arch), "ipq807x")) + QCASSDK_CONFIG_OPTS+= CHIP_TYPE=HPPE + else ifneq (, $(findstring $(hal_arch), "ipq60xx")) + QCASSDK_CONFIG_OPTS+= CHIP_TYPE=CPPE + else ifneq (, $(findstring $(hal_arch), "ipq50xx")) + QCASSDK_CONFIG_OPTS+= ISISC_ENABLE=enable + QCASSDK_CONFIG_OPTS+= CHIP_TYPE=MP + + # ifeq (, $(CONFIG_LOWMEM_FLASH)) + # ifeq (, $(findstring $(CONFIG_KERNEL_IPQ_MEM_PROFILE), 256)) + # QCASSDK_CONFIG_OPTS+= MINI_SSDK=disable + # endif + # endif + endif + + QCASSDK_CONFIG_OPTS+= PTP_FEATURE=disable +# endif + +# ifeq ($(CONFIG_TARGET_ipq806x_QSDK_Standard),) +# QCASSDK_CONFIG_OPTS+= HK_CHIP=enable +# 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 + if [ -f $(PKG_BUILD_DIR)/include/init/ssdk_netlink.h ]; then \ + $(CP) -rf $(PKG_BUILD_DIR)/include/init/ssdk_netlink.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 + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) $(strip $(QCASSDK_CONFIG_OPTS)) +endef + +define KernelPackage/qca-ssdk-nohnat/install + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/qca-ssdk $(1)/etc/init.d/qca-ssdk +endef + +define KernelPackage/qca-ssdk-hnat/install + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/qca-ssdk $(1)/etc/init.d/qca-ssdk +endef + +$(eval $(call KernelPackage,qca-ssdk-nohnat)) +$(eval $(call KernelPackage,qca-ssdk-hnat)) diff --git a/package/kernel/qca/qca-ssdk/files/qca-ssdk b/package/kernel/qca/qca-ssdk/files/qca-ssdk new file mode 100644 index 0000000000..9a2d9c097e --- /dev/null +++ b/package/kernel/qca/qca-ssdk/files/qca-ssdk @@ -0,0 +1,288 @@ +#!/bin/sh /etc/rc.common +# Copyright (c) 2018, 2021, The Linux Foundation. All rights reserved. +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# + +START=16 + +#!/bin/sh +ruletype="ip4 ip6" +side="wan lan" +qwan="1 3 2 0 5 7 6 4" +qlan="0 1 2 3 4 5 6 7" + +function create_war_acl_rules(){ + for lw in $side + do + #echo $lw + if [ "$lw" == "wan" ];then + listid=254 + queue=$qwan + portmap=0x20 + else + listid=255 + queue=$qlan + portmap=0x1e + fi + #echo $queue + #echo "creating list $listid" + ssdk_sh acl list create $listid 255 + ruleid=0 + for rt in $ruletype + do + for qid in $queue + do + cmd="ssdk_sh acl rule add $listid $ruleid 1 n 0 0" + #echo $cmd + if [ "$rt" == "ip4" ];then + cmd="$cmd ip4 n n n n n n n n n n n n n n n n n n n n n n n n n n n n n" + #echo $cmd + else + cmd="$cmd ip6 n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n" + #echo $cmd + fi + if [ $ruleid -le 3 ];then + #non-zero dscp + cmd="$cmd y 0x0 0xff" + elif [ $ruleid -le 7 ];then + #zero dscp + cmd="$cmd n" + elif [ $ruleid -le 11 ];then + #non-zero dscp + cmd="$cmd y 0x0 0xff" + else + #zero dscp + cmd="$cmd n" + fi + p=$((ruleid/2)) + cmd="$cmd y mask $((ruleid%2)) 0x1 y mask $((p%2)) 0x1 n n n n n n n n n n n n n n n y n n n n n n n y $qid n n 0 0 n n n n n n n n n n n n n n n n n n n n 0" + #echo $cmd + $cmd + ruleid=`expr $ruleid + 1` + done + done + ssdk_sh acl list bind $listid 0 1 $portmap + done +} + +function create_war_cosmap(){ + ssdk_sh cosmap pri2q set 0 0 + ssdk_sh cosmap pri2q set 1 0 + ssdk_sh cosmap pri2q set 2 0 + ssdk_sh cosmap pri2q set 3 0 + ssdk_sh cosmap pri2q set 4 1 + ssdk_sh cosmap pri2q set 5 1 + ssdk_sh cosmap pri2q set 6 1 + ssdk_sh cosmap pri2q set 7 1 + ssdk_sh cosmap pri2ehq set 0 0 + ssdk_sh cosmap pri2ehq set 1 0 + ssdk_sh cosmap pri2ehq set 2 0 + ssdk_sh cosmap pri2ehq set 3 0 + ssdk_sh cosmap pri2ehq set 4 1 + ssdk_sh cosmap pri2ehq set 5 1 + ssdk_sh cosmap pri2ehq set 6 1 + ssdk_sh cosmap pri2ehq set 7 1 +} + +function create_acl_byp_egstp_rules(){ + chip_ver=$1 + ssdk_sh debug module_func set servcode 0xf 0x0 0x0 + cmd="ssdk_sh servcode config set 1 n 0 0xfffefc7f 0xffbdff 0 0 0 0 0 0" + if [ "$chip_ver" == "0x2000" ];then + cmd="$cmd 0" + fi + #echo $cmd + $cmd + ssdk_sh debug module_func set servcode 0x0 0x0 0x0 + + ssdk_sh acl list create 56 48 + #action bypass eg stp check + action="y n n n n n n n n n n 0 0 n n n n n n n n n n n n n y n n n n n n n n n n n n y n n n n n n n n n n n n 0" + for ruleid in $( seq 0 2 ) + do + if [ "$ruleid" == "0" ];then + cmd="ssdk_sh acl rule add 56 0 1 n 0 0 mac n n n n n y 01-80-c2-00-00-00 ff-ff-ff-ff-ff-ff n n n n n n n n n n n n n n n n n n n n n n n" + elif [ "$ruleid" == "1" ];then + cmd="ssdk_sh acl rule add 56 1 1 n 0 0 mac n n n n n n n yes 0x8809 0xffff n n n n n n n n n n n n n n n n n n n n n" + else + cmd="ssdk_sh acl rule add 56 2 1 n 0 0 mac n n n n n n n yes 0x888e 0xffff n n n n n n n n n n n n n n n n n n n n n" + fi + if [ "$chip_ver" == "0x2000" ];then + cmd="$cmd n $action" + else + cmd="$cmd $action" + fi + #echo $cmd + $cmd + done + ssdk_sh acl list bind 56 0 2 1 +} + +function delete_war_acl_rules(){ + for lw in $side + do + #echo $lw + if [ "$lw" == "wan" ];then + listid=254 + queue=$qwan + portmap=0x20 + else + listid=255 + queue=$qlan + portmap=0x1e + fi + ssdk_sh acl list unbind $listid 0 1 $portmap + for rt in $ruletype + do + for qid in $queue + do + cmd="ssdk_sh acl rule del $listid 0 1" + echo $cmd + $cmd + done + done + #echo "deleting list $listid" + ssdk_sh acl list destroy $listid + done +} + +function delete_war_cosmap(){ + ssdk_sh cosmap pri2q set 0 0 + ssdk_sh cosmap pri2q set 1 0 + ssdk_sh cosmap pri2q set 2 1 + ssdk_sh cosmap pri2q set 3 1 + ssdk_sh cosmap pri2q set 4 2 + ssdk_sh cosmap pri2q set 5 2 + ssdk_sh cosmap pri2q set 6 3 + ssdk_sh cosmap pri2q set 7 3 + ssdk_sh cosmap pri2ehq set 0 1 + ssdk_sh cosmap pri2ehq set 1 0 + ssdk_sh cosmap pri2ehq set 2 2 + ssdk_sh cosmap pri2ehq set 3 2 + ssdk_sh cosmap pri2ehq set 4 3 + ssdk_sh cosmap pri2ehq set 5 3 + ssdk_sh cosmap pri2ehq set 6 4 + ssdk_sh cosmap pri2ehq set 7 5 +} + +function delete_acl_byp_egstp_rules(){ + chip_ver=$1 + ssdk_sh debug module_func set servcode 0xf 0x0 0x0 + cmd="ssdk_sh servcode config set 1 n 0 0xfffefcff 0xffbfff 0 0 0 0 0 0" + if [ "$chip_ver" == "0x2000" ];then + cmd="$cmd 0" + fi + #echo $cmd + $cmd + ssdk_sh debug module_func set servcode 0x0 0x0 0x0 + ssdk_sh acl list unbind 56 0 2 1 + ssdk_sh acl rule del 56 0 1 + ssdk_sh acl rule del 56 1 1 + ssdk_sh acl rule del 56 2 1 + ssdk_sh acl list destroy 56 +} + +function edma_war_config_add(){ + create_war_cosmap + ssdk_sh acl status set enable + create_war_acl_rules +} + +function edma_war_config_del(){ + delete_war_acl_rules + delete_war_cosmap +} + +function ipq50xx_serdes_monitor () { + #if qca808x phy exist, need to monitor the serdes to avoid the effect for WIFI + port_id=2 + old_linkstatus="DISABLE" + phy_id_info=`ssdk_sh port phyid get $port_id | grep Org | awk -F '!' '{print $2}'` + if [ "$phy_id_info" = "[Org ID]:0x004d[Rev ID]:0xd101" ]; then + ssdk_sh debug phy set 29 0xb 0x300d + ssdk_sh debug uniphy set 0 0x7ac 0x300d 4 + + while true + do + cur_linkstatus=`ssdk_sh port linkstatus get $port_id | grep Status | awk -F ':' '{print $2}'` + #when qca808x phy link status is from down to up, serdes tx would be enabled + if [ "$cur_linkstatus" = "ENABLE" ] && [ "$old_linkstatus" = "DISABLE" ]; then + ssdk_sh debug phy set 29 0xb 0xb00d + ssdk_sh debug uniphy set 0 0x7ac 0xb00d 4 + fi + #when qca808x phy link status is from up to down, serdes tx would be disabled + if [ "$cur_linkstatus" = "DISABLE" ] && [ "$old_linkstatus" = "ENABLE" ]; then + ssdk_sh debug phy set 29 0xb 0x300d + ssdk_sh debug uniphy set 0 0x7ac 0x300d 4 + fi + old_linkstatus=$cur_linkstatus + done + fi +} + +function ipq50xx_phy_amplitude_set () { + #for qca808x phy sgmii, set half amplitude with src_half_swing register + port_id=2 + phy_id_info=`ssdk_sh port phyid get $port_id | grep Org | awk -F '!' '{print $2}'` + if [ "$phy_id_info" = "[Org ID]:0x004d[Rev ID]:0xd101" ]; then + ssdk_sh debug phy set 29 0x40010087 0xa08a + ssdk_sh debug phy set 29 0x40010067 0xb910 + fi +} + +function ipq50xx_uniphy_amplitude_set () { + #for ipq50xx sgmii, set half amplitude with tx_emp_lvl/margin_index and tx_margin + ssdk_sh debug uniphy set 0 0x24 0x54 4 + ssdk_sh debug uniphy set 0 0x21c 0x288a 4 + ssdk_sh debug uniphy set 0 0x19c 0xbea0 4 +} + +start() { + chip_ver=`ssdk_sh debug reg get 0 4 | grep Data | tr -d 'SSDK Init OK![Data]:'` + #The following commands should be uncommented to enable EDMA WAR + if [ "$chip_ver" = "0x1401" ]; then + #edma_war_config_add + echo '' + fi + #The following commands should be uncommented to add acl egress stp bypass rules + if [ "$chip_ver" = "0x1500" ] || [ "$chip_ver" = "0x1501" ] || [ "$chip_ver" = "0x2000" ]; then + #create_acl_byp_egstp_rules $chip_ver + echo '' + fi + #The following commands should be uncommented to enable WAR for ipq50xx + chip_type_info=`cat tmp/sysinfo/model` + result=$(echo $chip_type_info | grep "IPQ5018") + if [ "$result" != "" ]; then + #ipq50xx_serdes_monitor & + #ipq50xx_uniphy_amplitude_set + #ipq50xx_phy_amplitude_set + echo '' + fi + echo starting +} + +stop() { + chip_ver=`ssdk_sh debug reg get 0 4 | grep Data | tr -d 'SSDK Init OK![Data]:'` + #The following commands should be uncommented to disable EDMA WAR + if [ "$chip_ver" = "0x1401" ]; then + #edma_war_config_del + echo '' + fi + #The following commands should be uncommented to delete acl egress stp bypass rules + if [ "$chip_ver" = "0x1500" ] || [ "$chip_ver" = "0x1501" ] || [ "$chip_ver" = "0x2000" ]; then + #delete_acl_byp_egstp_rules $chip_ver + echo '' + fi + echo stoping +} diff --git a/target/linux/ipq50xx/Makefile b/target/linux/ipq50xx/Makefile index d2fd219ce7..3c84a5099f 100644 --- a/target/linux/ipq50xx/Makefile +++ b/target/linux/ipq50xx/Makefile @@ -25,6 +25,7 @@ KERNELNAME:=Image dtbs DEFAULT_PACKAGES += \ kmod-gpio-button-hotplug \ - uboot-envtools + uboot-envtools \ + kmod-qca-nss-dp swconfig $(eval $(call BuildTarget))