From 27ad46cdfdfd3565b0376a96a3068839a3c63250 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Wed, 14 Nov 2018 09:24:25 +0000 Subject: Minor changes to MFS project. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@12421 110e8d01-0319-4d1e-a829-52ad28d1bb01 --- os/hal/ports/STM32/LLD/QUADSPIv1/hal_wspi_lld.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'os/hal/ports/STM32/LLD/QUADSPIv1') diff --git a/os/hal/ports/STM32/LLD/QUADSPIv1/hal_wspi_lld.c b/os/hal/ports/STM32/LLD/QUADSPIv1/hal_wspi_lld.c index 5ef7b7f62..66b5696d6 100644 --- a/os/hal/ports/STM32/LLD/QUADSPIv1/hal_wspi_lld.c +++ b/os/hal/ports/STM32/LLD/QUADSPIv1/hal_wspi_lld.c @@ -51,6 +51,15 @@ WSPIDriver WSPID1; /* Driver local functions. */ /*===========================================================================*/ +/** + * @brief Waits for completion of previous operation. + */ +static inline void wspi_lld_sync(WSPIDriver *wspip) { + + while ((wspip->qspi->SR & QUADSPI_SR_BUSY) != 0U) { + } +} + /** * @brief Shared service routine. * @@ -232,6 +241,9 @@ void wspi_lld_command(WSPIDriver *wspip, const wspi_command_t *cmdp) { if ((cmdp->cfg & WSPI_CFG_ADDR_MODE_MASK) != WSPI_CFG_ADDR_MODE_NONE) { wspip->qspi->AR = cmdp->addr; } + + /* Waiting for the previous operation to complete.*/ + wspi_lld_sync(wspip); } /** -- cgit v1.2.3