EMAC_MR0
EMAC_WRITE(sc, EMAC_MR0, MR0_TXE | MR0_RXE);
EMAC_WRITE(sc, EMAC_MR0,
EMAC_READ(sc, EMAC_MR0) & ~(MR0_TXE | MR0_RXE));
EMAC_WRITE(sc, EMAC_MR0, MR0_SRST);
while (EMAC_READ(sc, EMAC_MR0) & MR0_SRST) {
mr0 = EMAC_READ(sc, EMAC_MR0);
EMAC_WRITE(sc, EMAC_MR0, mr0);
while ((EMAC_READ(sc, EMAC_MR0) & (MR0_TXI | MR0_RXI)) !=
EMAC_WRITE(sc, EMAC_MR0, MR0_TXE | MR0_RXE);