From 7bc401647e53c1a34c65508d26c492b8514570cf Mon Sep 17 00:00:00 2001 From: Andrew Dunai Date: Mon, 9 Dec 2024 14:54:11 +0200 Subject: [PATCH] fix(hal): force spiTransaction to update clock line immediately (backport of espressif#9333) --- cores/esp32/esp32-hal-spi.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cores/esp32/esp32-hal-spi.c b/cores/esp32/esp32-hal-spi.c index 43ea98b9608..c635b836e8e 100644 --- a/cores/esp32/esp32-hal-spi.c +++ b/cores/esp32/esp32-hal-spi.c @@ -1135,6 +1135,11 @@ void spiTransaction(spi_t * spi, uint32_t clockDiv, uint8_t dataMode, uint8_t bi spi->dev->ctrl.wr_bit_order = 1; spi->dev->ctrl.rd_bit_order = 1; } +#if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 + // Sync new config with hardware, backported from https://github.com/espressif/arduino-esp32/pull/9333 + spi->dev->cmd.update = 1; + while (spi->dev->cmd.update); +#endif } void spiSimpleTransaction(spi_t * spi)