mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
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
This commit is contained in:
parent
26b859543a
commit
89200afb01
@ -3,11 +3,11 @@ include $(TOPDIR)/rules.mk
|
|||||||
PKG_NAME:=qca-nss-dp
|
PKG_NAME:=qca-nss-dp
|
||||||
PKG_RELEASE:=$(AUTORELEASE)
|
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_PROTO:=git
|
||||||
PKG_SOURCE_DATE:=2021-03-26
|
PKG_SOURCE_DATE:=2022-04-30
|
||||||
PKG_SOURCE_VERSION:=e0c89348d5ad99559ce2fbe15d37b3b5bc66aa03
|
PKG_SOURCE_VERSION:=72e9ec4187414461cbcf6ccff100e8b5ebe5f40b
|
||||||
PKG_MIRROR_HASH:=f369f0c3b33b5f4ad6d0a6ad6ac5495f63c9ecaf94e4e7fa345169f3e44fcf45
|
PKG_MIRROR_HASH:=805f16e59c75511132922f97740ebf6bf953845b0bbfd2089c4615456893bb37
|
||||||
|
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ EXTRA_CFLAGS+= \
|
|||||||
|
|
||||||
NSS_DP_HAL_DIR:=$(PKG_BUILD_DIR)/hal
|
NSS_DP_HAL_DIR:=$(PKG_BUILD_DIR)/hal
|
||||||
define Build/Configure
|
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
|
$(PKG_BUILD_DIR)/exports/nss_dp_arch.h
|
||||||
endef
|
endef
|
||||||
|
|
||||||
@ -53,7 +53,7 @@ define Build/Compile
|
|||||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||||
ARCH="$(LINUX_KARCH)" \
|
ARCH="$(LINUX_KARCH)" \
|
||||||
M="$(PKG_BUILD_DIR)" \
|
M="$(PKG_BUILD_DIR)" \
|
||||||
EXTRA_CFLAGS="$(EXTRA_CFLAGS)" SoC="$(SOC)" \
|
EXTRA_CFLAGS="$(EXTRA_CFLAGS)" SoC="$(CONFIG_TARGET_BOARD)" \
|
||||||
$(KERNEL_MAKE_FLAGS) \
|
$(KERNEL_MAKE_FLAGS) \
|
||||||
$(PKG_JOBS) \
|
$(PKG_JOBS) \
|
||||||
modules
|
modules
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
From 40979666b4371012405715ffa61ab5760fcdc6b3 Mon Sep 17 00:00:00 2001
|
From 40979666b4371012405715ffa61ab5760fcdc6b3 Mon Sep 17 00:00:00 2001
|
||||||
Message-Id: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il>
|
Message-Id: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il>
|
||||||
From: Baruch Siach <baruch@tkos.co.il>
|
From: Baruch Siach <baruch@tkos.co.il>
|
||||||
Date: Mon, 3 May 2021 20:07:36 +0300
|
Date: Mon, 3 May 2021 20:07:36 +0300
|
||||||
Subject: [PATCH 1/3] edma_tx_rx: support newer kernels time stamping API
|
Subject: [PATCH 1/3] edma_tx_rx: support newer kernels time stamping API
|
||||||
|
|
||||||
---
|
---
|
||||||
hal/edma/edma_tx_rx.c | 11 +++++++++++
|
hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c | 11 +++++++++++
|
||||||
1 file changed, 11 insertions(+)
|
1 file changed, 11 insertions(+)
|
||||||
|
|
||||||
--- a/hal/edma/edma_tx_rx.c
|
--- a/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c
|
||||||
+++ b/hal/edma/edma_tx_rx.c
|
+++ b/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c
|
||||||
@@ -226,10 +226,16 @@ void nss_phy_tstamp_rx_buf(__attribute__
|
@@ -227,10 +227,16 @@ void nss_phy_tstamp_rx_buf(__attribute__
|
||||||
* set to the correct PTP class value by calling ptp_classify_raw
|
* set to the correct PTP class value by calling ptp_classify_raw
|
||||||
* in drv->rxtstamp function.
|
* 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);
|
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
|
* set to the correct PTP class value by calling ptp_classify_raw
|
||||||
* in the drv->txtstamp function.
|
* in the drv->txtstamp function.
|
||||||
*/
|
*/
|
||||||
|
@ -1,29 +1,29 @@
|
|||||||
From cef7873a2d77df13ee702d902ed4e06b2248904b Mon Sep 17 00:00:00 2001
|
From cef7873a2d77df13ee702d902ed4e06b2248904b Mon Sep 17 00:00:00 2001
|
||||||
Message-Id: <cef7873a2d77df13ee702d902ed4e06b2248904b.1620066716.git.baruch@tkos.co.il>
|
Message-Id: <cef7873a2d77df13ee702d902ed4e06b2248904b.1620066716.git.baruch@tkos.co.il>
|
||||||
In-Reply-To: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il>
|
In-Reply-To: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il>
|
||||||
References: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il>
|
References: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il>
|
||||||
From: Baruch Siach <baruch@tkos.co.il>
|
From: Baruch Siach <baruch@tkos.co.il>
|
||||||
Date: Mon, 3 May 2021 20:17:22 +0300
|
Date: Mon, 3 May 2021 20:17:22 +0300
|
||||||
Subject: [PATCH 2/3] nss_dp_main: make phy mode code compatible with newer
|
Subject: [PATCH 2/3] nss_dp_main: make phy mode code compatible with newer
|
||||||
kernels
|
kernels
|
||||||
|
|
||||||
---
|
---
|
||||||
include/nss_dp_dev.h | 4 ++--
|
include/nss_dp_dev.h | 4 ++--
|
||||||
nss_dp_main.c | 4 ++++
|
nss_dp_main.c | 4 ++++
|
||||||
2 files changed, 6 insertions(+), 2 deletions(-)
|
2 files changed, 6 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
--- a/include/nss_dp_dev.h
|
--- a/include/nss_dp_dev.h
|
||||||
+++ b/include/nss_dp_dev.h
|
+++ b/include/nss_dp_dev.h
|
||||||
@@ -25,7 +25,7 @@
|
@@ -22,7 +22,7 @@
|
||||||
|
#include <linux/etherdevice.h>
|
||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/if_vlan.h>
|
|
||||||
-#include <linux/switch.h>
|
-#include <linux/switch.h>
|
||||||
+#include <linux/phy.h>
|
+#include <linux/phy.h>
|
||||||
|
#include <linux/version.h>
|
||||||
|
|
||||||
#include "nss_dp_api_if.h"
|
#include "nss_dp_api_if.h"
|
||||||
#include "nss_dp_hal_if.h"
|
@@ -99,7 +99,7 @@ struct nss_dp_dev {
|
||||||
@@ -46,7 +46,7 @@ struct nss_dp_dev {
|
|
||||||
/* Phy related stuff */
|
/* Phy related stuff */
|
||||||
struct phy_device *phydev; /* Phy device */
|
struct phy_device *phydev; /* Phy device */
|
||||||
struct mii_bus *miibus; /* MII bus */
|
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? */
|
uint32_t forced_speed; /* Forced speed? */
|
||||||
--- a/nss_dp_main.c
|
--- a/nss_dp_main.c
|
||||||
+++ b/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->netdev = netdev;
|
||||||
hal_pdata->macid = dp_priv->macid;
|
hal_pdata->macid = dp_priv->macid;
|
||||||
|
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
From c8c52512ff48bee578901c381a42f027e79eadf9 Mon Sep 17 00:00:00 2001
|
From c8c52512ff48bee578901c381a42f027e79eadf9 Mon Sep 17 00:00:00 2001
|
||||||
Message-Id: <c8c52512ff48bee578901c381a42f027e79eadf9.1620066716.git.baruch@tkos.co.il>
|
Message-Id: <c8c52512ff48bee578901c381a42f027e79eadf9.1620066716.git.baruch@tkos.co.il>
|
||||||
In-Reply-To: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il>
|
In-Reply-To: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il>
|
||||||
References: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il>
|
References: <40979666b4371012405715ffa61ab5760fcdc6b3.1620066716.git.baruch@tkos.co.il>
|
||||||
From: Baruch Siach <baruch@tkos.co.il>
|
From: Baruch Siach <baruch@tkos.co.il>
|
||||||
Date: Mon, 3 May 2021 20:20:29 +0300
|
Date: Mon, 3 May 2021 20:20:29 +0300
|
||||||
Subject: [PATCH 3/3] Drop _nocache variants of ioremap()
|
Subject: [PATCH 3/3] Drop _nocache variants of ioremap()
|
||||||
|
|
||||||
Recent kernels removed them.
|
Recent kernels removed them.
|
||||||
---
|
---
|
||||||
hal/edma/edma_data_plane.c | 2 +-
|
hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c | 2 +-
|
||||||
hal/gmac_hal_ops/qcom/qcom_if.c | 2 +-
|
hal/gmac_ops/qcom/qcom_if.c | 2 +-
|
||||||
hal/gmac_hal_ops/syn/xgmac/syn_if.c | 2 +-
|
hal/gmac_ops/syn/xgmac/syn_if.c | 2 +-
|
||||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
--- a/hal/edma/edma_data_plane.c
|
--- a/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c
|
||||||
+++ b/hal/edma/edma_data_plane.c
|
+++ b/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c
|
||||||
@@ -797,7 +797,7 @@ int edma_init(void)
|
@@ -279,7 +279,7 @@ int edma_init(void)
|
||||||
/*
|
/*
|
||||||
* Remap register resource
|
* Remap register resource
|
||||||
*/
|
*/
|
||||||
@ -24,9 +24,9 @@ Recent kernels removed them.
|
|||||||
resource_size(edma_hw.reg_resource));
|
resource_size(edma_hw.reg_resource));
|
||||||
if (!edma_hw.reg_base) {
|
if (!edma_hw.reg_base) {
|
||||||
pr_warn("Unable to remap EDMA register memory.\n");
|
pr_warn("Unable to remap EDMA register memory.\n");
|
||||||
--- a/hal/gmac_hal_ops/qcom/qcom_if.c
|
--- a/hal/gmac_ops/qcom/qcom_if.c
|
||||||
+++ b/hal/gmac_hal_ops/qcom/qcom_if.c
|
+++ b/hal/gmac_ops/qcom/qcom_if.c
|
||||||
@@ -400,7 +400,7 @@ static void *qcom_init(struct gmac_hal_p
|
@@ -418,7 +418,7 @@ static void *qcom_init(struct nss_gmac_h
|
||||||
qhd->nghd.mac_id = gmacpdata->macid;
|
qhd->nghd.mac_id = gmacpdata->macid;
|
||||||
|
|
||||||
/* Populate the mac base addresses */
|
/* Populate the mac base addresses */
|
||||||
@ -35,9 +35,9 @@ Recent kernels removed them.
|
|||||||
res->start, resource_size(res));
|
res->start, resource_size(res));
|
||||||
if (!qhd->nghd.mac_base) {
|
if (!qhd->nghd.mac_base) {
|
||||||
netdev_dbg(ndev, "ioremap fail.\n");
|
netdev_dbg(ndev, "ioremap fail.\n");
|
||||||
--- a/hal/gmac_hal_ops/syn/xgmac/syn_if.c
|
--- a/hal/gmac_ops/syn/xgmac/syn_if.c
|
||||||
+++ b/hal/gmac_hal_ops/syn/xgmac/syn_if.c
|
+++ b/hal/gmac_ops/syn/xgmac/syn_if.c
|
||||||
@@ -422,7 +422,7 @@ static void *syn_init(struct gmac_hal_pl
|
@@ -432,7 +432,7 @@ static void *syn_init(struct nss_gmac_ha
|
||||||
|
|
||||||
/* Populate the mac base addresses */
|
/* Populate the mac base addresses */
|
||||||
shd->nghd.mac_base =
|
shd->nghd.mac_base =
|
||||||
|
@ -9,12 +9,12 @@ cause NAPI over budget warnings.
|
|||||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||||
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||||
---
|
---
|
||||||
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(-)
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
--- a/hal/edma/edma_tx_rx.c
|
--- a/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c
|
||||||
+++ b/hal/edma/edma_tx_rx.c
|
+++ b/hal/dp_ops/edma_dp/edma_v1/edma_tx_rx.c
|
||||||
@@ -458,12 +458,12 @@ int edma_napi(struct napi_struct *napi,
|
@@ -459,12 +459,12 @@ int edma_napi(struct napi_struct *napi,
|
||||||
|
|
||||||
for (i = 0; i < ehw->txcmpl_rings; i++) {
|
for (i = 0; i < ehw->txcmpl_rings; i++) {
|
||||||
txcmpl_ring = &ehw->txcmpl_ring[i];
|
txcmpl_ring = &ehw->txcmpl_ring[i];
|
||||||
|
@ -14,13 +14,13 @@ So use NAPI_POLL_WEIGHT as the weight.
|
|||||||
|
|
||||||
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||||
---
|
---
|
||||||
hal/edma/edma_data_plane.c | 2 +-
|
hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c | 2 +-
|
||||||
hal/edma/edma_data_plane.h | 1 -
|
hal/dp_ops/edma_dp/edma_v1/edma_data_plane.h | 1 -
|
||||||
2 files changed, 1 insertion(+), 2 deletions(-)
|
2 files changed, 1 insertion(+), 2 deletions(-)
|
||||||
|
|
||||||
--- a/hal/edma/edma_data_plane.c
|
--- a/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c
|
||||||
+++ b/hal/edma/edma_data_plane.c
|
+++ b/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c
|
||||||
@@ -582,7 +582,7 @@ static int edma_register_netdevice(struc
|
@@ -837,7 +837,7 @@ static int edma_register_netdevice(struc
|
||||||
*/
|
*/
|
||||||
if (!edma_hw.napi_added) {
|
if (!edma_hw.napi_added) {
|
||||||
netif_napi_add(netdev, &edma_hw.napi, edma_napi,
|
netif_napi_add(netdev, &edma_hw.napi, edma_napi,
|
||||||
@ -29,13 +29,13 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
/*
|
/*
|
||||||
* Register the interrupt handlers and enable interrupts
|
* Register the interrupt handlers and enable interrupts
|
||||||
*/
|
*/
|
||||||
--- a/hal/edma/edma_data_plane.h
|
--- a/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.h
|
||||||
+++ b/hal/edma/edma_data_plane.h
|
+++ b/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.h
|
||||||
@@ -27,7 +27,6 @@
|
@@ -26,7 +26,6 @@
|
||||||
#define EDMA_RX_PREHDR_SIZE (sizeof(struct edma_rx_preheader))
|
#define EDMA_RX_PREHDR_SIZE (sizeof(struct edma_rx_preheader))
|
||||||
#define EDMA_TX_PREHDR_SIZE (sizeof(struct edma_tx_preheader))
|
#define EDMA_TX_PREHDR_SIZE (sizeof(struct edma_tx_preheader))
|
||||||
#define EDMA_RING_SIZE 128
|
#define EDMA_RING_SIZE 128
|
||||||
-#define EDMA_NAPI_WORK 100
|
-#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_MAX_GMACS NSS_DP_HAL_MAX_PORTS
|
||||||
#define EDMA_TX_PKT_MIN_SIZE 33 /* IPQ807x EDMA needs a minimum packet size of 33 bytes */
|
#define EDMA_TX_PKT_MIN_SIZE 33 /* IPQ807x EDMA needs a minimum packet size of 33 bytes */
|
||||||
|
@ -13,13 +13,11 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
nss_dp_main.c | 13 ++++---------
|
nss_dp_main.c | 13 ++++---------
|
||||||
1 file changed, 4 insertions(+), 9 deletions(-)
|
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
|
--- a/nss_dp_main.c
|
||||||
+++ b/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 net_device *netdev,
|
||||||
struct gmac_hal_platform_data *hal_pdata)
|
struct nss_gmac_hal_platform_data *hal_pdata)
|
||||||
{
|
{
|
||||||
- uint8_t *maddr;
|
- uint8_t *maddr;
|
||||||
+ u8 maddr[ETH_ALEN];
|
+ u8 maddr[ETH_ALEN];
|
||||||
@ -29,7 +27,7 @@ index 5580b13..28df280 100644
|
|||||||
|
|
||||||
dp_priv = netdev_priv(netdev);
|
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-speed", &dp_priv->forced_speed);
|
||||||
of_property_read_u32(np, "qcom,forced-duplex", &dp_priv->forced_duplex);
|
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);
|
ether_addr_copy(netdev->dev_addr, maddr);
|
||||||
} else {
|
} else {
|
||||||
random_ether_addr(netdev->dev_addr);
|
random_ether_addr(netdev->dev_addr);
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
@ -18,8 +18,8 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
+++ b/include/nss_dp_dev.h
|
+++ b/include/nss_dp_dev.h
|
||||||
@@ -24,6 +24,9 @@
|
@@ -24,6 +24,9 @@
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/if_vlan.h>
|
|
||||||
#include <linux/phy.h>
|
#include <linux/phy.h>
|
||||||
|
#include <linux/version.h>
|
||||||
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 12, 0))
|
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 12, 0))
|
||||||
+#include <net/switchdev.h>
|
+#include <net/switchdev.h>
|
||||||
+#endif
|
+#endif
|
||||||
|
@ -10,22 +10,32 @@ give the user some info on correct nss-dp probe.
|
|||||||
|
|
||||||
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||||
---
|
---
|
||||||
|
hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c | 4 ++--
|
||||||
nss_dp_main.c | 3 +++
|
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
|
--- a/hal/dp_ops/edma_dp/edma_v1/edma_data_plane.c
|
||||||
index c0ae9d6..441c300 100644
|
+++ 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
|
--- a/nss_dp_main.c
|
||||||
+++ b/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;
|
goto phy_setup_fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ netdev_info(netdev, "Registered netdev %s(qcom-id:%d)\n",
|
+ netdev_info(netdev, "Registered netdev %s(qcom-id:%d)\n",
|
||||||
+ netdev->name, port_id);
|
+ netdev->name, port_id);
|
||||||
+
|
+
|
||||||
dp_global_ctx.nss_dp[dp_priv->macid - 1] = dp_priv;
|
dp_global_ctx.nss_dp[dp_priv->macid - 1] = dp_priv;
|
||||||
dp_global_ctx.slowproto_acl_bm = 0;
|
dp_global_ctx.slowproto_acl_bm = 0;
|
||||||
|
|
||||||
--
|
|
||||||
2.34.1
|
|
||||||
|
@ -0,0 +1,63 @@
|
|||||||
|
From ae4fe8fb79b68f4cf4a887434ab6a8a9a1c65bfc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Robert Marko <robimarko@gmail.com>
|
||||||
|
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 <robimarko@gmail.com>
|
||||||
|
---
|
||||||
|
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
|
||||||
|
|
@ -5,9 +5,9 @@ PKG_RELEASE:=$(AUTORELEASE)
|
|||||||
|
|
||||||
PKG_SOURCE_URL:=https://source.codeaurora.org/quic/qsdk/oss/lklm/nss-drv
|
PKG_SOURCE_URL:=https://source.codeaurora.org/quic/qsdk/oss/lklm/nss-drv
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_DATE:=2021-04-26
|
PKG_SOURCE_DATE:=2022-01-24
|
||||||
PKG_SOURCE_VERSION:=1cf4bf81fd395f61648efeae78cdf1df60e954ff
|
PKG_SOURCE_VERSION:=4f1b8e51105bb71ebd0bb07c1ec0d8b6e5d0913e
|
||||||
PKG_MIRROR_HASH:=3dd84a548a530188021fd4dab54ca4e1eb9056ca77381b24f587365fc7c16f21
|
PKG_MIRROR_HASH:=4d32e072fb019d43adce8b1bc58c11a424aba31c3baa2d0b802141baa73d53e7
|
||||||
|
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
|
||||||
@ -103,8 +103,6 @@ endif
|
|||||||
|
|
||||||
define Build/Configure
|
define Build/Configure
|
||||||
$(LN) arch/nss_$(SOC).h $(PKG_BUILD_DIR)/exports/nss_arch.h
|
$(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
|
endef
|
||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
|
@ -1,344 +0,0 @@
|
|||||||
From d0bffc800a50305315a0d7cf37140291ef5b1b61 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ansuel Smith <ansuelsmth@gmail.com>
|
|
||||||
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 <ansuelsmth@gmail.com>
|
|
||||||
---
|
|
||||||
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
|
|
||||||
|
|
@ -4,10 +4,10 @@ PKG_NAME:=qca-ssdk-shell
|
|||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
|
PKG_SOURCE_DATE:=2022-01-24
|
||||||
PKG_SOURCE_URL:=https://source.codeaurora.org/quic/qsdk/oss/ssdk-shell
|
PKG_SOURCE_URL:=https://source.codeaurora.org/quic/qsdk/oss/ssdk-shell
|
||||||
PKG_SOURCE_DATE:=2021-01-27
|
PKG_SOURCE_VERSION:=01a60b45ac3498a40bbb011d0c3b7d5d3a1cc9cb
|
||||||
PKG_SOURCE_VERSION:=5661366d471a78314bc7010f985ad8cc15be832a
|
PKG_MIRROR_HASH:=6233c02c296af241eb2e1c25e49dfc8d9c6cf1095cb82f1862b125dd125c758e
|
||||||
PKG_MIRROR_HASH:=73111e09e896f0abbe3ee1c358aea7ec14fe5e668ce8753b8968e03c78f9599b
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/kernel.mk
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
@ -4,10 +4,10 @@ PKG_NAME:=qca-ssdk
|
|||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL:=https://source.codeaurora.org/quic/qsdk/oss/lklm/qca-ssdk
|
PKG_SOURCE_DATE:=2022-02-09
|
||||||
PKG_SOURCE_DATE:=2021-04-28
|
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-ssdk.git
|
||||||
PKG_SOURCE_VERSION:=c9bc3bc34eaaac78083573524097356e2dcc1b66
|
PKG_SOURCE_VERSION:=0d6d410637648b1bea0dede48d3fab791689cfce
|
||||||
PKG_MIRROR_HASH:=29db78529be32427b8b96fcbfec22a016a243676781ec96d9d65b810944fa405
|
PKG_MIRROR_HASH:=54891fbd66f147ccc51d9815d91cf20720046b37c41c80311fa12cf66b31b8b0
|
||||||
|
|
||||||
LOCAL_VARIANT=$(patsubst qca-ssdk-%,%,$(patsubst qca-ssdk-%,%,$(BUILD_VARIANT)))
|
LOCAL_VARIANT=$(patsubst qca-ssdk-%,%,$(patsubst qca-ssdk-%,%,$(BUILD_VARIANT)))
|
||||||
|
|
||||||
|
@ -1,21 +1,9 @@
|
|||||||
From 472c0c8132784608312c80c4b02c03ea7c132235 Mon Sep 17 00:00:00 2001
|
diff --git a/config b/config
|
||||||
From: Robert Marko <robimarko@gmail.com>
|
index a8b97908..37b6ecd0 100755
|
||||||
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 <robimarko@gmail.com>
|
|
||||||
---
|
|
||||||
config | 6 +++++-
|
|
||||||
make/linux_opt.mk | 4 ++--
|
|
||||||
2 files changed, 7 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
--- a/config
|
--- a/config
|
||||||
+++ b/config
|
+++ b/config
|
||||||
@@ -22,6 +22,14 @@ ifeq ($(KVER),$(filter 5.4%,$(KVER)))
|
@@ -24,6 +24,14 @@ ifeq ($(KVER),$(filter 5.4%,$(KVER)))
|
||||||
OS_VER=5_4
|
OS_VER=5_4
|
||||||
endif
|
endif
|
||||||
|
|
||||||
+ifeq ($(KVER),$(filter 5.10%,$(KVER)))
|
+ifeq ($(KVER),$(filter 5.10%,$(KVER)))
|
||||||
@ -27,20 +15,23 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
+endif
|
+endif
|
||||||
+
|
+
|
||||||
ifeq ($(KVER), 3.4.0)
|
ifeq ($(KVER), 3.4.0)
|
||||||
OS_VER=3_4
|
OS_VER=3_4
|
||||||
endif
|
endif
|
||||||
@@ -123,7 +131,7 @@ endif
|
|
||||||
|
@@ -132,7 +140,7 @@ ifeq ($(ARCH), arm)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(ARCH), arm64)
|
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%,$(KVER)))
|
||||||
+ifeq ($(KVER),$(filter 4.1% 4.4% 4.9% 5.4% 5.10% 5.15%,$(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
|
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
|
||||||
endif
|
endif
|
||||||
|
diff --git a/make/linux_opt.mk b/make/linux_opt.mk
|
||||||
|
index 21cb7c51..16122868 100755
|
||||||
--- a/make/linux_opt.mk
|
--- a/make/linux_opt.mk
|
||||||
+++ b/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
|
KASAN_SHADOW_SCALE_SHIFT := 3
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -49,7 +40,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
ifeq ($(ARCH), arm64)
|
ifeq ($(ARCH), arm64)
|
||||||
KASAN_OPTION += -DKASAN_SHADOW_SCALE_SHIFT=$(KASAN_SHADOW_SCALE_SHIFT)
|
KASAN_OPTION += -DKASAN_SHADOW_SCALE_SHIFT=$(KASAN_SHADOW_SCALE_SHIFT)
|
||||||
endif
|
endif
|
||||||
@@ -419,7 +419,7 @@ ifeq (KSLIB, $(MODULE_TYPE))
|
@@ -453,7 +453,7 @@ ifeq (KSLIB, $(MODULE_TYPE))
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -1,21 +1,8 @@
|
|||||||
From 784f2cfdfaf3bdf44917924e157049230a0ef5f8 Mon Sep 17 00:00:00 2001
|
diff --git a/src/init/ssdk_clk.c b/src/init/ssdk_clk.c
|
||||||
From: Robert Marko <robimarko@gmail.com>
|
index ee9fbdda..486b3590 100755
|
||||||
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 <robimarko@gmail.com>
|
|
||||||
---
|
|
||||||
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(-)
|
|
||||||
|
|
||||||
--- a/src/init/ssdk_clk.c
|
--- a/src/init/ssdk_clk.c
|
||||||
+++ b/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;
|
void __iomem *tcsr_base = NULL;
|
||||||
|
|
||||||
@ -24,7 +11,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
if (!tcsr_base)
|
if (!tcsr_base)
|
||||||
{
|
{
|
||||||
SSDK_ERROR("Failed to map tcsr eth address!\n");
|
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;
|
void __iomem *tcsr_base = NULL;
|
||||||
|
|
||||||
@ -33,7 +20,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
if (!tcsr_base)
|
if (!tcsr_base)
|
||||||
{
|
{
|
||||||
SSDK_ERROR("Failed to map tcsr eth address!\n");
|
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;
|
a_uint32_t reg_val;
|
||||||
int i, loops = 20;
|
int i, loops = 20;
|
||||||
|
|
||||||
@ -42,7 +29,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
if (!pll_lock) {
|
if (!pll_lock) {
|
||||||
SSDK_ERROR("Failed to map CMN PLL LOCK register!\n");
|
SSDK_ERROR("Failed to map CMN PLL LOCK register!\n");
|
||||||
return A_FALSE;
|
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;
|
void __iomem *cmn_pll_src_base = NULL;
|
||||||
a_uint32_t reg_val;
|
a_uint32_t reg_val;
|
||||||
|
|
||||||
@ -51,7 +38,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
if (!cmn_pll_src_base) {
|
if (!cmn_pll_src_base) {
|
||||||
SSDK_ERROR("Failed to map cmn pll source address!\n");
|
SSDK_ERROR("Failed to map cmn pll source address!\n");
|
||||||
return;
|
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;
|
void __iomem *gcc_pll_base = NULL;
|
||||||
a_uint32_t reg_val;
|
a_uint32_t reg_val;
|
||||||
|
|
||||||
@ -60,9 +47,11 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
if (!gcc_pll_base) {
|
if (!gcc_pll_base) {
|
||||||
SSDK_ERROR("Failed to map gcc pll address!\n");
|
SSDK_ERROR("Failed to map gcc pll address!\n");
|
||||||
return;
|
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
|
--- a/src/init/ssdk_init.c
|
||||||
+++ b/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);
|
(a_uint8_t *)®_value, 4);
|
||||||
mdelay(10);
|
mdelay(10);
|
||||||
/*softreset psgmii, fixme*/
|
/*softreset psgmii, fixme*/
|
||||||
@ -71,9 +60,11 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
if (!gcc_addr) {
|
if (!gcc_addr) {
|
||||||
SSDK_ERROR("gcc map fail!\n");
|
SSDK_ERROR("gcc map fail!\n");
|
||||||
return 0;
|
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
|
--- a/src/init/ssdk_plat.c
|
||||||
+++ b/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);
|
reg_mode = ssdk_uniphy_reg_access_mode_get(dev_id);
|
||||||
if(reg_mode == HSL_REG_LOCAL_BUS) {
|
if(reg_mode == HSL_REG_LOCAL_BUS) {
|
||||||
ssdk_uniphy_reg_map_info_get(dev_id, &map);
|
ssdk_uniphy_reg_map_info_get(dev_id, &map);
|
||||||
@ -82,7 +73,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
map.size);
|
map.size);
|
||||||
if (!qca_phy_priv_global[dev_id]->uniphy_hw_addr) {
|
if (!qca_phy_priv_global[dev_id]->uniphy_hw_addr) {
|
||||||
SSDK_ERROR("%s ioremap fail.", __func__);
|
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);
|
reg_mode = ssdk_switch_reg_access_mode_get(dev_id);
|
||||||
if(reg_mode == HSL_REG_LOCAL_BUS) {
|
if(reg_mode == HSL_REG_LOCAL_BUS) {
|
||||||
ssdk_switch_reg_map_info_get(dev_id, &map);
|
ssdk_switch_reg_map_info_get(dev_id, &map);
|
||||||
@ -91,7 +82,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
map.size);
|
map.size);
|
||||||
if (!qca_phy_priv_global[dev_id]->hw_addr) {
|
if (!qca_phy_priv_global[dev_id]->hw_addr) {
|
||||||
SSDK_ERROR("%s ioremap fail.", __func__);
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,22 +1,8 @@
|
|||||||
From b6190ca46287d01a895c7cc14de30410c09ff1b8 Mon Sep 17 00:00:00 2001
|
diff --git a/src/init/ssdk_plat.c b/src/init/ssdk_plat.c
|
||||||
From: Robert Marko <robimarko@gmail.com>
|
index dbb186fa..4b44d218 100755
|
||||||
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 <baruch@tkos.co.il>
|
|
||||||
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|
||||||
---
|
|
||||||
src/init/ssdk_plat.c | 8 +-------
|
|
||||||
1 file changed, 1 insertion(+), 7 deletions(-)
|
|
||||||
|
|
||||||
--- a/src/init/ssdk_plat.c
|
--- a/src/init/ssdk_plat.c
|
||||||
+++ b/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 *mdio_node = NULL;
|
||||||
struct device_node *switch_node = NULL;
|
struct device_node *switch_node = NULL;
|
||||||
struct platform_device *mdio_plat = NULL;
|
struct platform_device *mdio_plat = NULL;
|
||||||
@ -24,7 +10,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
struct qca_phy_priv *priv;
|
struct qca_phy_priv *priv;
|
||||||
hsl_reg_mode reg_mode = HSL_REG_LOCAL_BUS;
|
hsl_reg_mode reg_mode = HSL_REG_LOCAL_BUS;
|
||||||
priv = qca_phy_priv_global[dev_id];
|
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)
|
if(reg_mode == HSL_REG_LOCAL_BUS)
|
||||||
{
|
{
|
||||||
|
@ -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
|
--- a/app/nathelper/linux/lib/nat_helper_dt.c
|
||||||
+++ b/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)) {
|
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))
|
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)) {
|
if (!test_bit(IPS_FIXED_TIMEOUT_BIT, &ct->status)) {
|
||||||
@ -18,9 +20,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
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
|
--- a/app/nathelper/linux/napt_helper.c
|
||||||
+++ b/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;
|
ct = (struct nf_conn *)ct_addr;
|
||||||
@ -32,7 +36,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
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;
|
ct = (struct nf_conn *)ct_addr;
|
||||||
|
|
||||||
@ -41,7 +45,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
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;
|
l3num = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.l3num;
|
||||||
protonum = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.protonum;
|
protonum = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.protonum;
|
||||||
|
|
||||||
@ -63,14 +67,14 @@
|
|||||||
|
|
||||||
void
|
void
|
||||||
@@ -339,7 +333,6 @@ napt_ct_list_unlock(void)
|
@@ -339,7 +333,6 @@ napt_ct_list_unlock(void)
|
||||||
uint32_t
|
uintptr_t
|
||||||
napt_ct_list_iterate(uint32_t *hash, uint32_t *iterate)
|
napt_ct_list_iterate(uint32_t *hash, uintptr_t *iterate)
|
||||||
{
|
{
|
||||||
- struct net *net = &init_net;
|
- struct net *net = &init_net;
|
||||||
struct nf_conntrack_tuple_hash *h = NULL;
|
struct nf_conntrack_tuple_hash *h = NULL;
|
||||||
struct nf_conn *ct = NULL;
|
struct nf_conn *ct = NULL;
|
||||||
struct hlist_nulls_node *pos = (struct hlist_nulls_node *) (*iterate);
|
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)
|
if(pos == 0)
|
||||||
{
|
{
|
||||||
/*get head for list*/
|
/*get head for list*/
|
||||||
@ -79,6 +83,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
hlist_nulls_for_each_entry_from(h, pos, hnnode)
|
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
|
--- a/app/nathelper/linux/nat_ipt_helper.c
|
||||||
+++ b/app/nathelper/linux/nat_ipt_helper.c
|
+++ b/app/nathelper/linux/nat_ipt_helper.c
|
||||||
@@ -534,10 +534,10 @@ nat_ipt_data_init(void)
|
@@ -534,10 +534,10 @@ nat_ipt_data_init(void)
|
||||||
@ -94,9 +100,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
diff --git a/make/linux_opt.mk b/make/linux_opt.mk
|
||||||
|
index 16122868..23f50ea4 100755
|
||||||
--- a/make/linux_opt.mk
|
--- a/make/linux_opt.mk
|
||||||
+++ b/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)
|
else ifeq ($(ARCH), arm)
|
||||||
MODULE_INC += -I$(SYS_PATH) \
|
MODULE_INC += -I$(SYS_PATH) \
|
||||||
-I$(TOOL_PATH)/../lib/gcc/$(TARGET_NAME)/$(GCC_VERSION)/include/ \
|
-I$(TOOL_PATH)/../lib/gcc/$(TARGET_NAME)/$(GCC_VERSION)/include/ \
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
--- a/src/init/ssdk_plat.c
|
--- a/src/init/ssdk_plat.c
|
||||||
+++ b/src/init/ssdk_plat.c
|
+++ b/src/init/ssdk_plat.c
|
||||||
@@ -568,7 +568,7 @@ static int miibus_get(a_uint32_t dev_id)
|
@@ -580,7 +580,7 @@ static int miibus_get(a_uint32_t dev_id)
|
||||||
if(reg_mode == HSL_REG_LOCAL_BUS)
|
if (!mdio_node)
|
||||||
mdio_node = of_find_compatible_node(NULL, NULL, "qcom,ipq40xx-mdio");
|
mdio_node = of_find_compatible_node(NULL, NULL, "qcom,qca-mdio");
|
||||||
else
|
} else
|
||||||
- mdio_node = of_find_compatible_node(NULL, NULL, "virtual,mdio-gpio");
|
- mdio_node = of_find_compatible_node(NULL, NULL, "virtual,mdio-gpio");
|
||||||
+ mdio_node = of_find_compatible_node(NULL, NULL, "qcom,ipq8064-mdio");
|
+ mdio_node = of_find_compatible_node(NULL, NULL, "qcom,ipq8064-mdio");
|
||||||
|
|
||||||
|
@ -1,21 +1,8 @@
|
|||||||
From f3a7b93137c1a6a1b8010b86296242178eed5d9e Mon Sep 17 00:00:00 2001
|
diff --git a/src/init/ssdk_dts.c b/src/init/ssdk_dts.c
|
||||||
From: Robert Marko <robimarko@gmail.com>
|
index e7152987..5ef813c9 100755
|
||||||
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 <robimarko@gmail.com>
|
|
||||||
---
|
|
||||||
src/init/ssdk_dts.c | 7 ++++---
|
|
||||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
--- a/src/init/ssdk_dts.c
|
--- a/src/init/ssdk_dts.c
|
||||||
+++ b/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;
|
struct device_node *dp_node = NULL;
|
||||||
a_uint32_t dp = 0;
|
a_uint32_t dp = 0;
|
||||||
@ -26,7 +13,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
|
|
||||||
for (dp = 1; dp <= SSDK_MAX_NR_ETH; dp++) {
|
for (dp = 1; dp <= SSDK_MAX_NR_ETH; dp++) {
|
||||||
snprintf(dp_name, sizeof(dp_name), "dp%d", 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) {
|
if (!dp_node) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1,37 +0,0 @@
|
|||||||
From 440ab349813e5aa9dbeddab4d82ab64ff5347c5f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dirk Buchwalder <buchwalder@posteo.de>
|
|
||||||
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 <buchwalder@posteo.de>
|
|
||||||
|
|
||||||
---
|
|
||||||
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;
|
|
@ -1,19 +1,8 @@
|
|||||||
From 25ff0ae02accadd7b05f1dae788505f833d5c019 Mon Sep 17 00:00:00 2001
|
diff --git a/src/hsl/phy/qca808x.c b/src/hsl/phy/qca808x.c
|
||||||
From: Robert Marko <robimarko@gmail.com>
|
index 0f0ebb57..f370e39e 100755
|
||||||
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 <robimarko@gmail.com>
|
|
||||||
---
|
|
||||||
src/hsl/phy/qca808x.c | 46 +++++++++++++++++++++++++++++++++++++++++++
|
|
||||||
1 file changed, 46 insertions(+)
|
|
||||||
|
|
||||||
--- a/src/hsl/phy/qca808x.c
|
--- a/src/hsl/phy/qca808x.c
|
||||||
+++ b/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;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -21,7 +10,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
static int qca808x_ack_interrupt(struct phy_device *phydev)
|
static int qca808x_ack_interrupt(struct phy_device *phydev)
|
||||||
{
|
{
|
||||||
int err;
|
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;
|
return (err < 0) ? err : 0;
|
||||||
}
|
}
|
||||||
@ -69,7 +58,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
|
|
||||||
/* switch linux negtiation capability to fal avariable */
|
/* switch linux negtiation capability to fal avariable */
|
||||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0))
|
#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_intr = qca808x_config_intr,
|
||||||
.config_aneg = qca808x_config_aneg,
|
.config_aneg = qca808x_config_aneg,
|
||||||
.aneg_done = qca808x_aneg_done,
|
.aneg_done = qca808x_aneg_done,
|
||||||
|
@ -11,6 +11,10 @@ xiaomi,ax3600|\
|
|||||||
redmi,ax6)
|
redmi,ax6)
|
||||||
ucidef_set_led_netdev "wan" "WAN" "blue:network" "eth0"
|
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)
|
qnap,301w)
|
||||||
ucidef_set_led_netdev "lan1" "LAN1" "green:lan1" "eth0"
|
ucidef_set_led_netdev "lan1" "LAN1" "green:lan1" "eth0"
|
||||||
ucidef_set_led_netdev "lan2" "LAN2" "green:lan2" "eth1"
|
ucidef_set_led_netdev "lan2" "LAN2" "green:lan2" "eth1"
|
||||||
|
@ -21,6 +21,9 @@ ipq807x_setup_interfaces()
|
|||||||
zte,mf269)
|
zte,mf269)
|
||||||
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
||||||
;;
|
;;
|
||||||
|
tplink,tl-er2260t)
|
||||||
|
ucidef_set_interfaces_lan_wan "eth0 eth1 eth2 eth3 eth5" "eth4"
|
||||||
|
;;
|
||||||
tplink,xtr10890)
|
tplink,xtr10890)
|
||||||
ucidef_set_interfaces_lan_wan "eth0 eth1 eth2 eth3 eth4" "eth5"
|
ucidef_set_interfaces_lan_wan "eth0 eth1 eth2 eth3 eth4" "eth5"
|
||||||
;;
|
;;
|
||||||
|
@ -46,6 +46,7 @@ platform_do_upgrade() {
|
|||||||
zte,mf269)
|
zte,mf269)
|
||||||
nand_do_upgrade "$1"
|
nand_do_upgrade "$1"
|
||||||
;;
|
;;
|
||||||
|
tplink,tl-er2260t|\
|
||||||
tplink,xtr10890)
|
tplink,xtr10890)
|
||||||
nand_do_upgrade "$1"
|
nand_do_upgrade "$1"
|
||||||
;;
|
;;
|
||||||
|
@ -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 <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
#include <dt-bindings/leds/common.h>
|
||||||
|
/ {
|
||||||
|
#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 = <KEY_RESTART>;
|
||||||
|
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";
|
||||||
|
};
|
@ -45,6 +45,19 @@ define Device/zte_mf269
|
|||||||
endef
|
endef
|
||||||
TARGET_DEVICES += zte_mf269
|
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
|
define Device/tplink_xtr10890
|
||||||
$(call Device/FitImage)
|
$(call Device/FitImage)
|
||||||
$(call Device/UbiFit)
|
$(call Device/UbiFit)
|
||||||
|
@ -12,7 +12,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
|
|
||||||
--- a/arch/arm64/boot/dts/qcom/Makefile
|
--- a/arch/arm64/boot/dts/qcom/Makefile
|
||||||
+++ b/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-db820c.dtb
|
||||||
dtb-$(CONFIG_ARCH_QCOM) += apq8096-ifc6640.dtb
|
dtb-$(CONFIG_ARCH_QCOM) += apq8096-ifc6640.dtb
|
||||||
dtb-$(CONFIG_ARCH_QCOM) += ipq6018-cp01-c1.dtb
|
dtb-$(CONFIG_ARCH_QCOM) += ipq6018-cp01-c1.dtb
|
||||||
@ -21,6 +21,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|||||||
+dtb-$(CONFIG_ARCH_QCOM) += ipq8071-ax3600.dtb
|
+dtb-$(CONFIG_ARCH_QCOM) += ipq8071-ax3600.dtb
|
||||||
+dtb-$(CONFIG_ARCH_QCOM) += ipq8071-mf269.dtb
|
+dtb-$(CONFIG_ARCH_QCOM) += ipq8071-mf269.dtb
|
||||||
+dtb-$(CONFIG_ARCH_QCOM) += ipq8078-xtr10890.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) += ipq8074-hk01.dtb
|
||||||
dtb-$(CONFIG_ARCH_QCOM) += msm8916-longcheer-l8150.dtb
|
dtb-$(CONFIG_ARCH_QCOM) += msm8916-longcheer-l8150.dtb
|
||||||
dtb-$(CONFIG_ARCH_QCOM) += msm8916-mtp.dtb
|
dtb-$(CONFIG_ARCH_QCOM) += msm8916-mtp.dtb
|
||||||
|
Loading…
Reference in New Issue
Block a user