MCBSP_WRITE
MCBSP_WRITE(mcbsp, SSELCR, w & ~(SIDETONEEN));
MCBSP_WRITE(mcbsp, SSELCR, w | SIDETONEEN);
MCBSP_WRITE(mcbsp, IRQST, irqst);
MCBSP_WRITE(mcbsp, SPCR2, MCBSP_READ_CACHE(mcbsp, SPCR2));
MCBSP_WRITE(mcbsp, SPCR1, MCBSP_READ_CACHE(mcbsp, SPCR1));
MCBSP_WRITE(mcbsp, SPCR2, config->spcr2);
MCBSP_WRITE(mcbsp, SPCR1, config->spcr1);
MCBSP_WRITE(mcbsp, RCR2, config->rcr2);
MCBSP_WRITE(mcbsp, RCR1, config->rcr1);
MCBSP_WRITE(mcbsp, XCR2, config->xcr2);
MCBSP_WRITE(mcbsp, XCR1, config->xcr1);
MCBSP_WRITE(mcbsp, SRGR2, config->srgr2);
MCBSP_WRITE(mcbsp, SRGR1, config->srgr1);
MCBSP_WRITE(mcbsp, MCR2, config->mcr2);
MCBSP_WRITE(mcbsp, MCR1, config->mcr1);
MCBSP_WRITE(mcbsp, PCR0, config->pcr0);
MCBSP_WRITE(mcbsp, XCCR, config->xccr);
MCBSP_WRITE(mcbsp, RCCR, config->rccr);
MCBSP_WRITE(mcbsp, WAKEUPEN, XRDYEN | RRDYEN);
MCBSP_WRITE(mcbsp, IRQEN, RSYNCERREN | XSYNCERREN |
MCBSP_WRITE(mcbsp, THRSH2, threshold - 1);
MCBSP_WRITE(mcbsp, THRSH1, threshold - 1);
MCBSP_WRITE(mcbsp, SPCR1, 0);
MCBSP_WRITE(mcbsp, SPCR2, 0);
MCBSP_WRITE(mcbsp, WAKEUPEN, 0);
MCBSP_WRITE(mcbsp, WAKEUPEN, 0);
MCBSP_WRITE(mcbsp, IRQEN, 0);
MCBSP_WRITE(mcbsp, SPCR2, w | (1 << 6));
MCBSP_WRITE(mcbsp, SPCR2, w | tx);
MCBSP_WRITE(mcbsp, SPCR1, w | rx);
MCBSP_WRITE(mcbsp, SPCR2, w | (1 << 7));
MCBSP_WRITE(mcbsp, XCCR, w);
MCBSP_WRITE(mcbsp, RCCR, w);
MCBSP_WRITE(mcbsp, XCCR, w);
MCBSP_WRITE(mcbsp, SPCR2, w & ~tx);
MCBSP_WRITE(mcbsp, RCCR, w);
MCBSP_WRITE(mcbsp, SPCR1, w & ~rx);
MCBSP_WRITE(mcbsp, SPCR2, w & ~(1 << 6));