at91twi_writereg
at91twi_writereg(sc, TWI_CWGR, (ckdiv << 16) | (cxdiv << 8) | cxdiv);
at91twi_writereg(sc, TWI_CR, TWI_CR_MSEN);
at91twi_writereg(sc, TWI_IDR, -1);
at91twi_writereg(sc, TWI_THR, *sc->sc_data++);
at91twi_writereg(sc, TWI_IDR, TWI_SR_RXRDY | TWI_SR_TXRDY);
at91twi_writereg(sc, TWI_CR, TWI_CR_STOP);
at91twi_writereg(sc, TWI_THR, *sc->sc_data++);
at91twi_writereg(sc, TWI_IER, TWI_SR_TXCOMP);
at91twi_writereg(sc, TWI_CR, TWI_CR_START | TWI_CR_STOP);
at91twi_writereg(sc, TWI_IER, TWI_SR_TXCOMP
at91twi_writereg(sc, TWI_CR, TWI_CR_START);
at91twi_writereg(sc, TWI_MMR, (addr << 16) | TWI_MMR_MREAD | (cmdlen << 8));
at91twi_writereg(sc, TWI_IADR, iadr);
at91twi_writereg(sc, TWI_MMR, addr << 16);
inline void at91twi_writereg(struct at91twi_softc *, int, u_int);
at91twi_writereg(sc, TWI_CR, TWI_CR_SWRST);