From 82cc584e7a4f7cd22f02cfee13f2d08e1e49cafb Mon Sep 17 00:00:00 2001 From: Chen Minqiang Date: Thu, 19 Mar 2020 16:00:23 +0800 Subject: [PATCH] ramips: net/mediatek disable eee This disable eee for mt7530 ports, it causes the link down/up issue, which happens when connecting to 100Mbit switch Fixes: FS#1449 Signed-off-by: Chen Minqiang --- .../drivers/net/ethernet/ralink/gsw_mt7621.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7621.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7621.c index 9ad0237efe..c2538ef993 100644 --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7621.c +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7621.c @@ -186,6 +186,22 @@ static void mt7621_hw_init(struct mt7620_gsw *gsw, struct device_node *np) mt7530_mdio_w32(gsw, 0x7a74, 0x44); mt7530_mdio_w32(gsw, 0x7a7c, 0x44); + /* Disable EEE */ + for (i = 0; i <= 4; i++) { + _mt7620_mii_write(gsw, i, 13, 0x7); + _mt7620_mii_write(gsw, i, 14, 0x3C); + _mt7620_mii_write(gsw, i, 13, 0x4007); + _mt7620_mii_write(gsw, i, 14, 0x0); + } + + /* Disable EEE 10Base-Te */ + for (i = 0; i <= 4; i++) { + _mt7620_mii_write(gsw, i, 13, 0x1f); + _mt7620_mii_write(gsw, i, 14, 0x027b); + _mt7620_mii_write(gsw, i, 13, 0x401f); + _mt7620_mii_write(gsw, i, 14, 0x1177); + } + /* turn on all PHYs */ for (i = 0; i <= 4; i++) { val = _mt7620_mii_read(gsw, i, 0);