firmware/ice40-riscv: Minor cleanup in SPI xfer routine
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Change-Id: I2da662af8279746f0f3788a9a0a5cfdfe9dc9f99
diff --git a/firmware/ice40-riscv/common/spi.c b/firmware/ice40-riscv/common/spi.c
index 0a4414d..6683a5a 100644
--- a/firmware/ice40-riscv/common/spi.c
+++ b/firmware/ice40-riscv/common/spi.c
@@ -86,11 +86,11 @@
void
spi_xfer(unsigned cs, const struct spi_xfer_chunk *xfer, unsigned n)
{
+ uint8_t rxd;
unsigned chan = (cs >> 2);
cs &= 3;
/* Setup CS */
- //spi_regs[chan]->cr2 |= SPI_CR2_MCSH;
spi_regs[chan]->csr = 0xf ^ (1 << cs);
/* Run the chunks */
@@ -99,14 +99,14 @@
{
spi_regs[chan]->txdr = xfer->write ? xfer->data[i] : 0x00;
while (!(spi_regs[chan]->sr & SPI_SR_RRDY));
+ rxd = spi_regs[chan]->rxdr;
if (xfer->read)
- xfer->data[i] = spi_regs[chan]->rxdr;
+ xfer->data[i] = rxd;
}
xfer++;
}
/* Clear CS */
- //spi_regs[chan]->cr2 &= ~SPI_CR2_MCSH;
spi_regs[chan]->csr = 0xf;
}