writel(0x0, fep->hwp + FEC_X_CNTRL);
}
+ /* Prevent an MII event being report when changing speed */
+ writel(0, fep->hwp + FEC_MII_DATA);
+
/* Set MII speed */
writel(fep->phy_speed, fep->hwp + FEC_MII_SPEED);
writel(val, fep->hwp + FEC_ECNTRL);
fec_enet_stop_mode(fep, true);
}
+
+ /* Prevent an MII event being report when changing speed */
+ writel(0, fep->hwp + FEC_MII_DATA);
+
writel(fep->phy_speed, fep->hwp + FEC_MII_SPEED);
/* We have to keep ENET enabled to have MII interrupt stay working */
if (suppress_preamble)
fep->phy_speed |= BIT(7);
+ /* Clear MMFR to avoid to generate MII event by writing MSCR.
+ * MII event generation condition:
+ * - writing MSCR:
+ * - mmfr[31:0]_not_zero & mscr[7:0]_is_zero &
+ * mscr_reg_data_in[7:0] != 0
+ * - writing MMFR:
+ * - mscr[7:0]_not_zero
+ */
+ writel(0, fep->hwp + FEC_MII_DATA);
+
writel(fep->phy_speed, fep->hwp + FEC_MII_SPEED);
/* Clear any pending transaction complete indication */