From a53484051a6c4d26c0b21ce35e1f19e53a8fea60 Mon Sep 17 00:00:00 2001 From: "S.J.R. van Schaik" Date: Tue, 10 Oct 2017 18:20:32 +0200 Subject: [PATCH 1/3] stm32f1: spi: use SPI mode 0 instead of SPI mode 3 --- source/platform/stm32f1/spi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/platform/stm32f1/spi.c b/source/platform/stm32f1/spi.c index 964bd82..147a800 100644 --- a/source/platform/stm32f1/spi.c +++ b/source/platform/stm32f1/spi.c @@ -20,8 +20,8 @@ static void stm32f1_spi_init(void) spi_reset(SPI1); spi_init_master(SPI1, SPI_CR1_BAUDRATE_FPCLK_DIV_64, - SPI_CR1_CPOL_CLK_TO_1_WHEN_IDLE, - SPI_CR1_CPHA_CLK_TRANSITION_2, + SPI_CR1_CPOL_CLK_TO_0_WHEN_IDLE, + SPI_CR1_CPHA_CLK_TRANSITION_1, SPI_CR1_DFF_8BIT, SPI_CR1_MSBFIRST); spi_enable_software_slave_management(SPI1); From 63525ac93b25311af3b024ee83d8311da412bec1 Mon Sep 17 00:00:00 2001 From: "S.J.R. van Schaik" Date: Thu, 12 Oct 2017 16:53:12 +0200 Subject: [PATCH 2/3] stm32f1: spi: divide clock rate by 2 instead of 64 --- source/platform/stm32f1/spi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/platform/stm32f1/spi.c b/source/platform/stm32f1/spi.c index 147a800..7cf14aa 100644 --- a/source/platform/stm32f1/spi.c +++ b/source/platform/stm32f1/spi.c @@ -19,7 +19,7 @@ static void stm32f1_spi_init(void) { spi_reset(SPI1); spi_init_master(SPI1, - SPI_CR1_BAUDRATE_FPCLK_DIV_64, + SPI_CR1_BAUDRATE_FPCLK_DIV_2, SPI_CR1_CPOL_CLK_TO_0_WHEN_IDLE, SPI_CR1_CPHA_CLK_TRANSITION_1, SPI_CR1_DFF_8BIT, From 52956ae46d1aba0bf991f2d1ef11a34a54caa5bc Mon Sep 17 00:00:00 2001 From: "S.J.R. van Schaik" Date: Thu, 12 Oct 2017 17:00:00 +0200 Subject: [PATCH 3/3] stm32f0: spi: divide clock rate by 2 instead of 64 --- source/platform/stm32f0/spi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/platform/stm32f0/spi.c b/source/platform/stm32f0/spi.c index 59f5378..18d9095 100644 --- a/source/platform/stm32f0/spi.c +++ b/source/platform/stm32f0/spi.c @@ -18,7 +18,7 @@ static struct spi_ops stm32f0_spi_ops = { static void stm32f0_spi_init(void) { spi_set_master_mode(SPI1); - spi_set_baudrate_prescaler(SPI1, SPI_CR1_BR_FPCLK_DIV_64); + spi_set_baudrate_prescaler(SPI1, SPI_CR1_BR_FPCLK_DIV_2); spi_set_clock_polarity_0(SPI1); spi_set_clock_phase_0(SPI1); spi_set_full_duplex_mode(SPI1);