From 5e433fff06148fde3f0046ad7f1121e9af2181d9 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Mon, 22 Jan 2024 12:55:22 -0500 Subject: [PATCH] rp2040: Only change SPI settings while peripheral is disabled Make sure to disable/enable the peripheral to ensure the clock polarity is properly set prior to a change in CS. Signed-off-by: Kevin O'Connor --- src/rp2040/spi.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/rp2040/spi.c b/src/rp2040/spi.c index e6aafa0053a4..758d57308b79 100644 --- a/src/rp2040/spi.c +++ b/src/rp2040/spi.c @@ -89,8 +89,12 @@ void spi_prepare(struct spi_config config) { spi_hw_t *spi = config.spi; + if (spi->cr0 == config.cr0 && spi->cpsr == config.cpsr) + return; + spi->cr1 = 0; spi->cr0 = config.cr0; spi->cpsr = config.cpsr; + spi->cr1 = SPI_SSPCR1_SSE_BITS; } void