ramips: ethernet: ralink: move reset of the esw into the esw instead of fe

The esw reset should only done by the esw driver and not by the fe itself.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
This commit is contained in:
Alexander Couzens 2021-06-10 00:16:53 +02:00
parent 694561ae60
commit 60fadae62b
4 changed files with 6 additions and 13 deletions

View File

@ -429,8 +429,8 @@
interrupt-parent = <&cpuintc>; interrupt-parent = <&cpuintc>;
interrupts = <5>; interrupts = <5>;
resets = <&rstctrl 21 &rstctrl 23>; resets = <&rstctrl 21>;
reset-names = "fe", "esw"; reset-names = "fe";
mediatek,switch = <&esw>; mediatek,switch = <&esw>;
}; };

View File

@ -343,8 +343,8 @@
compatible = "ralink,rt5350-eth"; compatible = "ralink,rt5350-eth";
reg = <0x10100000 0x10000>; reg = <0x10100000 0x10000>;
resets = <&rstctrl 21 &rstctrl 23>; resets = <&rstctrl 21>;
reset-names = "fe", "esw"; reset-names = "fe";
interrupt-parent = <&cpuintc>; interrupt-parent = <&cpuintc>;
interrupts = <5>; interrupts = <5>;

View File

@ -462,6 +462,8 @@ static void esw_hw_init(struct rt305x_esw *esw)
u8 port_disable = 0; u8 port_disable = 0;
u8 port_map = RT305X_ESW_PMAP_LLLLLL; u8 port_map = RT305X_ESW_PMAP_LLLLLL;
esw_reset(esw);
/* vodoo from original driver */ /* vodoo from original driver */
esw_w32(esw, 0xC8A07850, RT305X_ESW_REG_FCT0); esw_w32(esw, 0xC8A07850, RT305X_ESW_REG_FCT0);
esw_w32(esw, 0x00000000, RT305X_ESW_REG_SGC2); esw_w32(esw, 0x00000000, RT305X_ESW_REG_SGC2);

View File

@ -19,9 +19,6 @@
#include "mtk_eth_soc.h" #include "mtk_eth_soc.h"
#include "mdio_rt2880.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] = { static const u16 rt5350_reg_table[FE_REG_COUNT] = {
[FE_REG_PDMA_GLO_CFG] = RT5350_PDMA_GLO_CFG, [FE_REG_PDMA_GLO_CFG] = RT5350_PDMA_GLO_CFG,
[FE_REG_PDMA_RST_CFG] = RT5350_PDMA_RST_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; 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 = { static struct fe_soc_data rt3050_data = {
.init_data = rt305x_init_data, .init_data = rt305x_init_data,
.fwd_config = rt3050_fwd_config, .fwd_config = rt3050_fwd_config,
@ -133,7 +125,6 @@ static struct fe_soc_data rt3050_data = {
static struct fe_soc_data rt5350_data = { static struct fe_soc_data rt5350_data = {
.init_data = rt5350_init_data, .init_data = rt5350_init_data,
.reg_table = rt5350_reg_table, .reg_table = rt5350_reg_table,
.reset_fe = rt5350_fe_reset,
.set_mac = rt5350_set_mac, .set_mac = rt5350_set_mac,
.fwd_config = rt5350_fwd_config, .fwd_config = rt5350_fwd_config,
.tx_dma = rt5350_tx_dma, .tx_dma = rt5350_tx_dma,