diff options
author | 2024-03-01 12:42:59 +0200 | |
---|---|---|
committer | 2024-03-05 12:23:42 +0100 | |
commit | a565f98d7d25ce5125956fc61c47526c8041e531 (patch) | |
tree | 5b102131d1d68fe4b44436beb69a42f4d7736cf9 /drivers | |
parent | net: dsa: mt7530: set interrupt register only for MT7530 (diff) | |
download | linux-a565f98d7d25ce5125956fc61c47526c8041e531.tar.gz linux-a565f98d7d25ce5125956fc61c47526c8041e531.tar.bz2 linux-a565f98d7d25ce5125956fc61c47526c8041e531.zip |
net: dsa: mt7530: do not use SW_PHY_RST to reset MT7531 switch
According to the document MT7531 Reference Manual for Development Board
v1.0, the SW_PHY_RST bit on the SYS_CTRL register doesn't exist for
MT7531. This is likely why forcing link down on all ports is necessary for
MT7531.
Therefore, do not set SW_PHY_RST on mt7531_setup().
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/dsa/mt7530.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c index 5cfd303b773f..296711fd5c43 100644 --- a/drivers/net/dsa/mt7530.c +++ b/drivers/net/dsa/mt7530.c @@ -2451,14 +2451,12 @@ mt7531_setup(struct dsa_switch *ds) val = mt7530_read(priv, MT7531_TOP_SIG_SR); priv->p5_sgmii = !!(val & PAD_DUAL_SGMII_EN); - /* all MACs must be forced link-down before sw reset */ + /* Force link down on all ports before internal reset */ for (i = 0; i < MT7530_NUM_PORTS; i++) mt7530_write(priv, MT7530_PMCR_P(i), MT7531_FORCE_LNK); /* Reset the switch through internal reset */ - mt7530_write(priv, MT7530_SYS_CTRL, - SYS_CTRL_PHY_RST | SYS_CTRL_SW_RST | - SYS_CTRL_REG_RST); + mt7530_write(priv, MT7530_SYS_CTRL, SYS_CTRL_SW_RST | SYS_CTRL_REG_RST); if (!priv->p5_sgmii) { mt7531_pll_setup(priv); |