aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Esden-Tempski2012-03-14 21:00:53 -0700
committerPiotr Esden-Tempski2012-03-14 21:00:53 -0700
commit06d6f3e0e64b49e8aab7ebe40896031b6c619172 (patch)
treee13e12d362d7565524f8c9241a0e852d464c18a1
parentb7875d0230f81df45145737f8cf46596f8bf15c6 (diff)
Made spi_init_master ignore CRC and SPE bits.
-rw-r--r--lib/stm32/spi.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/stm32/spi.c b/lib/stm32/spi.c
index af093ad..828e123 100644
--- a/lib/stm32/spi.c
+++ b/lib/stm32/spi.c
@@ -61,7 +61,10 @@ void spi_reset(u32 spi_peripheral)
int spi_init_master(u32 spi, u32 br, u32 cpol, u32 cpha, u32 dff, u32 lsbfirst)
{
- u32 reg32 = 0;
+ u32 reg32 = SPI_CR1(spi);
+
+ /* Reset all bits omitting SPE, CRCEN and CRCNEXT bits. */
+ reg32 &= SPI_CR1_SPE | SPI_CR1_CRCEN | SPI_CR1_CRCNEXT;
reg32 |= SPI_CR1_MSTR; /* Configure SPI as master. */