SONIC_CR
CSR_WRITE(sc, SONIC_CR, CR_RST);
CSR_WRITE(sc, SONIC_CR, 0);
CSR_WRITE(sc, SONIC_CR, CR_RXEN | CR_RRRA);
CSR_WRITE(sc, SONIC_CR, CR_HTX | CR_RXDIS | CR_STP);
if ((CSR_READ(sc, SONIC_CR) & (CR_TXP | CR_RXEN | CR_ST)) == 0)
if ((CSR_READ(sc, SONIC_CR) & (CR_TXP | CR_RXEN | CR_ST)) != 0)
CSR_WRITE(sc, SONIC_CR, CR_LCAM);
if ((CSR_READ(sc, SONIC_CR) & CR_LCAM) == 0)
if (CSR_READ(sc, SONIC_CR) & CR_LCAM)
CSR_WRITE(sc, SONIC_CR, CR_TXP);
CSR_WRITE(sc, SONIC_CR, CR_STP | CR_RXDIS | CR_HTX);
CSR_WRITE(sc, SONIC_CR, CR_RST);
CSR_WRITE(sc, SONIC_CR, 0);
CSR_WRITE(sc, SONIC_CR, CR_RST);
CSR_WRITE(sc, SONIC_CR, 0);