PUTREG
PUTREG(sc, SPI_CR, SPI_CR_SWRST);
PUTREG(sc, SPI_PDC_BASE + PDC_PTCR, PDC_PTCR_TXTDIS | PDC_PTCR_RXTDIS);
PUTREG(sc, SPI_PDC_BASE + PDC_RNCR, 0);
PUTREG(sc, SPI_PDC_BASE + PDC_RCR, 0);
PUTREG(sc, SPI_PDC_BASE + PDC_TNCR, 0);
PUTREG(sc, SPI_PDC_BASE + PDC_TCR, 0);
PUTREG(sc, SPI_IDR, -1);
PUTREG(sc, SPI_CSR(0), SPI_CSR_SCBR | SPI_CSR_BITS_8);
PUTREG(sc, SPI_CSR(1), SPI_CSR_SCBR | SPI_CSR_BITS_8);
PUTREG(sc, SPI_CSR(2), SPI_CSR_SCBR | SPI_CSR_BITS_8);
PUTREG(sc, SPI_CSR(3), SPI_CSR_SCBR | SPI_CSR_BITS_8);
PUTREG(sc, SPI_MR, SPI_MR_MODFDIS/* <- machdep? */ | SPI_MR_MSTR);
PUTREG(sc, SPI_CR, SPI_CR_SPIEN);
PUTREG(sc, SPI_PDC_BASE + PDC_PTCR, PDC_PTCR_TXTEN | PDC_PTCR_RXTEN);
PUTREG(sc, SPI_IDR, -1); /* disable interrupts for now */
PUTREG(sc, SPI_CSR(0), csr);
PUTREG(sc, SPI_IER, SPI_SR_ENDRX);
PUTREG(sc, SPI_IDR, SPI_SR_ENDRX);
PUTREG(sc, SPI_IER, SPI_SR_RXBUFF);
PUTREG(sc, SPI_PDC_BASE + PDC_RNPR, sc->sc_dmaaddr + sc->sc_dmaoffs);
PUTREG(sc, SPI_PDC_BASE + PDC_RNCR, len);
PUTREG(sc, SPI_PDC_BASE + PDC_TNPR, sc->sc_dmaaddr + sc->sc_dmaoffs);
PUTREG(sc, SPI_PDC_BASE + PDC_TNCR, len);
PUTREG(sc, SPI_IER, SPI_SR_MODF | SPI_SR_OVRES);
PUTREG(sc, SPI_IDR, -1); /* disable interrupts */
#define PUTGPIO(x,v) PUTREG(GPIO_BASE + (x), (v))
#define PUTGPIO2(x,v) PUTREG(GPIO2_BASE + (x), (v))
PUTREG(PC_COUNTER_WRITE0, tv.tv_sec);
PUTREG(sc, AUPSC_SPIMSK, SPIMSK_ALL);
PUTREG(sc, AUPSC_SPIMSK, SPIMSK_NORM);
PUTREG(sc, AUPSC_SPICFG, reg);
PUTREG(sc, AUPSC_SPITXRX, data);
PUTREG(sc, AUPSC_SPIPCR, SPIPCR_RC | SPIPCR_TC);
PUTREG(sc, AUPSC_SPIPCR, SPIPCR_MS);
PUTREG(sc, AUPSC_SPIEVNT,
PUTREG(sc, AUPSC_SPIPCR, SPIPCR_RC | SPIPCR_TC);
PUTREG(sc, AUPSC_SPIEVNT,
PUTREG(sc, GPIO_CR, reg);
PUTREG(sc, GPIO_CR, reg);
PUTREG(sc, GPIO_DO, reg);
PUTREG(sc, GPIO_CR,
PUTREG(sc, GPIO_CR, GETREG(sc, GPIO_CR) & ~INTR(sc->sc_rstpin));
PUTREG(sc, ARSPI_REG_OPCODE, SPIFLASH_CMD_RDSR);
PUTREG(sc, ARSPI_REG_OPCODE, SPIFLASH_CMD_WREN);
PUTREG(sc, ARSPI_REG_DATA, job->job_data);
PUTREG(sc, ARSPI_REG_OPCODE, job->job_opcode |
PUTREG(sc, ARSPI_REG_CTL, ctl);
PUTREG(sc, offset, datum);
PUTREG(BAHSTAT, 0);
PUTREG(BAHCMD, BAH_CONF(CONF_LONG));
PUTREG(BAHCMD, BAH_CLR(CLR_POR|CLR_RECONFIG));
PUTREG(BAHSTAT, sc->sc_intmask);
PUTREG(BAHCMD, BAH_CONF(CONF_LONG));
PUTREG(BAHCMD, BAH_CLR(CLR_POR|CLR_RECONFIG));
PUTREG(BAHCMD, BAH_RXBC(2));
PUTREG(BAHSTAT, sc->sc_intmask);
PUTREG(BAHSTAT, 0);
PUTREG(BAHCMD, BAH_TX(buffer));
PUTREG(BAHSTAT, sc->sc_intmask);
PUTREG(BAHCMD, BAH_RXBC(buffer));
PUTREG(BAHSTAT, sc->sc_intmask);
PUTREG(BAHCMD, BAH_TX(buffer));
PUTREG(BAHCMD, BAH_TX(buffer));
PUTREG(BAHSTAT, sc->sc_intmask);
PUTREG(BAHCMD, BAH_CLR(CLR_POR));
PUTREG(BAHCMD, BAH_CLR(CLR_RECONFIG));
PUTREG(BAHCMD, BAH_RXBC(buffer));
PUTREG(BAHSTAT, sc->sc_intmask);
PUTREG(BAHCMD, BAH_RXBC(buffer));
PUTREG(BAHCMD, BAH_TXDIS);
PUTREG(sc, MVSPI_INTCONF_REG, ctl);
PUTREG(sc, MVSPI_INTCONF_REG, ctl);
PUTREG(sc, MVSPI_CTRL_REG, (sc->sc_transfer->st_slave << 2));
PUTREG(sc, MVSPI_CTRL_REG, ctl);
PUTREG(sc, MVSPI_CTRL_REG, ctl);
PUTREG(sc, MVSPI_CTRL_REG, ctl);
PUTREG(sc, MVSPI_DATAOUT_REG, byte);