From 89200afb014415772555e61efcb30509eae5948b Mon Sep 17 00:00:00 2001 From: qlugcp <122597754+qlugcp@users.noreply.github.com> Date: Thu, 2 Feb 2023 01:26:55 +0800 Subject: [PATCH] bump qca-ssdk nss-dp and ssdk-shell, Add tplink-tl-er2260t basic support (#10777) * bump qca-nss-dp and ssdk ssdk-shell to 12.1 * [qca-ssdk] delete 0008 patch as 12.1 version do not need this * [ipq807x]: Add support for tplink-tl-er2260t(basic) * remove unused parts in 2260t.dts * NSS:bump nss-drv64 to 12.1r2 (may affect ipq806x) * fix nss-dp source_url * qca-ssdk: refresh ssdk patch --- package/qca/nss/qca-nss-dp/Makefile | 12 +- ...port-newer-kernels-time-stamping-API.patch | 28 +- ...-phy-mode-code-compatible-with-newer.patch | 38 +- ...03-Drop-_nocache-variants-of-ioremap.patch | 48 +- .../0004-EDMA-Fix-NAPI-packet-counting.patch | 8 +- ...-Use-NAPI_POLL_WEIGHT-as-NAPI-weight.patch | 18 +- .../0006-NSS-DP-fix-of_get_mac_address.patch | 10 +- ...09-switchdev-use-new-switchdev-flags.patch | 2 +- ...fusing-printing-of-registered-netdev.patch | 26 +- ...s-dp-edma-v1-use-NAPI-GRO-by-default.patch | 63 ++ package/qca/nss/qca-nss-drv-64/Makefile | 8 +- ...hack-support-for-mismatched-firmware.patch | 344 --------- package/qca/qca-ssdk-shell/Makefile | 6 +- package/qca/qca-ssdk/Makefile | 8 +- ...001-SSDK-config-add-kernel-5.10-5.15.patch | 39 +- ...replace-ioremap_nocache-with-ioremap.patch | 39 +- ...use-of_mdio_find_bus-to-get-MDIO-bus.patch | 22 +- .../patches/0005-add-kernel-5.4-support.patch | 26 +- .../0006-fix-mdio-probe-on-ipq806x.patch | 8 +- ...0007-SSDK-dts-fix-of_get_mac_address.patch | 21 +- .../0008-add-aquantia-phy-id-113CB0.patch | 37 - ...09-qca8081-convert-to-5.11-IRQ-model.patch | 21 +- .../ipq807x/base-files/etc/board.d/01_leds | 4 + .../ipq807x/base-files/etc/board.d/02_network | 3 + .../base-files/lib/upgrade/platform.sh | 1 + .../boot/dts/qcom/ipq8070-tl-er2260t.dts | 665 ++++++++++++++++++ target/linux/ipq807x/image/generic.mk | 13 + .../900-arm64-dts-add-OpenWrt-DTS-files.patch | 3 +- 28 files changed, 923 insertions(+), 598 deletions(-) create mode 100644 package/qca/nss/qca-nss-dp/patches/0014-nss-dp-edma-v1-use-NAPI-GRO-by-default.patch delete mode 100644 package/qca/nss/qca-nss-drv-64/patches/0999-treewide-hack-support-for-mismatched-firmware.patch delete mode 100644 package/qca/qca-ssdk/patches/0008-add-aquantia-phy-id-113CB0.patch create mode 100644 target/linux/ipq807x/files-5.10/arch/arm64/boot/dts/qcom/ipq8070-tl-er2260t.dts diff --git a/package/qca/nss/qca-nss-dp/Makefile b/package/qca/nss/qca-nss-dp/Makefile index 8da7d314a..7bea14c70 100644 --- a/package/qca/nss/qca-nss-dp/Makefile +++ b/package/qca/nss/qca-nss-dp/Makefile @@ -3,11 +3,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=qca-nss-dp PKG_RELEASE:=$(AUTORELEASE) -PKG_SOURCE_URL:=https://source.codeaurora.org/quic/cc-qrdk/oss/lklm/nss-dp +PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-dp.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2021-03-26 -PKG_SOURCE_VERSION:=e0c89348d5ad99559ce2fbe15d37b3b5bc66aa03 -PKG_MIRROR_HASH:=f369f0c3b33b5f4ad6d0a6ad6ac5495f63c9ecaf94e4e7fa345169f3e44fcf45 +PKG_SOURCE_DATE:=2022-04-30 +PKG_SOURCE_VERSION:=72e9ec4187414461cbcf6ccff100e8b5ebe5f40b +PKG_MIRROR_HASH:=805f16e59c75511132922f97740ebf6bf953845b0bbfd2089c4615456893bb37 PKG_BUILD_PARALLEL:=1 @@ -38,7 +38,7 @@ EXTRA_CFLAGS+= \ NSS_DP_HAL_DIR:=$(PKG_BUILD_DIR)/hal define Build/Configure - $(LN) $(NSS_DP_HAL_DIR)/arch/$(CONFIG_TARGET_BOARD)/nss_$(CONFIG_TARGET_BOARD).h \ + $(LN) $(NSS_DP_HAL_DIR)/soc_ops/$(CONFIG_TARGET_BOARD)/nss_$(CONFIG_TARGET_BOARD).h \ $(PKG_BUILD_DIR)/exports/nss_dp_arch.h endef @@ -53,7 +53,7 @@ define Build/Compile CROSS_COMPILE="$(TARGET_CROSS)" \ ARCH="$(LINUX_KARCH)" \ M="$(PKG_BUILD_DIR)" \ - EXTRA_CFLAGS="$(EXTRA_CFLAGS)" SoC="$(SOC)" \ + EXTRA_CFLAGS="$(EXTRA_CFLAGS)" SoC="$(CONFIG_TARGET_BOARD)" \ $(KERNEL_MAKE_FLAGS) \ $(PKG_JOBS) \ modules diff --git a/package/qca/nss/qca-nss-dp/patches/0001-edma_tx_rx-support-newer-kernels-time-stamping-API.patch b/package/qca/nss/qca-nss-dp/patches/0001-edma_tx_rx-support-newer-kernels-time-stamping-API.patch index c16a714f7..1fed4ba8a 100644 --- a/package/qca/nss/qca-nss-dp/patches/0001-edma_tx_rx-support-newer-kernels-time-stamping-API.patch +++ b/package/qca/nss/qca-nss-dp/patches/0001-edma_tx_rx-support-newer-kernels-time-stamping-API.patch @@ -1,16 +1,16 @@ -From 40979666b4371012405715ffa61ab5760fcdc6b3 Mon Sep 17 00:00:00 2001 -Message-Id: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il> -From: Baruch Siach -Date: Mon, 3 May 2021 20:07:36 +0300 -Subject: [PATCH 1/3] edma_tx_rx: support newer kernels time stamping API - ---- - hal/edma/edma_tx_rx.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - ---- a/hal/edma/edma_tx_rx.c -+++ b/hal/edma/edma_tx_rx.c -@@ -226,10 +226,16 @@ void nss_phy_tstamp_rx_buf(__attribute__ +From 40979666b4371012405715ffa61ab5760fcdc6b3 Mon Sep 17 00:00:00 2001 +Message-Id: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il> +From: Baruch Siach +Date: Mon, 3 May 2021 20:07:36 +0300 +Subject: [PATCH 1/3] edma_tx_rx: support newer kernels time stamping API + +--- + hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +--- a/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c ++++ b/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c +@@ -227,10 +227,16 @@ void nss_phy_tstamp_rx_buf(__attribute__ * set to the correct PTP class value by calling ptp_classify_raw * in drv->rxtstamp function. */ @@ -27,7 +27,7 @@ Subject: [PATCH 1/3] edma_tx_rx: support newer kernels time stamping API netif_receive_skb(skb); } -@@ -247,9 +253,14 @@ void nss_phy_tstamp_tx_buf(struct net_de +@@ -248,9 +254,14 @@ void nss_phy_tstamp_tx_buf(struct net_de * set to the correct PTP class value by calling ptp_classify_raw * in the drv->txtstamp function. */ diff --git a/package/qca/nss/qca-nss-dp/patches/0002-nss_dp_main-make-phy-mode-code-compatible-with-newer.patch b/package/qca/nss/qca-nss-dp/patches/0002-nss_dp_main-make-phy-mode-code-compatible-with-newer.patch index 443a57b4f..04adad86f 100644 --- a/package/qca/nss/qca-nss-dp/patches/0002-nss_dp_main-make-phy-mode-code-compatible-with-newer.patch +++ b/package/qca/nss/qca-nss-dp/patches/0002-nss_dp_main-make-phy-mode-code-compatible-with-newer.patch @@ -1,29 +1,29 @@ -From cef7873a2d77df13ee702d902ed4e06b2248904b Mon Sep 17 00:00:00 2001 -Message-Id: -In-Reply-To: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il> -References: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il> -From: Baruch Siach -Date: Mon, 3 May 2021 20:17:22 +0300 -Subject: [PATCH 2/3] nss_dp_main: make phy mode code compatible with newer - kernels - ---- - include/nss_dp_dev.h | 4 ++-- - nss_dp_main.c | 4 ++++ - 2 files changed, 6 insertions(+), 2 deletions(-) - +From cef7873a2d77df13ee702d902ed4e06b2248904b Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il> +References: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il> +From: Baruch Siach +Date: Mon, 3 May 2021 20:17:22 +0300 +Subject: [PATCH 2/3] nss_dp_main: make phy mode code compatible with newer + kernels + +--- + include/nss_dp_dev.h | 4 ++-- + nss_dp_main.c | 4 ++++ + 2 files changed, 6 insertions(+), 2 deletions(-) + --- a/include/nss_dp_dev.h +++ b/include/nss_dp_dev.h -@@ -25,7 +25,7 @@ +@@ -22,7 +22,7 @@ + #include #include #include - #include -#include +#include + #include #include "nss_dp_api_if.h" - #include "nss_dp_hal_if.h" -@@ -46,7 +46,7 @@ struct nss_dp_dev { +@@ -99,7 +99,7 @@ struct nss_dp_dev { /* Phy related stuff */ struct phy_device *phydev; /* Phy device */ struct mii_bus *miibus; /* MII bus */ @@ -34,7 +34,7 @@ Subject: [PATCH 2/3] nss_dp_main: make phy mode code compatible with newer uint32_t forced_speed; /* Forced speed? */ --- a/nss_dp_main.c +++ b/nss_dp_main.c -@@ -463,7 +463,11 @@ static int32_t nss_dp_of_get_pdata(struc +@@ -584,7 +584,11 @@ static int32_t nss_dp_of_get_pdata(struc hal_pdata->netdev = netdev; hal_pdata->macid = dp_priv->macid; diff --git a/package/qca/nss/qca-nss-dp/patches/0003-Drop-_nocache-variants-of-ioremap.patch b/package/qca/nss/qca-nss-dp/patches/0003-Drop-_nocache-variants-of-ioremap.patch index 9c7c53ad5..18bd85c8c 100644 --- a/package/qca/nss/qca-nss-dp/patches/0003-Drop-_nocache-variants-of-ioremap.patch +++ b/package/qca/nss/qca-nss-dp/patches/0003-Drop-_nocache-variants-of-ioremap.patch @@ -1,21 +1,21 @@ -From c8c52512ff48bee578901c381a42f027e79eadf9 Mon Sep 17 00:00:00 2001 -Message-Id: -In-Reply-To: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il> -References: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il> -From: Baruch Siach -Date: Mon, 3 May 2021 20:20:29 +0300 -Subject: [PATCH 3/3] Drop _nocache variants of ioremap() - -Recent kernels removed them. ---- - hal/edma/edma_data_plane.c | 2 +- - hal/gmac_hal_ops/qcom/qcom_if.c | 2 +- - hal/gmac_hal_ops/syn/xgmac/syn_if.c | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - ---- a/hal/edma/edma_data_plane.c -+++ b/hal/edma/edma_data_plane.c -@@ -797,7 +797,7 @@ int edma_init(void) +From c8c52512ff48bee578901c381a42f027e79eadf9 Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il> +References: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il> +From: Baruch Siach +Date: Mon, 3 May 2021 20:20:29 +0300 +Subject: [PATCH 3/3] Drop _nocache variants of ioremap() + +Recent kernels removed them. +--- + hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c | 2 +- + hal/gmac_ops/qcom/qcom_if.c | 2 +- + hal/gmac_ops/syn/xgmac/syn_if.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +--- a/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c ++++ b/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c +@@ -279,7 +279,7 @@ int edma_init(void) /* * Remap register resource */ @@ -24,9 +24,9 @@ Recent kernels removed them. resource_size(edma_hw.reg_resource)); if (!edma_hw.reg_base) { pr_warn("Unable to remap EDMA register memory.\n"); ---- a/hal/gmac_hal_ops/qcom/qcom_if.c -+++ b/hal/gmac_hal_ops/qcom/qcom_if.c -@@ -400,7 +400,7 @@ static void *qcom_init(struct gmac_hal_p +--- a/hal/gmac_ops/qcom/qcom_if.c ++++ b/hal/gmac_ops/qcom/qcom_if.c +@@ -418,7 +418,7 @@ static void *qcom_init(struct nss_gmac_h qhd->nghd.mac_id = gmacpdata->macid; /* Populate the mac base addresses */ @@ -35,9 +35,9 @@ Recent kernels removed them. res->start, resource_size(res)); if (!qhd->nghd.mac_base) { netdev_dbg(ndev, "ioremap fail.\n"); ---- a/hal/gmac_hal_ops/syn/xgmac/syn_if.c -+++ b/hal/gmac_hal_ops/syn/xgmac/syn_if.c -@@ -422,7 +422,7 @@ static void *syn_init(struct gmac_hal_pl +--- a/hal/gmac_ops/syn/xgmac/syn_if.c ++++ b/hal/gmac_ops/syn/xgmac/syn_if.c +@@ -432,7 +432,7 @@ static void *syn_init(struct nss_gmac_ha /* Populate the mac base addresses */ shd->nghd.mac_base = diff --git a/package/qca/nss/qca-nss-dp/patches/0004-EDMA-Fix-NAPI-packet-counting.patch b/package/qca/nss/qca-nss-dp/patches/0004-EDMA-Fix-NAPI-packet-counting.patch index eb57fe90a..f7653729a 100644 --- a/package/qca/nss/qca-nss-dp/patches/0004-EDMA-Fix-NAPI-packet-counting.patch +++ b/package/qca/nss/qca-nss-dp/patches/0004-EDMA-Fix-NAPI-packet-counting.patch @@ -9,12 +9,12 @@ cause NAPI over budget warnings. Signed-off-by: Baruch Siach Signed-off-by: Robert Marko --- - hal/edma/edma_tx_rx.c | 4 ++-- + hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ---- a/hal/edma/edma_tx_rx.c -+++ b/hal/edma/edma_tx_rx.c -@@ -458,12 +458,12 @@ int edma_napi(struct napi_struct *napi, +--- a/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c ++++ b/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c +@@ -459,12 +459,12 @@ int edma_napi(struct napi_struct *napi, for (i = 0; i < ehw->txcmpl_rings; i++) { txcmpl_ring = &ehw->txcmpl_ring[i]; diff --git a/package/qca/nss/qca-nss-dp/patches/0005-EDMA-Use-NAPI_POLL_WEIGHT-as-NAPI-weight.patch b/package/qca/nss/qca-nss-dp/patches/0005-EDMA-Use-NAPI_POLL_WEIGHT-as-NAPI-weight.patch index f231c514a..9c22fa790 100644 --- a/package/qca/nss/qca-nss-dp/patches/0005-EDMA-Use-NAPI_POLL_WEIGHT-as-NAPI-weight.patch +++ b/package/qca/nss/qca-nss-dp/patches/0005-EDMA-Use-NAPI_POLL_WEIGHT-as-NAPI-weight.patch @@ -14,13 +14,13 @@ So use NAPI_POLL_WEIGHT as the weight. Signed-off-by: Robert Marko --- - hal/edma/edma_data_plane.c | 2 +- - hal/edma/edma_data_plane.h | 1 - + hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c | 2 +- + hal/dp_ops/edma_dp/edma_v1/edma_data_plane.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) ---- a/hal/edma/edma_data_plane.c -+++ b/hal/edma/edma_data_plane.c -@@ -582,7 +582,7 @@ static int edma_register_netdevice(struc +--- a/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c ++++ b/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c +@@ -837,7 +837,7 @@ static int edma_register_netdevice(struc */ if (!edma_hw.napi_added) { netif_napi_add(netdev, &edma_hw.napi, edma_napi, @@ -29,13 +29,13 @@ Signed-off-by: Robert Marko /* * Register the interrupt handlers and enable interrupts */ ---- a/hal/edma/edma_data_plane.h -+++ b/hal/edma/edma_data_plane.h -@@ -27,7 +27,6 @@ +--- a/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.h ++++ b/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.h +@@ -26,7 +26,6 @@ #define EDMA_RX_PREHDR_SIZE (sizeof(struct edma_rx_preheader)) #define EDMA_TX_PREHDR_SIZE (sizeof(struct edma_tx_preheader)) #define EDMA_RING_SIZE 128 -#define EDMA_NAPI_WORK 100 - #define EDMA_START_GMACS NSS_DP_START_IFNUM + #define EDMA_START_GMACS NSS_DP_HAL_START_IFNUM #define EDMA_MAX_GMACS NSS_DP_HAL_MAX_PORTS #define EDMA_TX_PKT_MIN_SIZE 33 /* IPQ807x EDMA needs a minimum packet size of 33 bytes */ diff --git a/package/qca/nss/qca-nss-dp/patches/0006-NSS-DP-fix-of_get_mac_address.patch b/package/qca/nss/qca-nss-dp/patches/0006-NSS-DP-fix-of_get_mac_address.patch index d4965716d..1d7b49129 100644 --- a/package/qca/nss/qca-nss-dp/patches/0006-NSS-DP-fix-of_get_mac_address.patch +++ b/package/qca/nss/qca-nss-dp/patches/0006-NSS-DP-fix-of_get_mac_address.patch @@ -13,13 +13,11 @@ Signed-off-by: Robert Marko nss_dp_main.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) -diff --git a/nss_dp_main.c b/nss_dp_main.c -index 5580b13..28df280 100644 --- a/nss_dp_main.c +++ b/nss_dp_main.c -@@ -434,9 +434,10 @@ static int32_t nss_dp_of_get_pdata(struct device_node *np, +@@ -555,9 +555,10 @@ static int32_t nss_dp_of_get_pdata(struc struct net_device *netdev, - struct gmac_hal_platform_data *hal_pdata) + struct nss_gmac_hal_platform_data *hal_pdata) { - uint8_t *maddr; + u8 maddr[ETH_ALEN]; @@ -29,7 +27,7 @@ index 5580b13..28df280 100644 dp_priv = netdev_priv(netdev); -@@ -475,14 +476,8 @@ static int32_t nss_dp_of_get_pdata(struct device_node *np, +@@ -600,14 +601,8 @@ static int32_t nss_dp_of_get_pdata(struc of_property_read_u32(np, "qcom,forced-speed", &dp_priv->forced_speed); of_property_read_u32(np, "qcom,forced-duplex", &dp_priv->forced_duplex); @@ -46,5 +44,3 @@ index 5580b13..28df280 100644 ether_addr_copy(netdev->dev_addr, maddr); } else { random_ether_addr(netdev->dev_addr); --- -2.31.1 diff --git a/package/qca/nss/qca-nss-dp/patches/0009-switchdev-use-new-switchdev-flags.patch b/package/qca/nss/qca-nss-dp/patches/0009-switchdev-use-new-switchdev-flags.patch index 5635dd964..bac21b1b1 100644 --- a/package/qca/nss/qca-nss-dp/patches/0009-switchdev-use-new-switchdev-flags.patch +++ b/package/qca/nss/qca-nss-dp/patches/0009-switchdev-use-new-switchdev-flags.patch @@ -18,8 +18,8 @@ Signed-off-by: Robert Marko +++ b/include/nss_dp_dev.h @@ -24,6 +24,9 @@ #include - #include #include + #include +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 12, 0)) +#include +#endif diff --git a/package/qca/nss/qca-nss-dp/patches/0011-treewide-fix-confusing-printing-of-registered-netdev.patch b/package/qca/nss/qca-nss-dp/patches/0011-treewide-fix-confusing-printing-of-registered-netdev.patch index 6c3d68f77..726ca304d 100644 --- a/package/qca/nss/qca-nss-dp/patches/0011-treewide-fix-confusing-printing-of-registered-netdev.patch +++ b/package/qca/nss/qca-nss-dp/patches/0011-treewide-fix-confusing-printing-of-registered-netdev.patch @@ -10,22 +10,32 @@ give the user some info on correct nss-dp probe. Signed-off-by: Ansuel Smith --- + hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c | 4 ++-- nss_dp_main.c | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) + 2 files changed, 5 insertions(+), 2 deletions(-) -diff --git a/nss_dp_main.c b/nss_dp_main.c -index c0ae9d6..441c300 100644 +--- a/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c ++++ b/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c +@@ -822,8 +822,8 @@ static int edma_register_netdevice(struc + return -EINVAL; + } + +- netdev_info(netdev, "nss_dp_edma: Registering netdev %s(qcom-id:%d) with EDMA\n", +- netdev->name, macid); ++ netdev_dbg(netdev, "nss_dp_edma: Registering netdev %s(qcom-id:%d) with EDMA\n", ++ netdev->name, macid); + + /* + * We expect 'macid' to correspond to ports numbers on --- a/nss_dp_main.c +++ b/nss_dp_main.c -@@ -875,6 +875,9 @@ static int32_t nss_dp_probe(struct platform_device *pdev) +@@ -875,6 +875,9 @@ static int32_t nss_dp_probe(struct platf goto phy_setup_fail; } - + + netdev_info(netdev, "Registered netdev %s(qcom-id:%d)\n", + netdev->name, port_id); + dp_global_ctx.nss_dp[dp_priv->macid - 1] = dp_priv; dp_global_ctx.slowproto_acl_bm = 0; - --- -2.34.1 + diff --git a/package/qca/nss/qca-nss-dp/patches/0014-nss-dp-edma-v1-use-NAPI-GRO-by-default.patch b/package/qca/nss/qca-nss-dp/patches/0014-nss-dp-edma-v1-use-NAPI-GRO-by-default.patch new file mode 100644 index 000000000..3683b4ec4 --- /dev/null +++ b/package/qca/nss/qca-nss-dp/patches/0014-nss-dp-edma-v1-use-NAPI-GRO-by-default.patch @@ -0,0 +1,63 @@ +From ae4fe8fb79b68f4cf4a887434ab6a8a9a1c65bfc Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Thu, 23 Jun 2022 14:18:50 +0200 +Subject: [PATCH] nss-dp: edma-v1: use NAPI GRO by default + +Utilize napi_gro_receive instead of plain netif_receive_skb on EDMA v1. + +Usually it provides quite a lot of RX speed improvements, however in some +cases it may lead to decreased performance as there is no checksum +offloading implemented. + +In cases where reduced performance is experienced its possible to disable +GRO by using ethtool. + +Signed-off-by: Robert Marko +--- + hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c | 10 ++++++---- + hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c | 8 ++++++-- + 2 files changed, 12 insertions(+), 6 deletions(-) + +diff --git a/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c b/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c +index 1d748db..e81c461 100644 +--- a/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c ++++ b/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c +@@ -589,10 +589,12 @@ drop: + */ + static void edma_if_set_features(struct nss_dp_data_plane_ctx *dpc) + { +- /* +- * TODO - add flags to support HIGHMEM/cksum offload VLAN +- * the features are enabled. +- */ ++ struct net_device *netdev = dpc->dev; ++ ++ netdev->features |= NETIF_F_GRO; ++ netdev->hw_features |= NETIF_F_GRO; ++ netdev->vlan_features |= NETIF_F_GRO; ++ netdev->wanted_features |= NETIF_F_GRO; + } + + /* TODO - check if this is needed */ +diff --git a/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c b/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c +index 5780a30..a002a79 100644 +--- a/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c ++++ b/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c +@@ -410,8 +410,12 @@ static uint32_t edma_clean_rx(struct edma_hw *ehw, + if (unlikely(EDMA_RXPH_SERVICE_CODE_GET(rxph) == + NSS_PTP_EVENT_SERVICE_CODE)) + nss_phy_tstamp_rx_buf(ndev, skb); +- else +- netif_receive_skb(skb); ++ else { ++ if (likely(ndev->features & NETIF_F_GRO)) ++ napi_gro_receive(&ehw->napi, skb); ++ else ++ netif_receive_skb(skb); ++ } + + next_rx_desc: + /* +-- +2.38.1 + diff --git a/package/qca/nss/qca-nss-drv-64/Makefile b/package/qca/nss/qca-nss-drv-64/Makefile index ac73475f7..dc1e13bbf 100644 --- a/package/qca/nss/qca-nss-drv-64/Makefile +++ b/package/qca/nss/qca-nss-drv-64/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE_URL:=https://source.codeaurora.org/quic/qsdk/oss/lklm/nss-drv PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2021-04-26 -PKG_SOURCE_VERSION:=1cf4bf81fd395f61648efeae78cdf1df60e954ff -PKG_MIRROR_HASH:=3dd84a548a530188021fd4dab54ca4e1eb9056ca77381b24f587365fc7c16f21 +PKG_SOURCE_DATE:=2022-01-24 +PKG_SOURCE_VERSION:=4f1b8e51105bb71ebd0bb07c1ec0d8b6e5d0913e +PKG_MIRROR_HASH:=4d32e072fb019d43adce8b1bc58c11a424aba31c3baa2d0b802141baa73d53e7 PKG_BUILD_PARALLEL:=1 @@ -103,8 +103,6 @@ endif define Build/Configure $(LN) arch/nss_$(SOC).h $(PKG_BUILD_DIR)/exports/nss_arch.h - sed -i "s/define NSS_FW_VERSION_MAJOR.*/define NSS_FW_VERSION_MAJOR 11/" $(PKG_BUILD_DIR)/exports/nss_fw_version.h - sed -i "s/define NSS_FW_VERSION_MINOR.*/define NSS_FW_VERSION_MINOR 3/" $(PKG_BUILD_DIR)/exports/nss_fw_version.h endef define Build/Compile diff --git a/package/qca/nss/qca-nss-drv-64/patches/0999-treewide-hack-support-for-mismatched-firmware.patch b/package/qca/nss/qca-nss-drv-64/patches/0999-treewide-hack-support-for-mismatched-firmware.patch deleted file mode 100644 index 46025b823..000000000 --- a/package/qca/nss/qca-nss-drv-64/patches/0999-treewide-hack-support-for-mismatched-firmware.patch +++ /dev/null @@ -1,344 +0,0 @@ -From d0bffc800a50305315a0d7cf37140291ef5b1b61 Mon Sep 17 00:00:00 2001 -From: Ansuel Smith -Date: Thu, 27 May 2021 03:52:47 +0200 -Subject: [PATCH] treewide: hack support for mismatched firmware - -Make new qsdk feature configurable to support old half compatible -firmware. - -Signed-off-by: Ansuel Smith ---- - exports/nss_fw_version.h | 11 +++++++++++ - exports/nss_ipv4.h | 8 ++++++++ - exports/nss_ipv6.h | 7 +++++++ - exports/nss_wifi_vdev.h | 14 ++++++++++++++ - exports/nss_wifili_if.h | 8 ++++++++ - nss_ipv4_stats.c | 2 ++ - nss_ipv4_strings.c | 2 ++ - nss_ipv6_stats.c | 2 ++ - nss_ipv6_strings.c | 2 ++ - 9 files changed, 56 insertions(+) - create mode 100644 exports/nss_fw_version.h - -diff --git a/exports/nss_fw_version.h b/exports/nss_fw_version.h -new file mode 100644 -index 0000000..895d523 ---- /dev/null -+++ b/exports/nss_fw_version.h -@@ -0,0 +1,11 @@ -+#ifndef __NSS_FW_VERSION_H -+#define __NSS_FW_VERSION_H -+ -+#define NSS_FW_VERSION_MAJOR 11 -+#define NSS_FW_VERSION_MINOR 4 -+ -+#define NSS_FW_VERSION(a,b) (((a) << 8) + (b)) -+ -+#define NSS_FW_VERSION_CODE NSS_FW_VERSION(NSS_FW_VERSION_MAJOR, NSS_FW_VERSION_MINOR) -+ -+#endif /* __NSS_FW_VERSION_H */ -\ No newline at end of file -diff --git a/exports/nss_ipv4.h b/exports/nss_ipv4.h -index ee3a552..25c4d82 100644 ---- a/exports/nss_ipv4.h -+++ b/exports/nss_ipv4.h -@@ -26,6 +26,8 @@ - #include "nss_stats_public.h" - #endif - -+#include "nss_fw_version.h" -+ - /** - * @addtogroup nss_ipv4_subsystem - * @{ -@@ -216,12 +218,14 @@ enum nss_ipv4_stats_types { - /**< Number of IPv4 multicast connection destroy requests that missed the cache. */ - NSS_IPV4_STATS_MC_CONNECTION_FLUSHES, - /**< Number of IPv4 multicast connection flushes. */ -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - NSS_IPV4_STATS_CONNECTION_CREATE_INVALID_MIRROR_IFNUM, - /**< Number of IPv4 mirror connection requests with an invalid interface number. */ - NSS_IPV4_STATS_CONNECTION_CREATE_INVALID_MIRROR_IFTYPE, - /**< Number of IPv4 mirror connection requests with an invalid interface type. */ - NSS_IPV4_STATS_MIRROR_FAILURES, - /**< Number of IPv4 mirror failures. */ -+#endif - NSS_IPV4_STATS_MAX, - /**< Maximum message type. */ - }; -@@ -609,8 +613,10 @@ struct nss_ipv4_rule_create_msg { - /**< Ingress shaping related accleration parameters. */ - struct nss_ipv4_identifier_rule identifier; - /**< Rule for adding identifier. */ -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - struct nss_ipv4_mirror_rule mirror_rule; - /**< Mirror rule parameter. */ -+#endif - }; - - /** -@@ -955,6 +961,7 @@ struct nss_ipv4_node_sync { - uint32_t ipv4_mc_connection_flushes; - /**< Number of multicast connection flushes. */ - -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - uint32_t ipv4_connection_create_invalid_mirror_ifnum; - /**< Number of create request failed with an invalid mirror interface number. */ - -@@ -963,6 +970,7 @@ struct nss_ipv4_node_sync { - - uint32_t ipv4_mirror_failures; - /**< Mirror packet failed. */ -+#endif - - uint32_t exception_events[NSS_IPV4_EXCEPTION_EVENT_MAX]; - /**< Number of exception events. */ -diff --git a/exports/nss_ipv6.h b/exports/nss_ipv6.h -index 930e74c..a21f939 100644 ---- a/exports/nss_ipv6.h -+++ b/exports/nss_ipv6.h -@@ -195,6 +195,8 @@ enum nss_ipv6_stats_types { - /**< Number of IPv6 multicast connection destroy requests that missed the cache. */ - NSS_IPV6_STATS_MC_CONNECTION_FLUSHES, - /**< Number of IPv6 multicast connection flushes. */ -+ -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - NSS_IPV6_STATS_CONNECTION_CREATE_INVALID_MIRROR_IFNUM, - /**< Number of IPv6 mirror connection requests with an invalid interface number. */ - NSS_IPV6_STATS_CONNECTION_CREATE_INVALID_MIRROR_IFTYPE, -@@ -202,6 +204,7 @@ enum nss_ipv6_stats_types { - - NSS_IPV6_STATS_MIRROR_FAILURES, - /**< Number of IPv6 mirror failures. */ -+#endif - - NSS_IPV6_STATS_MAX, - /**< Maximum message type. */ -@@ -702,8 +705,10 @@ struct nss_ipv6_rule_create_msg { - /**< Ingress shaping related accleration parameters. */ - struct nss_ipv6_identifier_rule identifier; - /**< Rule for adding identifier. */ -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - struct nss_ipv6_mirror_rule mirror_rule; - /**< Mirror rule parameter. */ -+#endif - }; - - /** -@@ -950,6 +955,7 @@ struct nss_ipv6_node_sync { - uint32_t ipv6_mc_connection_flushes; - /**< Number of multicast connection flushes. */ - -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - uint32_t ipv6_connection_create_invalid_mirror_ifnum; - /**< Number of create request failed with an invalid mirror interface number. */ - -@@ -958,6 +964,7 @@ struct nss_ipv6_node_sync { - - uint32_t ipv6_mirror_failures; - /**< Mirror packet failed. */ -+#endif - - uint32_t exception_events[NSS_IPV6_EXCEPTION_EVENT_MAX]; - /**< Number of exception events. */ -diff --git a/exports/nss_wifi_vdev.h b/exports/nss_wifi_vdev.h -index 1b52f66..da91b56 100644 ---- a/exports/nss_wifi_vdev.h -+++ b/exports/nss_wifi_vdev.h -@@ -74,8 +74,10 @@ enum nss_wifi_vdev_msg_types { - NSS_WIFI_VDEV_INTERFACE_RECOVERY_RESET_MSG, - NSS_WIFI_VDEV_INTERFACE_RECOVERY_RECONF_MSG, - NSS_WIFI_VDEV_SET_GROUP_KEY, -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - NSS_WIFI_VDEV_HMMC_MEMBER_ADD_MSG, - NSS_WIFI_VDEV_HMMC_MEMBER_DEL_MSG, -+#endif - NSS_WIFI_VDEV_MAX_MSG - }; - -@@ -130,6 +132,7 @@ enum nss_wifi_vdev_err_types { - NSS_WIFI_VDEV_VLAN_MODE_CONFIG_FAIL, - NSS_WIFI_VDEV_RECOVERY_RESET_FAIL, - NSS_WIFI_VDEV_RECOVERY_RECONF_FAIL, -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - NSS_WIFI_VDEV_CONFIG_GROUP_KEY_FAIL, - NSS_WIFI_VDEV_MULTIPASS_NOT_ENABLED, - NSS_WIFI_VDEV_ALLOC_VLAN_MAP_FAILED, -@@ -139,6 +142,7 @@ enum nss_wifi_vdev_err_types { - NSS_WIFI_VDEV_PPE_PORT_DESTROY_FAIL, - NSS_WIFI_VDEV_PPE_VSI_ASSIGN_FAIL, - NSS_WIFI_VDEV_PPE_VSI_UNASSIGN_FAIL, -+#endif - NSS_WIFI_VDEV_EINV_MAX_CFG - }; - -@@ -161,11 +165,13 @@ enum nss_wifi_vdev_ext_data_pkt_type { - NSS_WIFI_VDEV_EXT_TX_COMPL_PKT_TYPE = 11, /**< Tx completion. */ - NSS_WIFI_VDEV_EXT_DATA_PKT_TYPE_WDS_LEARN = 12, /**< WDS source port learning command. */ - NSS_WIFI_VDEV_EXT_DATA_PPDU_INFO = 13, /**< PPDU metadata information. */ -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - NSS_WIFI_VDEV_EXT_DATA_PKT_TYPE_MCBC_RX = 14, /**< Multicast/broadcast packet received. */ - NSS_WIFI_VDEV_MESH_EXT_DATA_PKT_TYPE_RX_SPL_PACKET = 15, - /**< Mesh link VAP special packet. */ - NSS_WIFI_VDEV_MESH_EXT_DATA_PKT_TYPE_RX_MCAST_EXC = 16, - /**< Mesh link VAP multicast packet. */ -+#endif - NSS_WIFI_VDEV_EXT_DATA_PKT_TYPE_MAX - }; - -@@ -201,9 +207,11 @@ enum nss_wifi_vdev_cmd { - NSS_WIFI_VDEV_ENABLE_IGMP_ME_CMD, /**< Configuration to set IGMP multicast enhancement on VAP. */ - NSS_WIFI_VDEV_CFG_WDS_BACKHAUL_CMD, - /**< Configuration to set WDS backhaul extension on VAP. */ -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - NSS_WIFI_VDEV_CFG_MCBC_EXC_TO_HOST_CMD, /**< Configuration to set multicast/broadcast exception to host on VAP. */ - NSS_WIFI_VDEV_CFG_PEER_AUTHORIZE_CMD, - /**< Configuration to enable peer authorization on VAP. */ -+#endif - NSS_WIFI_VDEV_MAX_CMD - }; - -@@ -271,7 +279,9 @@ struct nss_wifi_vdev_config_msg { - uint8_t is_nss_qwrap_en; /**< VAP is configured for NSS firmware QWRAP logic. */ - uint8_t tx_per_pkt_vdev_id_check; /**< Transmit per-packet virtual device ID check. */ - uint8_t align_pad; /**< Reserved field. */ -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - uint32_t vap_ext_mode; /**< Different VAP extended modes. */ -+#endif - }; - - /** -@@ -1037,8 +1047,10 @@ struct nss_wifi_vdev_stats_sync_msg { - uint32_t rx_mcast_bytes; /**< Receive multicast bytes count. */ - uint32_t rx_decrypt_err; /**< Receive decryption error */ - uint32_t rx_mic_err; /**< Receive MIC error */ -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - uint32_t mcbc_exc_host_fail_cnt; - /**< Number of multicast/broadcast packets failed to send to host through exception path. */ -+#endif - }; - - /** -@@ -1070,6 +1082,7 @@ struct nss_wifi_vdev_msg { - /**< Updates a snooplist group member. */ - struct nss_wifi_vdev_me_snptbl_deny_grp_add_msg vdev_deny_member_add; - /**< Add a snooplist member to the deny list. */ -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - struct nss_wifi_vdev_me_hmmc_add_msg vdev_hmmc_member_add; - /**< Adds a new member into the HMMC list. */ - struct nss_wifi_vdev_me_hmmc_del_msg vdev_hmmc_member_del; -@@ -1078,6 +1091,7 @@ struct nss_wifi_vdev_msg { - /**< Adds a new member into the deny list. */ - struct nss_wifi_vdev_me_deny_ip_del_msg vdev_deny_list_member_del; - /**< Delete a member from the deny list. */ -+#endif - struct nss_wifi_vdev_txmsg vdev_txmsgext; - /**< Transmits special data. */ - struct nss_wifi_vdev_vow_dbg_cfg_msg vdev_vow_dbg_cfg; -diff --git a/exports/nss_wifili_if.h b/exports/nss_wifili_if.h -index fce20fd..1f26d67 100644 ---- a/exports/nss_wifili_if.h -+++ b/exports/nss_wifili_if.h -@@ -62,8 +62,12 @@ - /**< Maximum number of bandwidth supported. */ - #define NSS_WIFILI_REPT_MU_MIMO 1 - #define NSS_WIFILI_REPT_MU_OFDMA_MIMO 3 -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) -+#define NSS_WIFILI_MAX_RESERVED_TYPE 3 -+#else - #define NSS_WIFILI_MAX_RESERVED_TYPE 2 - /**< Maximum reserved type. */ -+#endif - #define NSS_WIFILI_SOC_PER_PACKET_METADATA_SIZE 60 - /**< Metadata area total size. */ - #define NSS_WIFILI_MEC_PEER_ID 0xDEAD -@@ -1333,7 +1337,9 @@ struct nss_wifili_rx_err { - struct nss_wifili_rx_ctrl_stats { - struct nss_wifili_rx_err err; /**< Rx peer errors. */ - uint32_t multipass_rx_pkt_drop; /**< Total number of multipass packets without a VLAN header. */ -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - uint32_t peer_unauth_rx_pkt_drop; /**< Number of receive packets dropped due to an authorized peer. */ -+#endif - uint32_t reserved_type[NSS_WIFILI_MAX_RESERVED_TYPE]; /**< Reserved type for future use. */ - uint32_t non_amsdu_cnt; /**< Number of MSDUs with no MSDU level aggregation. */ - uint32_t amsdu_cnt; /**< Number of MSDUs part of AMSDU. */ -@@ -1810,10 +1816,12 @@ struct nss_wifili_msg { - /**< Peer four-address event message. */ - struct nss_wifili_dbdc_repeater_loop_detection_msg wdrldm; - /**< Wifili DBDC repeater loop detection message. */ -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - struct nss_wifili_peer_update_auth_flag peer_auth; - /**< Peer authentication flag message. */ - struct nss_wifili_mesh_capability_info cap_info; - /**< Mesh capability flag. */ -+#endif - } msg; /**< Message payload. */ - }; - -diff --git a/nss_ipv4_stats.c b/nss_ipv4_stats.c -index 39b162c..c875a63 100644 ---- a/nss_ipv4_stats.c -+++ b/nss_ipv4_stats.c -@@ -177,9 +177,11 @@ void nss_ipv4_stats_node_sync(struct nss_ctx_instance *nss_ctx, struct nss_ipv4_ - nss_ipv4_stats[NSS_IPV4_STATS_MC_CONNECTION_DESTROY_REQUESTS] += nins->ipv4_mc_connection_destroy_requests; - nss_ipv4_stats[NSS_IPV4_STATS_MC_CONNECTION_DESTROY_MISSES] += nins->ipv4_mc_connection_destroy_misses; - nss_ipv4_stats[NSS_IPV4_STATS_MC_CONNECTION_FLUSHES] += nins->ipv4_mc_connection_flushes; -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - nss_ipv4_stats[NSS_IPV4_STATS_CONNECTION_CREATE_INVALID_MIRROR_IFNUM] += nins->ipv4_connection_create_invalid_mirror_ifnum; - nss_ipv4_stats[NSS_IPV4_STATS_CONNECTION_CREATE_INVALID_MIRROR_IFTYPE] += nins->ipv4_connection_create_invalid_mirror_iftype; - nss_ipv4_stats[NSS_IPV4_STATS_MIRROR_FAILURES] += nins->ipv4_mirror_failures; -+#endif - - for (i = 0; i < NSS_IPV4_EXCEPTION_EVENT_MAX; i++) { - nss_ipv4_exception_stats[i] += nins->exception_events[i]; -diff --git a/nss_ipv4_strings.c b/nss_ipv4_strings.c -index 77ff352..ce4c249 100644 ---- a/nss_ipv4_strings.c -+++ b/nss_ipv4_strings.c -@@ -137,9 +137,11 @@ struct nss_stats_info nss_ipv4_strings_stats[NSS_IPV4_STATS_MAX] = { - {"mc_destroy_requests" , NSS_STATS_TYPE_SPECIAL}, - {"mc_destroy_misses" , NSS_STATS_TYPE_SPECIAL}, - {"mc_flushes" , NSS_STATS_TYPE_SPECIAL}, -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - {"mirror_invalid_ifnum_conn_create_req" , NSS_STATS_TYPE_SPECIAL}, - {"mirror_invalid_iftype_conn_create_req" , NSS_STATS_TYPE_SPECIAL}, - {"mirror_failures" , NSS_STATS_TYPE_SPECIAL}, -+#endif - }; - - /* -diff --git a/nss_ipv6_stats.c b/nss_ipv6_stats.c -index 617f55b..a492a6c 100644 ---- a/nss_ipv6_stats.c -+++ b/nss_ipv6_stats.c -@@ -180,9 +180,11 @@ void nss_ipv6_stats_node_sync(struct nss_ctx_instance *nss_ctx, struct nss_ipv6_ - nss_ipv6_stats[NSS_IPV6_STATS_MC_CONNECTION_DESTROY_REQUESTS] += nins->ipv6_mc_connection_destroy_requests; - nss_ipv6_stats[NSS_IPV6_STATS_MC_CONNECTION_DESTROY_MISSES] += nins->ipv6_mc_connection_destroy_misses; - nss_ipv6_stats[NSS_IPV6_STATS_MC_CONNECTION_FLUSHES] += nins->ipv6_mc_connection_flushes; -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - nss_ipv6_stats[NSS_IPV6_STATS_CONNECTION_CREATE_INVALID_MIRROR_IFNUM] += nins->ipv6_connection_create_invalid_mirror_ifnum; - nss_ipv6_stats[NSS_IPV6_STATS_CONNECTION_CREATE_INVALID_MIRROR_IFTYPE] += nins->ipv6_connection_create_invalid_mirror_iftype; - nss_ipv6_stats[NSS_IPV6_STATS_MIRROR_FAILURES] += nins->ipv6_mirror_failures; -+#endif - - for (i = 0; i < NSS_IPV6_EXCEPTION_EVENT_MAX; i++) { - nss_ipv6_exception_stats[i] += nins->exception_events[i]; -diff --git a/nss_ipv6_strings.c b/nss_ipv6_strings.c -index 57b100f..29df9c9 100644 ---- a/nss_ipv6_strings.c -+++ b/nss_ipv6_strings.c -@@ -115,9 +115,11 @@ struct nss_stats_info nss_ipv6_strings_stats[NSS_IPV6_STATS_MAX] = { - {"mc_destroy_requests" ,NSS_STATS_TYPE_SPECIAL}, - {"mc_destroy_misses" ,NSS_STATS_TYPE_SPECIAL}, - {"mc_flushes" ,NSS_STATS_TYPE_SPECIAL}, -+#if (NSS_FW_VERSION_CODE > NSS_FW_VERSION(11,3)) - {"mirror_invalid_ifnum_conn_create_req" ,NSS_STATS_TYPE_SPECIAL}, - {"mirror_invalid_iftype_conn_create_req" ,NSS_STATS_TYPE_SPECIAL}, - {"mirror_failures" ,NSS_STATS_TYPE_SPECIAL}, -+#endif - }; - - /* --- -2.31.1 - diff --git a/package/qca/qca-ssdk-shell/Makefile b/package/qca/qca-ssdk-shell/Makefile index 90e2c2e64..16ab81e07 100644 --- a/package/qca/qca-ssdk-shell/Makefile +++ b/package/qca/qca-ssdk-shell/Makefile @@ -4,10 +4,10 @@ PKG_NAME:=qca-ssdk-shell PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git +PKG_SOURCE_DATE:=2022-01-24 PKG_SOURCE_URL:=https://source.codeaurora.org/quic/qsdk/oss/ssdk-shell -PKG_SOURCE_DATE:=2021-01-27 -PKG_SOURCE_VERSION:=5661366d471a78314bc7010f985ad8cc15be832a -PKG_MIRROR_HASH:=73111e09e896f0abbe3ee1c358aea7ec14fe5e668ce8753b8968e03c78f9599b +PKG_SOURCE_VERSION:=01a60b45ac3498a40bbb011d0c3b7d5d3a1cc9cb +PKG_MIRROR_HASH:=6233c02c296af241eb2e1c25e49dfc8d9c6cf1095cb82f1862b125dd125c758e include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/package.mk diff --git a/package/qca/qca-ssdk/Makefile b/package/qca/qca-ssdk/Makefile index 487117bb6..9b751f30d 100644 --- a/package/qca/qca-ssdk/Makefile +++ b/package/qca/qca-ssdk/Makefile @@ -4,10 +4,10 @@ PKG_NAME:=qca-ssdk PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://source.codeaurora.org/quic/qsdk/oss/lklm/qca-ssdk -PKG_SOURCE_DATE:=2021-04-28 -PKG_SOURCE_VERSION:=c9bc3bc34eaaac78083573524097356e2dcc1b66 -PKG_MIRROR_HASH:=29db78529be32427b8b96fcbfec22a016a243676781ec96d9d65b810944fa405 +PKG_SOURCE_DATE:=2022-02-09 +PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-ssdk.git +PKG_SOURCE_VERSION:=0d6d410637648b1bea0dede48d3fab791689cfce +PKG_MIRROR_HASH:=54891fbd66f147ccc51d9815d91cf20720046b37c41c80311fa12cf66b31b8b0 LOCAL_VARIANT=$(patsubst qca-ssdk-%,%,$(patsubst qca-ssdk-%,%,$(BUILD_VARIANT))) diff --git a/package/qca/qca-ssdk/patches/0001-SSDK-config-add-kernel-5.10-5.15.patch b/package/qca/qca-ssdk/patches/0001-SSDK-config-add-kernel-5.10-5.15.patch index 14fc12222..6b19bd667 100644 --- a/package/qca/qca-ssdk/patches/0001-SSDK-config-add-kernel-5.10-5.15.patch +++ b/package/qca/qca-ssdk/patches/0001-SSDK-config-add-kernel-5.10-5.15.patch @@ -1,21 +1,9 @@ -From 472c0c8132784608312c80c4b02c03ea7c132235 Mon Sep 17 00:00:00 2001 -From: Robert Marko -Date: Wed, 12 May 2021 13:41:12 +0200 -Subject: [PATCH] SSDK: config: add kernel 5.10 - -This is purely to identify it and be able to set -flags correctly. - -Signed-off-by: Robert Marko ---- - config | 6 +++++- - make/linux_opt.mk | 4 ++-- - 2 files changed, 7 insertions(+), 3 deletions(-) - +diff --git a/config b/config +index a8b97908..37b6ecd0 100755 --- a/config +++ b/config -@@ -22,6 +22,14 @@ ifeq ($(KVER),$(filter 5.4%,$(KVER))) - OS_VER=5_4 +@@ -24,6 +24,14 @@ ifeq ($(KVER),$(filter 5.4%,$(KVER))) + OS_VER=5_4 endif +ifeq ($(KVER),$(filter 5.10%,$(KVER))) @@ -27,20 +15,23 @@ Signed-off-by: Robert Marko +endif + ifeq ($(KVER), 3.4.0) - OS_VER=3_4 + OS_VER=3_4 endif -@@ -123,7 +131,7 @@ endif + +@@ -132,7 +140,7 @@ ifeq ($(ARCH), arm) endif ifeq ($(ARCH), arm64) --ifeq ($(KVER),$(filter 4.1% 4.4% 4.9% 5.4%,$(KVER))) -+ifeq ($(KVER),$(filter 4.1% 4.4% 4.9% 5.4% 5.10% 5.15%,$(KVER))) - CPU_CFLAG= -DMODULE -Os -pipe -march=armv8-a -mcpu=cortex-a53+crypto -fno-caller-saves -fno-strict-aliasing -Werror -fno-common -Wno-format-security -Wno-pointer-sign -Wno-unused-but-set-variable -Wno-error=unused-result -mcmodel=large - endif +- ifeq ($(KVER),$(filter 4.1% 4.4% 4.9% 5.4%,$(KVER))) ++ ifeq ($(KVER),$(filter 4.1% 4.4% 4.9% 5.4% 5.10% 5.15%,$(KVER))) + CPU_CFLAG= -DMODULE -Os -pipe -march=armv8-a -mcpu=cortex-a53+crypto -fno-caller-saves -fno-strict-aliasing -Werror -fno-common -Wno-format-security -Wno-pointer-sign -Wno-unused-but-set-variable -Wno-error=unused-result -mcmodel=large + endif endif +diff --git a/make/linux_opt.mk b/make/linux_opt.mk +index 21cb7c51..16122868 100755 --- a/make/linux_opt.mk +++ b/make/linux_opt.mk -@@ -388,7 +388,7 @@ ifeq (KSLIB, $(MODULE_TYPE)) +@@ -422,7 +422,7 @@ ifeq (KSLIB, $(MODULE_TYPE)) KASAN_SHADOW_SCALE_SHIFT := 3 endif @@ -49,7 +40,7 @@ Signed-off-by: Robert Marko ifeq ($(ARCH), arm64) KASAN_OPTION += -DKASAN_SHADOW_SCALE_SHIFT=$(KASAN_SHADOW_SCALE_SHIFT) endif -@@ -419,7 +419,7 @@ ifeq (KSLIB, $(MODULE_TYPE)) +@@ -453,7 +453,7 @@ ifeq (KSLIB, $(MODULE_TYPE)) endif diff --git a/package/qca/qca-ssdk/patches/0002-SSDK-replace-ioremap_nocache-with-ioremap.patch b/package/qca/qca-ssdk/patches/0002-SSDK-replace-ioremap_nocache-with-ioremap.patch index b293ad295..63444c0db 100644 --- a/package/qca/qca-ssdk/patches/0002-SSDK-replace-ioremap_nocache-with-ioremap.patch +++ b/package/qca/qca-ssdk/patches/0002-SSDK-replace-ioremap_nocache-with-ioremap.patch @@ -1,21 +1,8 @@ -From 784f2cfdfaf3bdf44917924e157049230a0ef5f8 Mon Sep 17 00:00:00 2001 -From: Robert Marko -Date: Wed, 12 May 2021 13:45:45 +0200 -Subject: [PATCH] SSDK: replace ioremap_nocache with ioremap - -ioremap_nocache was dropped upstream, simply use the -generic variety. - -Signed-off-by: Robert Marko ---- - src/init/ssdk_clk.c | 10 +++++----- - src/init/ssdk_init.c | 2 +- - src/init/ssdk_plat.c | 6 +++--- - 3 files changed, 9 insertions(+), 9 deletions(-) - +diff --git a/src/init/ssdk_clk.c b/src/init/ssdk_clk.c +index ee9fbdda..486b3590 100755 --- a/src/init/ssdk_clk.c +++ b/src/init/ssdk_clk.c -@@ -623,7 +623,7 @@ ssdk_mp_tcsr_get(a_uint32_t tcsr_offset, +@@ -696,7 +696,7 @@ ssdk_mp_tcsr_get(a_uint32_t tcsr_offset, a_uint32_t *tcsr_val) { void __iomem *tcsr_base = NULL; @@ -24,7 +11,7 @@ Signed-off-by: Robert Marko if (!tcsr_base) { SSDK_ERROR("Failed to map tcsr eth address!\n"); -@@ -640,7 +640,7 @@ ssdk_mp_tcsr_set(a_uint32_t tcsr_offset, +@@ -713,7 +713,7 @@ ssdk_mp_tcsr_set(a_uint32_t tcsr_offset, a_uint32_t tcsr_val) { void __iomem *tcsr_base = NULL; @@ -33,7 +20,7 @@ Signed-off-by: Robert Marko if (!tcsr_base) { SSDK_ERROR("Failed to map tcsr eth address!\n"); -@@ -688,7 +688,7 @@ ssdk_mp_cmnblk_stable_check(void) +@@ -761,7 +761,7 @@ ssdk_mp_cmnblk_stable_check(void) a_uint32_t reg_val; int i, loops = 20; @@ -42,7 +29,7 @@ Signed-off-by: Robert Marko if (!pll_lock) { SSDK_ERROR("Failed to map CMN PLL LOCK register!\n"); return A_FALSE; -@@ -745,7 +745,7 @@ static void ssdk_cmnblk_pll_src_set(enum +@@ -818,7 +818,7 @@ static void ssdk_cmnblk_pll_src_set(enum cmnblk_pll_src_type pll_source) void __iomem *cmn_pll_src_base = NULL; a_uint32_t reg_val; @@ -51,7 +38,7 @@ Signed-off-by: Robert Marko if (!cmn_pll_src_base) { SSDK_ERROR("Failed to map cmn pll source address!\n"); return; -@@ -766,7 +766,7 @@ static void ssdk_cmnblk_init(enum cmnblk +@@ -839,7 +839,7 @@ static void ssdk_cmnblk_init(enum cmnblk_clk_type mode) void __iomem *gcc_pll_base = NULL; a_uint32_t reg_val; @@ -60,9 +47,11 @@ Signed-off-by: Robert Marko if (!gcc_pll_base) { SSDK_ERROR("Failed to map gcc pll address!\n"); return; +diff --git a/src/init/ssdk_init.c b/src/init/ssdk_init.c +index 0d7cac41..bc4486fe 100755 --- a/src/init/ssdk_init.c +++ b/src/init/ssdk_init.c -@@ -2770,7 +2770,7 @@ static int ssdk_dess_mac_mode_init(a_uin +@@ -2945,7 +2945,7 @@ static int ssdk_dess_mac_mode_init(a_uint32_t dev_id, a_uint32_t mac_mode) (a_uint8_t *)®_value, 4); mdelay(10); /*softreset psgmii, fixme*/ @@ -71,9 +60,11 @@ Signed-off-by: Robert Marko if (!gcc_addr) { SSDK_ERROR("gcc map fail!\n"); return 0; +diff --git a/src/init/ssdk_plat.c b/src/init/ssdk_plat.c +index 1d97f81c..dbb186fa 100755 --- a/src/init/ssdk_plat.c +++ b/src/init/ssdk_plat.c -@@ -1312,7 +1312,7 @@ ssdk_plat_init(ssdk_init_cfg *cfg, a_uin +@@ -1361,7 +1361,7 @@ ssdk_plat_init(ssdk_init_cfg *cfg, a_uint32_t dev_id) reg_mode = ssdk_uniphy_reg_access_mode_get(dev_id); if(reg_mode == HSL_REG_LOCAL_BUS) { ssdk_uniphy_reg_map_info_get(dev_id, &map); @@ -82,7 +73,7 @@ Signed-off-by: Robert Marko map.size); if (!qca_phy_priv_global[dev_id]->uniphy_hw_addr) { SSDK_ERROR("%s ioremap fail.", __func__); -@@ -1327,7 +1327,7 @@ ssdk_plat_init(ssdk_init_cfg *cfg, a_uin +@@ -1376,7 +1376,7 @@ ssdk_plat_init(ssdk_init_cfg *cfg, a_uint32_t dev_id) reg_mode = ssdk_switch_reg_access_mode_get(dev_id); if(reg_mode == HSL_REG_LOCAL_BUS) { ssdk_switch_reg_map_info_get(dev_id, &map); @@ -91,7 +82,7 @@ Signed-off-by: Robert Marko map.size); if (!qca_phy_priv_global[dev_id]->hw_addr) { SSDK_ERROR("%s ioremap fail.", __func__); -@@ -1358,7 +1358,7 @@ ssdk_plat_init(ssdk_init_cfg *cfg, a_uin +@@ -1409,7 +1409,7 @@ ssdk_plat_init(ssdk_init_cfg *cfg, a_uint32_t dev_id) return -1; } diff --git a/package/qca/qca-ssdk/patches/0004-platform-use-of_mdio_find_bus-to-get-MDIO-bus.patch b/package/qca/qca-ssdk/patches/0004-platform-use-of_mdio_find_bus-to-get-MDIO-bus.patch index 3bcbcccf6..792198b03 100644 --- a/package/qca/qca-ssdk/patches/0004-platform-use-of_mdio_find_bus-to-get-MDIO-bus.patch +++ b/package/qca/qca-ssdk/patches/0004-platform-use-of_mdio_find_bus-to-get-MDIO-bus.patch @@ -1,22 +1,8 @@ -From b6190ca46287d01a895c7cc14de30410c09ff1b8 Mon Sep 17 00:00:00 2001 -From: Robert Marko -Date: Wed, 12 May 2021 17:15:46 +0200 -Subject: [PATCH] SSDK: platform: use of_mdio_find_bus() to get MDIO bus - -Kernel has a generic of_mdio_find_bus() which can get the appropriate -MDIO bus based on the DT node. -So, drop the getting MDIO from platform data, which no longer works -in 5.4 and later and use of_mdio_find_bus(). - -Signed-off-by: Baruch Siach -Signed-off-by: Robert Marko ---- - src/init/ssdk_plat.c | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - +diff --git a/src/init/ssdk_plat.c b/src/init/ssdk_plat.c +index dbb186fa..4b44d218 100755 --- a/src/init/ssdk_plat.c +++ b/src/init/ssdk_plat.c -@@ -551,7 +551,6 @@ static int miibus_get(a_uint32_t dev_id) +@@ -561,7 +561,6 @@ static int miibus_get(a_uint32_t dev_id) struct device_node *mdio_node = NULL; struct device_node *switch_node = NULL; struct platform_device *mdio_plat = NULL; @@ -24,7 +10,7 @@ Signed-off-by: Robert Marko struct qca_phy_priv *priv; hsl_reg_mode reg_mode = HSL_REG_LOCAL_BUS; priv = qca_phy_priv_global[dev_id]; -@@ -584,12 +583,7 @@ static int miibus_get(a_uint32_t dev_id) +@@ -596,12 +595,7 @@ static int miibus_get(a_uint32_t dev_id) if(reg_mode == HSL_REG_LOCAL_BUS) { diff --git a/package/qca/qca-ssdk/patches/0005-add-kernel-5.4-support.patch b/package/qca/qca-ssdk/patches/0005-add-kernel-5.4-support.patch index a18dacc33..43e7cfe52 100644 --- a/package/qca/qca-ssdk/patches/0005-add-kernel-5.4-support.patch +++ b/package/qca/qca-ssdk/patches/0005-add-kernel-5.4-support.patch @@ -1,6 +1,8 @@ +diff --git a/app/nathelper/linux/lib/nat_helper_dt.c b/app/nathelper/linux/lib/nat_helper_dt.c +index 85941881..921c81fa 100755 --- a/app/nathelper/linux/lib/nat_helper_dt.c +++ b/app/nathelper/linux/lib/nat_helper_dt.c -@@ -721,7 +721,7 @@ napt_ct_counter_sync(a_uint32_t hw_index +@@ -726,7 +726,7 @@ napt_ct_counter_sync(a_uint32_t hw_index) } if (!test_bit(IPS_FIXED_TIMEOUT_BIT, &ct->status)) { @@ -9,7 +11,7 @@ } if((cct != NULL) && (napt_hw_get_by_index(&napt, hw_index) == 0)) -@@ -770,7 +770,7 @@ napt_ct_timer_update(a_uint32_t hw_index +@@ -775,7 +775,7 @@ napt_ct_timer_update(a_uint32_t hw_index) } if (!test_bit(IPS_FIXED_TIMEOUT_BIT, &ct->status)) { @@ -18,9 +20,11 @@ } return 0; +diff --git a/app/nathelper/linux/napt_helper.c b/app/nathelper/linux/napt_helper.c +index e6efbbf8..8cd8b9d9 100755 --- a/app/nathelper/linux/napt_helper.c +++ b/app/nathelper/linux/napt_helper.c -@@ -64,11 +64,6 @@ napt_ct_aging_disable(uint32_t ct_addr) +@@ -64,11 +64,6 @@ napt_ct_aging_disable(uintptr_t ct_addr) } ct = (struct nf_conn *)ct_addr; @@ -32,7 +36,7 @@ } int -@@ -85,7 +80,7 @@ napt_ct_aging_is_enable(uint32_t ct_addr +@@ -85,7 +80,7 @@ napt_ct_aging_is_enable(uintptr_t ct_addr) ct = (struct nf_conn *)ct_addr; @@ -41,7 +45,7 @@ } void -@@ -111,18 +106,17 @@ napt_ct_aging_enable(uint32_t ct_addr) +@@ -111,18 +106,17 @@ napt_ct_aging_enable(uintptr_t ct_addr) l3num = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.l3num; protonum = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.protonum; @@ -63,14 +67,14 @@ void @@ -339,7 +333,6 @@ napt_ct_list_unlock(void) - uint32_t - napt_ct_list_iterate(uint32_t *hash, uint32_t *iterate) + uintptr_t + napt_ct_list_iterate(uint32_t *hash, uintptr_t *iterate) { - struct net *net = &init_net; struct nf_conntrack_tuple_hash *h = NULL; struct nf_conn *ct = NULL; struct hlist_nulls_node *pos = (struct hlist_nulls_node *) (*iterate); -@@ -349,7 +342,7 @@ napt_ct_list_iterate(uint32_t *hash, uin +@@ -349,7 +342,7 @@ napt_ct_list_iterate(uint32_t *hash, uintptr_t *iterate) if(pos == 0) { /*get head for list*/ @@ -79,6 +83,8 @@ } hlist_nulls_for_each_entry_from(h, pos, hnnode) +diff --git a/app/nathelper/linux/nat_ipt_helper.c b/app/nathelper/linux/nat_ipt_helper.c +index d48c26ef..2304ad5a 100755 --- a/app/nathelper/linux/nat_ipt_helper.c +++ b/app/nathelper/linux/nat_ipt_helper.c @@ -534,10 +534,10 @@ nat_ipt_data_init(void) @@ -94,9 +100,11 @@ } static void +diff --git a/make/linux_opt.mk b/make/linux_opt.mk +index 16122868..23f50ea4 100755 --- a/make/linux_opt.mk +++ b/make/linux_opt.mk -@@ -449,9 +449,6 @@ ifeq (KSLIB, $(MODULE_TYPE)) +@@ -483,9 +483,6 @@ ifeq (KSLIB, $(MODULE_TYPE)) else ifeq ($(ARCH), arm) MODULE_INC += -I$(SYS_PATH) \ -I$(TOOL_PATH)/../lib/gcc/$(TARGET_NAME)/$(GCC_VERSION)/include/ \ diff --git a/package/qca/qca-ssdk/patches/0006-fix-mdio-probe-on-ipq806x.patch b/package/qca/qca-ssdk/patches/0006-fix-mdio-probe-on-ipq806x.patch index 8e802fe2a..e8423b84e 100644 --- a/package/qca/qca-ssdk/patches/0006-fix-mdio-probe-on-ipq806x.patch +++ b/package/qca/qca-ssdk/patches/0006-fix-mdio-probe-on-ipq806x.patch @@ -1,9 +1,9 @@ --- a/src/init/ssdk_plat.c +++ b/src/init/ssdk_plat.c -@@ -568,7 +568,7 @@ static int miibus_get(a_uint32_t dev_id) - if(reg_mode == HSL_REG_LOCAL_BUS) - mdio_node = of_find_compatible_node(NULL, NULL, "qcom,ipq40xx-mdio"); - else +@@ -580,7 +580,7 @@ static int miibus_get(a_uint32_t dev_id) + if (!mdio_node) + mdio_node = of_find_compatible_node(NULL, NULL, "qcom,qca-mdio"); + } else - mdio_node = of_find_compatible_node(NULL, NULL, "virtual,mdio-gpio"); + mdio_node = of_find_compatible_node(NULL, NULL, "qcom,ipq8064-mdio"); diff --git a/package/qca/qca-ssdk/patches/0007-SSDK-dts-fix-of_get_mac_address.patch b/package/qca/qca-ssdk/patches/0007-SSDK-dts-fix-of_get_mac_address.patch index 29be93128..e76aefb80 100644 --- a/package/qca/qca-ssdk/patches/0007-SSDK-dts-fix-of_get_mac_address.patch +++ b/package/qca/qca-ssdk/patches/0007-SSDK-dts-fix-of_get_mac_address.patch @@ -1,21 +1,8 @@ -From f3a7b93137c1a6a1b8010b86296242178eed5d9e Mon Sep 17 00:00:00 2001 -From: Robert Marko -Date: Fri, 13 Aug 2021 20:03:21 +0200 -Subject: [PATCH] SSDK: dts: fix of_get_mac_address() - -Recently OpenWrt backported the updated of_get_mac_address() -function which returns and error code instead. - -So, patch the SSDK to use it and fix the compilation error. - -Signed-off-by: Robert Marko ---- - src/init/ssdk_dts.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - +diff --git a/src/init/ssdk_dts.c b/src/init/ssdk_dts.c +index e7152987..5ef813c9 100755 --- a/src/init/ssdk_dts.c +++ b/src/init/ssdk_dts.c -@@ -779,8 +779,9 @@ static void ssdk_dt_parse_intf_mac(void) +@@ -824,8 +824,9 @@ static void ssdk_dt_parse_intf_mac(void) { struct device_node *dp_node = NULL; a_uint32_t dp = 0; @@ -26,7 +13,7 @@ Signed-off-by: Robert Marko for (dp = 1; dp <= SSDK_MAX_NR_ETH; dp++) { snprintf(dp_name, sizeof(dp_name), "dp%d", dp); -@@ -788,11 +789,11 @@ static void ssdk_dt_parse_intf_mac(void) +@@ -833,11 +834,11 @@ static void ssdk_dt_parse_intf_mac(void) if (!dp_node) { continue; } diff --git a/package/qca/qca-ssdk/patches/0008-add-aquantia-phy-id-113CB0.patch b/package/qca/qca-ssdk/patches/0008-add-aquantia-phy-id-113CB0.patch deleted file mode 100644 index fba52635c..000000000 --- a/package/qca/qca-ssdk/patches/0008-add-aquantia-phy-id-113CB0.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 440ab349813e5aa9dbeddab4d82ab64ff5347c5f Mon Sep 17 00:00:00 2001 -From: Dirk Buchwalder -Date: Sat, 30 Oct 2021 19:51:06 +0200 -Subject: [PATCH] add aquantia phy id 113CB0 / 0x31c31C12 - -This adds support for the AQR113C with the id -"113CB0 / 0x31c31C12" to the ssdk. - -This is used in the QNAP 301w - -Signed-off-by: Dirk Buchwalder - ---- - include/hsl/phy/hsl_phy.h | 1 + - src/hsl/phy/hsl_phy.c | 1 + - 2 files changed, 2 insertions(+) - ---- a/include/hsl/phy/hsl_phy.h -+++ b/include/hsl/phy/hsl_phy.h -@@ -579,6 +579,7 @@ typedef struct { - #define AQUANTIA_PHY_112 0x03a1b660 - #define AQUANTIA_PHY_113C_A0 0x31c31C10 - #define AQUANTIA_PHY_113C_A1 0x31c31C11 -+#define AQUANTIA_PHY_113C_B0 0x31c31C12 - #define AQUANTIA_PHY_112C 0x03a1b792 - - #define PHY_805XV2 0x004DD082 ---- a/src/hsl/phy/hsl_phy.c -+++ b/src/hsl/phy/hsl_phy.c -@@ -235,6 +235,7 @@ phy_type_t hsl_phytype_get_by_phyid(a_ui - case AQUANTIA_PHY_112: - case AQUANTIA_PHY_113C_A0: - case AQUANTIA_PHY_113C_A1: -+ case AQUANTIA_PHY_113C_B0: - case AQUANTIA_PHY_112C: - phytype = AQUANTIA_PHY_CHIP; - break; diff --git a/package/qca/qca-ssdk/patches/0009-qca8081-convert-to-5.11-IRQ-model.patch b/package/qca/qca-ssdk/patches/0009-qca8081-convert-to-5.11-IRQ-model.patch index b0c272b17..63458ba22 100644 --- a/package/qca/qca-ssdk/patches/0009-qca8081-convert-to-5.11-IRQ-model.patch +++ b/package/qca/qca-ssdk/patches/0009-qca8081-convert-to-5.11-IRQ-model.patch @@ -1,19 +1,8 @@ -From 25ff0ae02accadd7b05f1dae788505f833d5c019 Mon Sep 17 00:00:00 2001 -From: Robert Marko -Date: Fri, 24 Dec 2021 20:02:32 +0100 -Subject: [PATCH] qca8081: convert to 5.11 IRQ model - -Kernel 5.11 introduced new IRQ handling model for PHY-s, -so provide those if 5.11 or later is used. - -Signed-off-by: Robert Marko ---- - src/hsl/phy/qca808x.c | 46 +++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 46 insertions(+) - +diff --git a/src/hsl/phy/qca808x.c b/src/hsl/phy/qca808x.c +index 0f0ebb57..f370e39e 100755 --- a/src/hsl/phy/qca808x.c +++ b/src/hsl/phy/qca808x.c -@@ -238,6 +238,7 @@ static int qca808x_config_intr(struct ph +@@ -238,6 +238,7 @@ static int qca808x_config_intr(struct phy_device *phydev) return err; } @@ -21,7 +10,7 @@ Signed-off-by: Robert Marko static int qca808x_ack_interrupt(struct phy_device *phydev) { int err; -@@ -257,6 +258,47 @@ static int qca808x_ack_interrupt(struct +@@ -257,6 +258,47 @@ static int qca808x_ack_interrupt(struct phy_device *phydev) return (err < 0) ? err : 0; } @@ -69,7 +58,7 @@ Signed-off-by: Robert Marko /* switch linux negtiation capability to fal avariable */ #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)) -@@ -559,7 +601,11 @@ struct phy_driver qca808x_phy_driver = { +@@ -623,7 +665,11 @@ struct phy_driver qca808x_phy_driver = { .config_intr = qca808x_config_intr, .config_aneg = qca808x_config_aneg, .aneg_done = qca808x_aneg_done, diff --git a/target/linux/ipq807x/base-files/etc/board.d/01_leds b/target/linux/ipq807x/base-files/etc/board.d/01_leds index e63ef959c..fd998f0b3 100644 --- a/target/linux/ipq807x/base-files/etc/board.d/01_leds +++ b/target/linux/ipq807x/base-files/etc/board.d/01_leds @@ -11,6 +11,10 @@ xiaomi,ax3600|\ redmi,ax6) ucidef_set_led_netdev "wan" "WAN" "blue:network" "eth0" ;; +tplink,tl-er2260t) + ucidef_set_led_netdev "SFP1_active" "SFP1_ACTIVE" "green:sfp1" "eth5" + ucidef_set_led_netdev "SFP2_active" "SFP2_ACTIVE" "green:sfp2" "eth4" + ;; qnap,301w) ucidef_set_led_netdev "lan1" "LAN1" "green:lan1" "eth0" ucidef_set_led_netdev "lan2" "LAN2" "green:lan2" "eth1" diff --git a/target/linux/ipq807x/base-files/etc/board.d/02_network b/target/linux/ipq807x/base-files/etc/board.d/02_network index 40c2d1de1..99745cdf4 100644 --- a/target/linux/ipq807x/base-files/etc/board.d/02_network +++ b/target/linux/ipq807x/base-files/etc/board.d/02_network @@ -21,6 +21,9 @@ ipq807x_setup_interfaces() zte,mf269) ucidef_set_interfaces_lan_wan "eth0" "eth1" ;; + tplink,tl-er2260t) + ucidef_set_interfaces_lan_wan "eth0 eth1 eth2 eth3 eth5" "eth4" + ;; tplink,xtr10890) ucidef_set_interfaces_lan_wan "eth0 eth1 eth2 eth3 eth4" "eth5" ;; diff --git a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh index 09b243a2d..ea2e8becf 100644 --- a/target/linux/ipq807x/base-files/lib/upgrade/platform.sh +++ b/target/linux/ipq807x/base-files/lib/upgrade/platform.sh @@ -46,6 +46,7 @@ platform_do_upgrade() { zte,mf269) nand_do_upgrade "$1" ;; + tplink,tl-er2260t|\ tplink,xtr10890) nand_do_upgrade "$1" ;; diff --git a/target/linux/ipq807x/files-5.10/arch/arm64/boot/dts/qcom/ipq8070-tl-er2260t.dts b/target/linux/ipq807x/files-5.10/arch/arm64/boot/dts/qcom/ipq8070-tl-er2260t.dts new file mode 100644 index 000000000..89b36ac01 --- /dev/null +++ b/target/linux/ipq807x/files-5.10/arch/arm64/boot/dts/qcom/ipq8070-tl-er2260t.dts @@ -0,0 +1,665 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* Copyright (c) 2020 The Linux Foundation. All rights reserved. + */ + +/dts-v1/; + +#include "ipq8074.dtsi" +#include "ipq8074-hk-cpu.dtsi" +#include +#include +#include +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + model = "TP-Link TL-ER2260T"; + compatible = "tplink,tl-er2260t", "qcom,ipq8074"; + qcom,msm-id = <0x143 0x0>; + interrupt-parent = <&intc>; + + aliases { + led-boot = &led_sys; + led-failsafe = &led_sys; + led-running = &led_sys; + led-upgrade = &led_sys; + serial0 = &blsp1_uart5; + + ethernet0 = "/soc/dp1"; + ethernet1 = "/soc/dp2"; + ethernet2 = "/soc/dp3"; + ethernet3 = "/soc/dp4"; + ethernet4 = "/soc/dp5"; + ethernet5 = "/soc/dp6"; + }; + + chosen { + stdout-path = "serial0"; + bootargs-append = " root=/dev/ubiblock0_1"; + }; + + gpio_keys { + compatible = "gpio-keys"; + pinctrl-0 = <&button_pins>; + pinctrl-names = "default"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-0 = <&leds_pins>; + pinctrl-names = "default"; + + led_sys: sys { + label = "green:sys"; + gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>; + }; + + usb { + label = "green:usb"; + gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "usbport"; + }; + + sfp1-green { + label = "green:sfp1"; + gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>; + }; + + sfp2-green { + label = "green:sfp2"; + gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>; + }; + }; + + spi@78b5000 { + status = "ok"; + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; + cs-select = <0>; + + m25p80@0 { + compatible = "n25q128a11"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0>; + spi-max-frequency = <50000000>; + }; + }; +}; + +&tlmm { + mdio_pins: mdio_pinmux { + mux_0 { + pins = "gpio68"; + function = "mdc"; + drive-strength = <8>; + bias-pull-up; + }; + mux_1 { + pins = "gpio69"; + function = "mdio"; + drive-strength = <8>; + bias-pull-up; + }; + mux_2 { + pins = "gpio44"; + function = "gpio"; + bias-pull-up; + }; + }; + + i2c_1_pins: i2c_1_pins { + pins = "gpio46", "gpio47"; + function = "blsp2_i2c"; + drive-strength = <8>; + bias-disable; + }; + + button_pins: button_pins { + reset { + pins = "gpio50"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + uniphy_pins: uniphy_pinmux { + mux { + pins = "gpio60"; + function = "rx2"; + bias-disable; + }; + sfp_tx { + pins = "gpio59"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + output-high; + }; + }; + + leds_pins: leds_pinmux { + mux { + pins = "gpio21", "gpio22", "gpio65"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + led_sfp1_active { + pins = "gpio51"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + led_sfp2_active { + pins = "gpio55"; + function = "gpio"; + drive-strength = <8>; + bias-pull-down; + }; + }; +}; + +&mdio { + status = "okay"; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; + + phy0:ethernet-phy@0 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <0>; + }; + phy1:ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; + phy2:ethernet-phy@2 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <2>; + }; + phy3:ethernet-phy@3 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <3>; + }; + phy4: ethernet-phy@29 { + reg = <29>; + }; + phy5: ethernet-phy@30 { + reg = <30>; + }; +}; + +&ess_switch { + status = "okay"; + switch_cpu_bmp = <0x1>; /* cpu port bitmap */ + switch_lan_bmp = <0x3e>; /* lan port bitmap */ + switch_wan_bmp = <0x40>; /* wan port bitmap */ + switch_mac_mode = <0xb>; /* mac mode for uniphy instance0*/ + switch_mac_mode1 = <0xe>; /* mac mode for uniphy instance1*/ //use 10g_baser mode for default + switch_mac_mode2 = <0xe>; /* mac mode for uniphy instance2*/ //use 10g_baser mode for default + bm_tick_mode = <0>; /* bm tick mode */ + tm_tick_mode = <0>; /* tm tick mode */ + cmnblk_clk = "external_50MHz"; + + qcom,port_phyinfo { + port@0 { + port_id = <1>; + phy_address = <0>; + }; + port@1 { + port_id = <2>; + phy_address = <1>; + }; + port@2 { + port_id = <3>; + phy_address = <2>; + }; + port@3 { + port_id = <4>; + phy_address = <3>; + }; + port@4 { + port_id = <5>; + phy_address = <29>;//29 + phy_i2c_address = <29>;//29 + phy-i2c-mode; /*i2c access phy */ + media-type = "sfp"; /* fiber mode */ + }; + port@5 { + port_id = <6>; + phy_address = <30>;//30 + phy_i2c_address = <30>;//30 + phy-i2c-mode; /*i2c access phy */ + media-type = "sfp"; /* fiber mode */ + }; + }; + port_scheduler_resource { + port@0 { + port_id = <0>; + ucast_queue = <0 143>; + mcast_queue = <256 271>; + l0sp = <0 35>; + l0cdrr = <0 47>; + l0edrr = <0 47>; + l1cdrr = <0 7>; + l1edrr = <0 7>; + }; + port@1 { + port_id = <1>; + ucast_queue = <144 159>; + mcast_queue = <272 275>; + l0sp = <36 39>; + l0cdrr = <48 63>; + l0edrr = <48 63>; + l1cdrr = <8 11>; + l1edrr = <8 11>; + }; + port@2 { + port_id = <2>; + ucast_queue = <160 175>; + mcast_queue = <276 279>; + l0sp = <40 43>; + l0cdrr = <64 79>; + l0edrr = <64 79>; + l1cdrr = <12 15>; + l1edrr = <12 15>; + }; + port@3 { + port_id = <3>; + ucast_queue = <176 191>; + mcast_queue = <280 283>; + l0sp = <44 47>; + l0cdrr = <80 95>; + l0edrr = <80 95>; + l1cdrr = <16 19>; + l1edrr = <16 19>; + }; + port@4 { + port_id = <4>; + ucast_queue = <192 207>; + mcast_queue = <284 287>; + l0sp = <48 51>; + l0cdrr = <96 111>; + l0edrr = <96 111>; + l1cdrr = <20 23>; + l1edrr = <20 23>; + }; + port@5 { + port_id = <5>; + ucast_queue = <208 223>; + mcast_queue = <288 291>; + l0sp = <52 55>; + l0cdrr = <112 127>; + l0edrr = <112 127>; + l1cdrr = <24 27>; + l1edrr = <24 27>; + }; + port@6 { + port_id = <6>; + ucast_queue = <224 239>; + mcast_queue = <292 295>; + l0sp = <56 59>; + l0cdrr = <128 143>; + l0edrr = <128 143>; + l1cdrr = <28 31>; + l1edrr = <28 31>; + }; + port@7 { + port_id = <7>; + ucast_queue = <240 255>; + mcast_queue = <296 299>; + l0sp = <60 63>; + l0cdrr = <144 159>; + l0edrr = <144 159>; + l1cdrr = <32 35>; + l1edrr = <32 35>; + }; + }; + port_scheduler_config { + port@0 { + port_id = <0>; + l1scheduler { + group@0 { + sp = <0 1>; /*L0 SPs*/ + /*cpri cdrr epri edrr*/ + cfg = <0 0 0 0>; + }; + }; + l0scheduler { + group@0 { + /*unicast queues*/ + ucast_queue = <0 4 8>; + /*multicast queues*/ + mcast_queue = <256 260>; + /*sp cpri cdrr epri edrr*/ + cfg = <0 0 0 0 0>; + }; + group@1 { + ucast_queue = <1 5 9>; + mcast_queue = <257 261>; + cfg = <0 1 1 1 1>; + }; + group@2 { + ucast_queue = <2 6 10>; + mcast_queue = <258 262>; + cfg = <0 2 2 2 2>; + }; + group@3 { + ucast_queue = <3 7 11>; + mcast_queue = <259 263>; + cfg = <0 3 3 3 3>; + }; + }; + }; + port@1 { + port_id = <1>; + l1scheduler { + group@0 { + sp = <36>; + cfg = <0 8 0 8>; + }; + group@1 { + sp = <37>; + cfg = <1 9 1 9>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <144>; + ucast_loop_pri = <16>; + mcast_queue = <272>; + mcast_loop_pri = <4>; + cfg = <36 0 48 0 48>; + }; + }; + }; + port@2 { + port_id = <2>; + l1scheduler { + group@0 { + sp = <40>; + cfg = <0 12 0 12>; + }; + group@1 { + sp = <41>; + cfg = <1 13 1 13>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <160>; + ucast_loop_pri = <16>; + mcast_queue = <276>; + mcast_loop_pri = <4>; + cfg = <40 0 64 0 64>; + }; + }; + }; + port@3 { + port_id = <3>; + l1scheduler { + group@0 { + sp = <44>; + cfg = <0 16 0 16>; + }; + group@1 { + sp = <45>; + cfg = <1 17 1 17>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <176>; + ucast_loop_pri = <16>; + mcast_queue = <280>; + mcast_loop_pri = <4>; + cfg = <44 0 80 0 80>; + }; + }; + }; + port@4 { + port_id = <4>; + l1scheduler { + group@0 { + sp = <48>; + cfg = <0 20 0 20>; + }; + group@1 { + sp = <49>; + cfg = <1 21 1 21>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <192>; + ucast_loop_pri = <16>; + mcast_queue = <284>; + mcast_loop_pri = <4>; + cfg = <48 0 96 0 96>; + }; + }; + }; + port@5 { + port_id = <5>; + l1scheduler { + group@0 { + sp = <52>; + cfg = <0 24 0 24>; + }; + group@1 { + sp = <53>; + cfg = <1 25 1 25>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <208>; + ucast_loop_pri = <16>; + mcast_queue = <288>; + mcast_loop_pri = <4>; + cfg = <52 0 112 0 112>; + }; + }; + }; + port@6 { + port_id = <6>; + l1scheduler { + group@0 { + sp = <56>; + cfg = <0 28 0 28>; + }; + group@1 { + sp = <57>; + cfg = <1 29 1 29>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <224>; + ucast_loop_pri = <16>; + mcast_queue = <292>; + mcast_loop_pri = <4>; + cfg = <56 0 128 0 128>; + }; + }; + }; + port@7 { + port_id = <7>; + l1scheduler { + group@0 { + sp = <60>; + cfg = <0 32 0 32>; + }; + group@1 { + sp = <61>; + cfg = <1 33 1 33>; + }; + }; + l0scheduler { + group@0 { + ucast_queue = <240>; + ucast_loop_pri = <16>; + mcast_queue = <296>; + cfg = <60 0 144 0 144>; + }; + }; + }; + }; +}; + +&soc { + dp1: dp1 { + device_type = "network"; + compatible = "qcom,nss-dp"; + qcom,id = <1>; + reg = <0x3a001000 0x200>; + qcom,mactype = <0>; + local-mac-address = [000000000000]; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <0>; + phy-mode = "sgmii"; + mdio-bus = <&mdio>; + }; + dp2: dp2 { + device_type = "network"; + compatible = "qcom,nss-dp"; + qcom,id = <2>; + reg = <0x3a001200 0x200>; + qcom,mactype = <0>; + local-mac-address = [000000000000]; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <1>; + phy-mode = "sgmii"; + mdio-bus = <&mdio>; + }; + dp3: dp3 { + device_type = "network"; + compatible = "qcom,nss-dp"; + qcom,id = <3>; + reg = <0x3a001400 0x200>; + qcom,mactype = <0>; + local-mac-address = [000000000000]; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <2>; + phy-mode = "sgmii"; + mdio-bus = <&mdio>; + }; + dp4: dp4 { + device_type = "network"; + compatible = "qcom,nss-dp"; + qcom,id = <4>; + reg = <0x3a001600 0x200>; + qcom,mactype = <0>; + local-mac-address = [000000000000]; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <3>; + phy-mode = "sgmii"; + mdio-bus = <&mdio>; + }; + dp5: dp5 { + device_type = "network"; + compatible = "qcom,nss-dp"; + qcom,id = <5>; + reg = <0x3a001800 0x200>; + qcom,mactype = <1>; + local-mac-address = [000000000000]; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <29>; + phy-mode = "sgmii"; + mdio-bus = <&mdio>; + }; + dp6: dp6 { + device_type = "network"; + compatible = "qcom,nss-dp"; + qcom,id = <6>; + reg = <0x3a007000 0x3fff>; + qcom,mactype = <1>; + local-mac-address = [000000000000]; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <30>; + phy-mode = "sgmii"; + mdio-bus = <&mdio>; + }; + + nss-macsec1 { + compatible = "qcom,nss-macsec"; + phy_addr = <0x1c>; + phy_access_mode = <0x00>; + mdiobus = <&mdio>; + }; + + watchdog@b017000 { + compatible = "qcom,kpss-wdt-ipq807x"; + reg = <0xb017000 0x1000>; + reg-names = "kpss_wdt"; + interrupt-names = "bark_irq"; + interrupts = <0x00 0x03 0x00>; + clocks = <&sleep_clk>; + timeout-sec = <0x0a>; + wdt-max-timeout = <0x20>; + }; +}; + +&blsp1_i2c2 { + status = "okay"; +}; + +&blsp1_i2c3 { + pinctrl-0 = <&i2c_1_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&blsp1_uart5 { + status = "okay"; +}; + +&cryptobam { + status = "okay"; +}; + +&crypto { + status = "okay"; +}; + +&qpic_bam { + status = "okay"; +}; + +&qpic_nand { + status = "okay"; + + nand@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <1>; + nand-ecc-strength = <4>; + nand-ecc-step-size = <512>; + nand-bus-width = <8>; + + partitions { + compatible = "qcom,smem-part"; + }; + }; +}; + +&qusb_phy_0 { + status = "okay"; +}; + +&ssphy_0 { + status = "okay"; +}; + +&usb_0 { + status = "okay"; +}; diff --git a/target/linux/ipq807x/image/generic.mk b/target/linux/ipq807x/image/generic.mk index b853ae433..8cbf99f75 100644 --- a/target/linux/ipq807x/image/generic.mk +++ b/target/linux/ipq807x/image/generic.mk @@ -45,6 +45,19 @@ define Device/zte_mf269 endef TARGET_DEVICES += zte_mf269 +define Device/tplink_tl-er2260t + $(call Device/FitImage) + $(call Device/UbiFit) + DEVICE_DTS := ipq8070-tl-er2260t + DEVICE_DTS_CONFIG := config@hk07 + BLOCKSIZE := 128k + PAGESIZE := 2048 + BOARD_NAME := tplink,tl-er2260t + DEVICE_TITLE := TPLINK TL-ER2260T + DEVICE_PACKAGES := qca-ssdk-shell +endef +TARGET_DEVICES += tplink_tl-er2260t + define Device/tplink_xtr10890 $(call Device/FitImage) $(call Device/UbiFit) diff --git a/target/linux/ipq807x/patches-5.10/900-arm64-dts-add-OpenWrt-DTS-files.patch b/target/linux/ipq807x/patches-5.10/900-arm64-dts-add-OpenWrt-DTS-files.patch index 37af0767f..1e5f25b84 100644 --- a/target/linux/ipq807x/patches-5.10/900-arm64-dts-add-OpenWrt-DTS-files.patch +++ b/target/linux/ipq807x/patches-5.10/900-arm64-dts-add-OpenWrt-DTS-files.patch @@ -12,7 +12,7 @@ Signed-off-by: Robert Marko --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile -@@ -3,6 +3,11 @@ dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc.d +@@ -3,6 +3,12 @@ dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc.d dtb-$(CONFIG_ARCH_QCOM) += apq8096-db820c.dtb dtb-$(CONFIG_ARCH_QCOM) += apq8096-ifc6640.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq6018-cp01-c1.dtb @@ -21,6 +21,7 @@ Signed-off-by: Robert Marko +dtb-$(CONFIG_ARCH_QCOM) += ipq8071-ax3600.dtb +dtb-$(CONFIG_ARCH_QCOM) += ipq8071-mf269.dtb +dtb-$(CONFIG_ARCH_QCOM) += ipq8078-xtr10890.dtb ++dtb-$(CONFIG_ARCH_QCOM) += ipq8070-tl-er2260t.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk01.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-longcheer-l8150.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-mtp.dtb