fix mt300n-v2 carrier status

This commit is contained in:
Luo Chongjun 2023-06-06 19:00:03 +08:00
parent b50ec85e7e
commit ae8f0cd7fe
2 changed files with 70 additions and 5 deletions

View File

@ -0,0 +1,53 @@
From 869d6244cd42d40d9a502152fe4f77e67814d0cb Mon Sep 17 00:00:00 2001
From: Luo Chongjun <luochongjun@gl-inet.com>
Date: Tue, 6 Jun 2023 18:33:08 +0800
Subject: [PATCH] fix mt7628 esw carrier status
---
.../drivers/net/ethernet/ralink/esw_rt3050.c | 23 +++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3050.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3050.c
index 75b6707be2..3f072353bc 100644
--- a/target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3050.c
+++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3050.c
@@ -738,6 +738,28 @@ static void esw_hw_init(struct rt305x_esw *esw)
esw_w32(esw, ~RT305X_ESW_PORT_ST_CHG, RT305X_ESW_REG_IMR);
}
+static void rt3050_esw_port0_handle_carrier(struct rt305x_esw *esw, u32 status)
+{
+ struct net_device *netdev;
+ char ifname[IFNAMSIZ];
+ unsigned int pvid = esw_get_pvid(esw, 0 );
+ u32 cpuport = status & BIT(RT305X_ESW_PORT6);
+ u32 link = status & BIT(0);
+ if(pvid){
+ sprintf(ifname,"%s.%d",esw->priv->netdev->name,pvid);
+ netdev = dev_get_by_name(&init_net, ifname);
+ if(!netdev)
+ return;
+
+ if(!!link && cpuport){
+ netif_carrier_on(netdev);
+ }
+ else{
+ netif_carrier_off(netdev);
+ }
+ dev_put(netdev);
+ }
+}
int rt3050_esw_has_carrier(struct fe_priv *priv)
{
@@ -748,6 +770,7 @@ int rt3050_esw_has_carrier(struct fe_priv *priv)
link = esw_r32(esw, RT305X_ESW_REG_POA);
link >>= RT305X_ESW_POA_LINK_SHIFT;
+ rt3050_esw_port0_handle_carrier(esw, link);
cpuport = link & BIT(RT305X_ESW_PORT6);
link &= RT305X_ESW_POA_LINK_MASK;
for (i = 0; i <= RT305X_ESW_PORT5; i++) {
--
2.25.1

View File

@ -1,4 +1,4 @@
From 891acdb7091238535d72466bff28cda13c94965c Mon Sep 17 00:00:00 2001
From 426d9268f3288f1f05eba8cecdfd13f5acdad127 Mon Sep 17 00:00:00 2001
From: Jianhui Zhao <jianhui.zhao@gl-inet.com>
Date: Mon, 8 May 2023 09:07:27 +0800
Subject: [PATCH] GL-MT300N-V2: adapted to GL.iNet SDK 4.X
@ -6,10 +6,10 @@ Subject: [PATCH] GL-MT300N-V2: adapted to GL.iNet SDK 4.X
Signed-off-by: Jianhui Zhao <jianhui.zhao@gl-inet.com>
---
package/boot/uboot-envtools/files/ramips | 1 +
.../dts/mt7628an_glinet_gl-mt300n-v2.dts | 42 +++++++++++++++----
.../dts/mt7628an_glinet_gl-mt300n-v2.dts | 47 +++++++++++++++----
target/linux/ramips/image/mt76x8.mk | 3 +-
.../mt76x8/base-files/etc/board.d/01_leds | 2 +-
4 files changed, 38 insertions(+), 10 deletions(-)
4 files changed, 43 insertions(+), 10 deletions(-)
diff --git a/package/boot/uboot-envtools/files/ramips b/package/boot/uboot-envtools/files/ramips
index f512015c23..2ed394ef40 100644
@ -24,7 +24,7 @@ index f512015c23..2ed394ef40 100644
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x10000"
;;
diff --git a/target/linux/ramips/dts/mt7628an_glinet_gl-mt300n-v2.dts b/target/linux/ramips/dts/mt7628an_glinet_gl-mt300n-v2.dts
index 48f0fbd92b..22ae4b2df4 100644
index 48f0fbd92b..d747227778 100644
--- a/target/linux/ramips/dts/mt7628an_glinet_gl-mt300n-v2.dts
+++ b/target/linux/ramips/dts/mt7628an_glinet_gl-mt300n-v2.dts
@@ -8,13 +8,34 @@
@ -94,6 +94,18 @@ index 48f0fbd92b..22ae4b2df4 100644
};
};
};
@@ -135,6 +161,11 @@
status = "okay";
};
+&esw {
+ mediatek,portmap = <0x3e>;
+ mediatek,portdisable = <0x3c>;
+};
+
&factory {
compatible = "nvmem-cells";
#address-cells = <1>;
diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk
index 2106324684..4d12c9aee8 100644
--- a/target/linux/ramips/image/mt76x8.mk
@ -122,5 +134,5 @@ index 0af01d4393..28bcca5b1c 100644
;;
hilink,hlk-7628n|\
--
2.34.1
2.25.1