1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00
This commit is contained in:
suyuan 2022-09-10 07:06:41 +08:00
parent 4c02f1d8a6
commit f4eb77419f
124 changed files with 330 additions and 10758 deletions

View file

@ -4,17 +4,15 @@ PKG_NAME:=qca-ssdk
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2021-12-07
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
LOCAL_VARIANT=$(patsubst qca-ssdk-%,%,$(patsubst qca-ssdk-%,%,$(BUILD_VARIANT)))
PKG_SOURCE_VERSION:=e7dcdd63724170465072f03ab04eab9d40b98954
PKG_MIRROR_HASH:=8f0f33fd09821a09ef27d7e145596d80d20fb8a1d0766b9f8d7b517762daed27
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk
define KernelPackage/qca-ssdk/default-nohnat
define KernelPackage/qca-ssdk
SECTION:=kernel
CATEGORY:=Kernel modules
SUBMENU:=Network Devices
@ -24,33 +22,13 @@ define KernelPackage/qca-ssdk/default-nohnat
PROVIDES:=qca-ssdk
endef
define KernelPackage/qca-ssdk-nohnat
$(call KernelPackage/qca-ssdk/default-nohnat)
DEPENDS:=@(TARGET_ipq806x||TARGET_ipq807x)
VARIANT:=nohnat
endef
define KernelPackage/qca-ssdk-nohnat/Description
define KernelPackage/qca-ssdk/Description
This package contains a qca-ssdk driver for QCA chipset
endef
define KernelPackage/qca-ssdk-hnat
$(call KernelPackage/qca-ssdk/default-nohnat)
DEPENDS:=@TARGET_ipq40xx +kmod-ipt-extra +kmod-ipt-filter \
+kmod-ppp +TARGET_ipq40xx:kmod-qca-rfs
TITLE+= (hnat)
VARIANT:=hnat
endef
GCC_VERSION=$(shell echo "$(CONFIG_GCC_VERSION)" | sed 's/[^0-9.]*\([0-9.]*\).*/\1/')
define KernelPackage/qca-ssdk-hnat/Description
This package contains a qca-ssdk-hnat driver for QCA chipset
endef
ifdef CONFIG_TOOLCHAIN_BIN_PATH
TOOLCHAIN_BIN_PATH=$(CONFIG_TOOLCHAIN_BIN_PATH)
else
TOOLCHAIN_BIN_PATH=$(TOOLCHAIN_DIR)/bin
endif
QCASSDK_CONFIG_OPTS+= \
$(KERNEL_MAKE_FLAGS) \
@ -60,25 +38,26 @@ QCASSDK_CONFIG_OPTS+= \
TOOLPREFIX=$(TARGET_CROSS) \
TOOL_PATH=$(TOOLCHAIN_BIN_PATH) \
TARGET_SUFFIX=$(CONFIG_TARGET_SUFFIX) \
EXTRA_CFLAGS=-fno-stack-protector -I$(STAGING_DIR)/usr/include
EXTRA_CFLAGS=-I$(STAGING_DIR)/usr/include
ifeq ($(LOCAL_VARIANT),hnat)
QCASSDK_CONFIG_OPTS+= HNAT_FEATURE=enable
ifeq ($(BOARD),ipq40xx)
QCASSDK_CONFIG_OPTS+= RFS_FEATURE=enable
endif
endif
ifeq ($(BOARD),ipq60xx)
ifeq ($(BOARD),ipq50xx)
QCASSDK_CONFIG_OPTS+= ISISC_ENABLE=enable
QCASSDK_CONFIG_OPTS+= CHIP_TYPE=MP
else ifeq ($(BOARD),ipq60xx)
QCASSDK_CONFIG_OPTS+= CHIP_TYPE=CPPE
QCASSDK_CONFIG_OPTS+= PTP_FEATURE=enable
else ifeq ($(BOARD),ipq807x)
QCASSDK_CONFIG_OPTS+= CHIP_TYPE=HPPE
QCASSDK_CONFIG_OPTS+= PTP_FEATURE=enable
else ifeq ($(BOARD),ipq95xx)
QCASSDK_CONFIG_OPTS+= CHIP_TYPE=APPE
else
QCASSDK_CONFIG_OPTS+= HK_CHIP=enable
endif
ifneq (, $(findstring $(BOARD), ipq60xx ipq807x))
QCASSDK_CONFIG_OPTS+= PTP_FEATURE=disable SWCONFIG_FEATURE=disable
ifneq (, $(findstring $(CONFIG_KERNEL_IPQ_MEM_PROFILE), 256 512))
QCASSDK_CONFIG_OPTS+= MINI_SSDK=enable
QCASSDK_CONFIG_OPTS+= PTP_FEATURE=disable
endif
define Build/Compile
@ -111,15 +90,9 @@ define Build/InstallDev
$(CP) -rf $(PKG_BUILD_DIR)/include/sal/os/*.h $(1)/usr/include/qca-ssdk
endef
define KernelPackage/qca-ssdk-nohnat/install
define KernelPackage/qca-ssdk/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/qca-ssdk $(1)/etc/init.d/qca-ssdk
endef
define KernelPackage/qca-ssdk-hnat/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/qca-ssdk $(1)/etc/init.d/qca-ssdk
endef
$(eval $(call KernelPackage,qca-ssdk-nohnat))
$(eval $(call KernelPackage,qca-ssdk-hnat))
$(eval $(call KernelPackage,qca-ssdk))

View file

@ -1,56 +0,0 @@
From 472c0c8132784608312c80c4b02c03ea7c132235 Mon Sep 17 00:00:00 2001
From: Robert Marko <robimarko@gmail.com>
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
+++ b/config
@@ -22,6 +22,10 @@ ifeq ($(KVER),$(filter 5.4%,$(KVER)))
OS_VER=5_4
endif
+ifeq ($(KVER),$(filter 5.10%,$(KVER)))
+OS_VER=5_10
+endif
+
ifeq ($(KVER), 3.4.0)
OS_VER=3_4
endif
@@ -123,7 +127,7 @@ endif
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%,$(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
--- a/make/linux_opt.mk
+++ b/make/linux_opt.mk
@@ -388,7 +388,7 @@ ifeq (KSLIB, $(MODULE_TYPE))
KASAN_SHADOW_SCALE_SHIFT := 3
endif
- ifeq (5_4, $(OS_VER))
+ ifeq ($(OS_VER),$(filter 5_4 5_10, $(OS_VER)))
ifeq ($(ARCH), arm64)
KASAN_OPTION += -DKASAN_SHADOW_SCALE_SHIFT=$(KASAN_SHADOW_SCALE_SHIFT)
endif
@@ -419,7 +419,7 @@ ifeq (KSLIB, $(MODULE_TYPE))
endif
- ifeq ($(OS_VER),$(filter 4_4 5_4, $(OS_VER)))
+ ifeq ($(OS_VER),$(filter 4_4 5_4 5_10, $(OS_VER)))
MODULE_CFLAG += -DKVER34
MODULE_CFLAG += -DKVER32
MODULE_CFLAG += -DLNX26_22

View file

@ -1,102 +0,0 @@
From 784f2cfdfaf3bdf44917924e157049230a0ef5f8 Mon Sep 17 00:00:00 2001
From: Robert Marko <robimarko@gmail.com>
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
+++ b/src/init/ssdk_clk.c
@@ -623,7 +623,7 @@ ssdk_mp_tcsr_get(a_uint32_t tcsr_offset,
{
void __iomem *tcsr_base = NULL;
- tcsr_base = ioremap_nocache(TCSR_ETH_ADDR, TCSR_ETH_SIZE);
+ tcsr_base = ioremap(TCSR_ETH_ADDR, TCSR_ETH_SIZE);
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,
{
void __iomem *tcsr_base = NULL;
- tcsr_base = ioremap_nocache(TCSR_ETH_ADDR, TCSR_ETH_SIZE);
+ tcsr_base = ioremap(TCSR_ETH_ADDR, TCSR_ETH_SIZE);
if (!tcsr_base)
{
SSDK_ERROR("Failed to map tcsr eth address!\n");
@@ -688,7 +688,7 @@ ssdk_mp_cmnblk_stable_check(void)
a_uint32_t reg_val;
int i, loops = 20;
- pll_lock = ioremap_nocache(CMN_PLL_LOCKED_ADDR, CMN_PLL_LOCKED_SIZE);
+ pll_lock = ioremap(CMN_PLL_LOCKED_ADDR, CMN_PLL_LOCKED_SIZE);
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
void __iomem *cmn_pll_src_base = NULL;
a_uint32_t reg_val;
- cmn_pll_src_base = ioremap_nocache(CMN_BLK_PLL_SRC_ADDR, CMN_BLK_SIZE);
+ cmn_pll_src_base = ioremap(CMN_BLK_PLL_SRC_ADDR, CMN_BLK_SIZE);
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
void __iomem *gcc_pll_base = NULL;
a_uint32_t reg_val;
- gcc_pll_base = ioremap_nocache(CMN_BLK_ADDR, CMN_BLK_SIZE);
+ gcc_pll_base = ioremap(CMN_BLK_ADDR, CMN_BLK_SIZE);
if (!gcc_pll_base) {
SSDK_ERROR("Failed to map gcc pll address!\n");
return;
--- 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
(a_uint8_t *)&reg_value, 4);
mdelay(10);
/*softreset psgmii, fixme*/
- gcc_addr = ioremap_nocache(0x1812000, 0x200);
+ gcc_addr = ioremap(0x1812000, 0x200);
if (!gcc_addr) {
SSDK_ERROR("gcc map fail!\n");
return 0;
--- 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
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);
- qca_phy_priv_global[dev_id]->uniphy_hw_addr = ioremap_nocache(map.base_addr,
+ qca_phy_priv_global[dev_id]->uniphy_hw_addr = ioremap(map.base_addr,
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
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);
- qca_phy_priv_global[dev_id]->hw_addr = ioremap_nocache(map.base_addr,
+ qca_phy_priv_global[dev_id]->hw_addr = ioremap(map.base_addr,
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
return -1;
}
- qca_phy_priv_global[dev_id]->psgmii_hw_addr = ioremap_nocache(map.base_addr,
+ qca_phy_priv_global[dev_id]->psgmii_hw_addr = ioremap(map.base_addr,
map.size);
if (!qca_phy_priv_global[dev_id]->psgmii_hw_addr) {
SSDK_ERROR("%s ioremap fail.", __func__);

View file

@ -1,40 +0,0 @@
From b6190ca46287d01a895c7cc14de30410c09ff1b8 Mon Sep 17 00:00:00 2001
From: Robert Marko <robimarko@gmail.com>
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
+++ b/src/init/ssdk_plat.c
@@ -551,7 +551,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;
- struct ipq40xx_mdio_data *mdio_data = NULL;
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)
if(reg_mode == HSL_REG_LOCAL_BUS)
{
- mdio_data = dev_get_drvdata(&mdio_plat->dev);
- if (!mdio_data) {
- SSDK_ERROR("cannot get mdio_data reference from device data\n");
- return 1;
- }
- priv->miibus = mdio_data->mii_bus;
+ priv->miibus = of_mdio_find_bus(mdio_node);
}
else
priv->miibus = dev_get_drvdata(&mdio_plat->dev);

View file

@ -1,108 +0,0 @@
--- 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)
}
if (!test_bit(IPS_FIXED_TIMEOUT_BIT, &ct->status)) {
- ct->timeout.expires += delta_jiffies;
+ ct->timeout += delta_jiffies;
}
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)
}
if (!test_bit(IPS_FIXED_TIMEOUT_BIT, &ct->status)) {
- ct->timeout.expires += delta_jiffies;
+ ct->timeout += delta_jiffies;
}
return 0;
--- 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)
}
ct = (struct nf_conn *)ct_addr;
-
- if (timer_pending(&ct->timeout))
- {
- del_timer(&ct->timeout);
- }
}
int
@@ -85,7 +80,7 @@ napt_ct_aging_is_enable(uint32_t ct_addr)
ct = (struct nf_conn *)ct_addr;
- return timer_pending(&(((struct nf_conn *)ct)->timeout));
+ return (nf_ct_is_expired(ct));
}
void
@@ -111,18 +106,17 @@ napt_ct_aging_enable(uint32_t ct_addr)
l3num = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.l3num;
protonum = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.protonum;
- ct->timeout.expires = jiffies+10*HZ;
+ ct->timeout = jiffies+10*HZ;
if ((l3num == AF_INET) && (protonum == IPPROTO_TCP))
{
if (ct->proto.tcp.state == TCP_CONNTRACK_ESTABLISHED)
{
- ct->timeout.expires = jiffies+(5*24*60*60*HZ);
+ ct->timeout = jiffies+(5*24*60*60*HZ);
}
}
HNAT_PRINTK("<aging> ct:[%x] add timeout again\n", ct_addr);
- add_timer(&ct->timeout);
}
void
@@ -339,7 +333,6 @@ napt_ct_list_unlock(void)
uint32_t
napt_ct_list_iterate(uint32_t *hash, uint32_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, uint32_t *iterate)
if(pos == 0)
{
/*get head for list*/
- pos = rcu_dereference((&net->ct.hash[*hash])->first);
+ pos = rcu_dereference(hlist_nulls_first_rcu(&nf_conntrack_hash[*hash]));
}
hlist_nulls_for_each_entry_from(h, pos, hnnode)
--- 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)
memset(&old_replace, 0, sizeof (old_replace));
/*record ipt rule(SNAT) sequence for hw nat*/
- memset(hw_nat_ipt_seq, 0, NAT_HW_NUM);
+ memset(hw_nat_ipt_seq, 0, sizeof(hw_nat_ipt_seq));
/*record ipt rule(SNAT) pubip index for hw nat*/
- memset(hw_nat_pip_idx, 0, NAT_HW_NUM);
+ memset(hw_nat_pip_idx, 0, sizeof(hw_nat_pip_idx));
}
static void
--- a/make/linux_opt.mk
+++ b/make/linux_opt.mk
@@ -449,9 +449,6 @@ ifeq (KSLIB, $(MODULE_TYPE))
else ifeq ($(ARCH), arm)
MODULE_INC += -I$(SYS_PATH) \
-I$(TOOL_PATH)/../lib/gcc/$(TARGET_NAME)/$(GCC_VERSION)/include/ \
- -I$(TOOL_PATH)/../lib/gcc/$(TARGET_NAME)/7.5.0/include/ \
- -I$(TOOL_PATH)/../../lib/armv7a-vfp-neon-rdk-linux-gnueabi/gcc/arm-rdk-linux-gnueabi/4.8.4/include/ \
- -I$(TOOL_PATH)/../../lib/arm-rdk-linux-musleabi/gcc/arm-rdk-linux-musleabi/6.4.0/include/ \
-I$(SYS_PATH)/include \
-I$(SYS_PATH)/source \
-I$(SYS_PATH)/source/include \

View file

@ -1,11 +0,0 @@
--- 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
- mdio_node = of_find_compatible_node(NULL, NULL, "virtual,mdio-gpio");
+ mdio_node = of_find_compatible_node(NULL, NULL, "qcom,ipq8064-mdio");
if (!mdio_node) {
SSDK_ERROR("No MDIO node found in DTS!\n");

View file

@ -1,42 +0,0 @@
From f3a7b93137c1a6a1b8010b86296242178eed5d9e Mon Sep 17 00:00:00 2001
From: Robert Marko <robimarko@gmail.com>
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
+++ b/src/init/ssdk_dts.c
@@ -779,8 +779,9 @@ static void ssdk_dt_parse_intf_mac(void)
{
struct device_node *dp_node = NULL;
a_uint32_t dp = 0;
- a_uint8_t *maddr = NULL;
+ u8 maddr[ETH_ALEN];
char dp_name[8] = {0};
+ int ret;
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)
if (!dp_node) {
continue;
}
- maddr = (a_uint8_t *)of_get_mac_address(dp_node);
+ ret = of_get_mac_address(dp_node, maddr);
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0))
if (maddr && is_valid_ether_addr(maddr)) {
#else
- if (!IS_ERR(maddr) && is_valid_ether_addr(maddr)) {
+ if (!ret && is_valid_ether_addr(maddr)) {
#endif
ssdk_dt_global.num_intf_mac++;
ether_addr_copy(ssdk_dt_global.intf_mac[dp-1].uc, maddr);

View file

@ -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_113CB0 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_113CB0:
case AQUANTIA_PHY_112C:
phytype = AQUANTIA_PHY_CHIP;
break;