generic: ar8216: do a software reset for switch during hw_init
[openwrt/.git] / target / linux / generic / files / drivers / net / phy / ar8216.c
index a33d4b31fe2ebcaffb721f14ed906c5fc0ebd587..259adef8225901dc1b8cc7df4341a87ecd3f4a43 100644 (file)
@@ -705,6 +705,9 @@ ar8216_hw_init(struct ar8xxx_priv *priv)
        if (priv->initialized)
                return 0;
 
+       ar8xxx_write(priv, AR8216_REG_CTRL, AR8216_CTRL_RESET);
+       ar8xxx_reg_wait(priv, AR8216_REG_CTRL, AR8216_CTRL_RESET, 0, 1000);
+
        ar8xxx_phy_init(priv);
 
        priv->initialized = true;