ramips: ethernet: ralink: move reset of the esw into the esw instead of fe
authorAlexander Couzens <lynxis@fe80.eu>
Wed, 9 Jun 2021 22:16:53 +0000 (00:16 +0200)
committerAlexander Couzens <lynxis@fe80.eu>
Fri, 25 Jun 2021 08:52:50 +0000 (10:52 +0200)
The esw reset should only done by the esw driver and not by the fe itself.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
target/linux/ramips/dts/mt7628an.dtsi
target/linux/ramips/dts/rt5350.dtsi
target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3050.c
target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt3050.c

index 9bf20cecdd1a80301ad5662893deb67dda66f473..0dafdc790e126092457dd3d4d9cb4585040f3abf 100644 (file)
                interrupt-parent = <&cpuintc>;
                interrupts = <5>;
 
-               resets = <&rstctrl 21 &rstctrl 23>;
-               reset-names = "fe", "esw";
+               resets = <&rstctrl 21>;
+               reset-names = "fe";
 
                mediatek,switch = <&esw>;
        };
index 1058069016695becba8bc746d5729e2c072bb114..090e755743bacdeb63bc0920bfab293560cd8b79 100644 (file)
                compatible = "ralink,rt5350-eth";
                reg = <0x10100000 0x10000>;
 
-               resets = <&rstctrl 21 &rstctrl 23>;
-               reset-names = "fe", "esw";
+               resets = <&rstctrl 21>;
+               reset-names = "fe";
 
                interrupt-parent = <&cpuintc>;
                interrupts = <5>;
index cd6ae075950e71ffe8b0f5287124eb09f5ac741f..4a7dbb2d03952a3c226a40bc9b0fe2d50472ebb2 100644 (file)
@@ -462,6 +462,8 @@ static void esw_hw_init(struct rt305x_esw *esw)
        u8 port_disable = 0;
        u8 port_map = RT305X_ESW_PMAP_LLLLLL;
 
+       esw_reset(esw);
+
        /* vodoo from original driver */
        esw_w32(esw, 0xC8A07850, RT305X_ESW_REG_FCT0);
        esw_w32(esw, 0x00000000, RT305X_ESW_REG_SGC2);
index 6aedf0265a371179772a3cc459499fcb85cbabd2..f98d7ec3da68f223b4e34f7a92562f919412f34a 100644 (file)
@@ -19,9 +19,6 @@
 #include "mtk_eth_soc.h"
 #include "mdio_rt2880.h"
 
-#define RT305X_RESET_FE         BIT(21)
-#define RT305X_RESET_ESW        BIT(23)
-
 static const u16 rt5350_reg_table[FE_REG_COUNT] = {
        [FE_REG_PDMA_GLO_CFG] = RT5350_PDMA_GLO_CFG,
        [FE_REG_PDMA_RST_CFG] = RT5350_PDMA_RST_CFG,
@@ -115,11 +112,6 @@ static void rt5350_tx_dma(struct fe_tx_dma *txd)
        txd->txd4 = 0;
 }
 
-static void rt5350_fe_reset(struct fe_priv *priv)
-{
-       fe_reset(RT305X_RESET_FE | RT305X_RESET_ESW);
-}
-
 static struct fe_soc_data rt3050_data = {
        .init_data = rt305x_init_data,
        .fwd_config = rt3050_fwd_config,
@@ -133,7 +125,6 @@ static struct fe_soc_data rt3050_data = {
 static struct fe_soc_data rt5350_data = {
        .init_data = rt5350_init_data,
        .reg_table = rt5350_reg_table,
-       .reset_fe = rt5350_fe_reset,
        .set_mac = rt5350_set_mac,
        .fwd_config = rt5350_fwd_config,
        .tx_dma = rt5350_tx_dma,