From 6b28e5eba213f1d89d25a715680cd6d667456a07 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 fix link down/up issue, which happens when connecting to 100Mbit switch Refer: https://git.openwrt.org/?p=openwrt/svn-archive/archive.git;a=blob;f=target/linux/mediatek/patches/0063-arm-mediatek-add-SDK-ethernet.patch;h=7263bb21816b36733b561b749de589d4b010d718;hb=d8804dd309b0a1701c8ebe0a26d700745df24f11#l14003 Signed-off-by: Chen Minqiang --- .../drivers/net/ethernet/mediatek/gsw_mt7621.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/target/linux/ramips/files/drivers/net/ethernet/mediatek/gsw_mt7621.c b/target/linux/ramips/files/drivers/net/ethernet/mediatek/gsw_mt7621.c index 89be239007..ac1d36a9a8 100644 --- a/target/linux/ramips/files/drivers/net/ethernet/mediatek/gsw_mt7621.c +++ b/target/linux/ramips/files/drivers/net/ethernet/mediatek/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);