drivers: spi: stm32h7: add a small delay after enabling

Add a small delay after enabling SPI to prevent transfer stalling.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
This commit is contained in:
Guillaume Gautier 2023-05-24 11:34:46 +02:00 committed by Anas Nashif
parent 1b9645c6a6
commit c73c7d5728

View file

@ -28,6 +28,8 @@ LOG_MODULE_REGISTER(spi_ll_stm32);
#include "spi_ll_stm32.h"
#define WAIT_1US 1U
/*
* Check for SPI_SR_FRE to determine support for TI mode frame format
* error flag, because STM32F1 SoCs do not support it and STM32CUBE
@ -643,6 +645,14 @@ static int transceive(const struct device *dev,
LL_SPI_Enable(spi);
#if CONFIG_SOC_SERIES_STM32H7X
/*
* Add a small delay after enabling to prevent transfer stalling at high
* system clock frequency (see errata sheet ES0392).
*/
k_busy_wait(WAIT_1US);
#endif
/* This is turned off in spi_stm32_complete(). */
spi_stm32_cs_control(dev, true);