Fixed bug #1116.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_20.3.x@13777 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
5f0628194c
commit
0344bb0f5b
|
@ -71,9 +71,10 @@ typedef enum {
|
||||||
WSPI_UNINIT = 0, /**< Not initialized. */
|
WSPI_UNINIT = 0, /**< Not initialized. */
|
||||||
WSPI_STOP = 1, /**< Stopped. */
|
WSPI_STOP = 1, /**< Stopped. */
|
||||||
WSPI_READY = 2, /**< Ready. */
|
WSPI_READY = 2, /**< Ready. */
|
||||||
WSPI_ACTIVE = 3, /**< Exchanging data. */
|
WSPI_SEND = 3, /**< Sending data. */
|
||||||
WSPI_COMPLETE = 4, /**< Asynchronous operation complete. */
|
WSPI_RECEIVE = 4, /**< Receiving data. */
|
||||||
WSPI_MEMMAP = 5 /**< In memory mapped mode. */
|
WSPI_COMPLETE = 5, /**< Asynchronous operation complete. */
|
||||||
|
WSPI_MEMMAP = 6 /**< In memory mapped mode. */
|
||||||
} wspistate_t;
|
} wspistate_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -274,7 +275,7 @@ struct hal_wspi_driver {
|
||||||
osalDbgAssert(((cmdp)->cfg & WSPI_CFG_DATA_MODE_MASK) == \
|
osalDbgAssert(((cmdp)->cfg & WSPI_CFG_DATA_MODE_MASK) == \
|
||||||
WSPI_CFG_DATA_MODE_NONE, \
|
WSPI_CFG_DATA_MODE_NONE, \
|
||||||
"data mode specified"); \
|
"data mode specified"); \
|
||||||
(wspip)->state = WSPI_ACTIVE; \
|
(wspip)->state = WSPI_SEND; \
|
||||||
wspi_lld_command(wspip, cmdp); \
|
wspi_lld_command(wspip, cmdp); \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -294,7 +295,7 @@ struct hal_wspi_driver {
|
||||||
osalDbgAssert(((cmdp)->cfg & WSPI_CFG_DATA_MODE_MASK) != \
|
osalDbgAssert(((cmdp)->cfg & WSPI_CFG_DATA_MODE_MASK) != \
|
||||||
WSPI_CFG_DATA_MODE_NONE, \
|
WSPI_CFG_DATA_MODE_NONE, \
|
||||||
"data mode required"); \
|
"data mode required"); \
|
||||||
(wspip)->state = WSPI_ACTIVE; \
|
(wspip)->state = WSPI_SEND; \
|
||||||
wspi_lld_send(wspip, cmdp, n, txbuf); \
|
wspi_lld_send(wspip, cmdp, n, txbuf); \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -314,7 +315,7 @@ struct hal_wspi_driver {
|
||||||
osalDbgAssert(((cmdp)->cfg & WSPI_CFG_DATA_MODE_MASK) != \
|
osalDbgAssert(((cmdp)->cfg & WSPI_CFG_DATA_MODE_MASK) != \
|
||||||
WSPI_CFG_DATA_MODE_NONE, \
|
WSPI_CFG_DATA_MODE_NONE, \
|
||||||
"data mode required"); \
|
"data mode required"); \
|
||||||
(wspip)->state = WSPI_ACTIVE; \
|
(wspip)->state = WSPI_RECEIVE; \
|
||||||
wspi_lld_receive(wspip, cmdp, n, rxbuf); \
|
wspi_lld_receive(wspip, cmdp, n, rxbuf); \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -94,7 +94,14 @@ static void wspi_lld_serve_interrupt(WSPIDriver *wspip) {
|
||||||
operation. Race condition hidden here.*/
|
operation. Race condition hidden here.*/
|
||||||
while (dmaStreamGetTransactionSize(wspip->dma) > 0U)
|
while (dmaStreamGetTransactionSize(wspip->dma) > 0U)
|
||||||
;
|
;
|
||||||
dmaStreamDisable(wspip->dma);
|
|
||||||
|
/* Handling of errata: Extra data written in the FIFO at the end of a
|
||||||
|
read transfer.*/
|
||||||
|
if (wspip->state == WSPI_RECEIVE) {
|
||||||
|
while ((wspip->qspi->SR & QUADSPI_SR_BUSY) != 0U) {
|
||||||
|
(void) wspip->qspi->DR;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
|
@ -78,6 +78,7 @@
|
||||||
- NEW: Added a new setting to STM32 USBv1 allowing for some clock deviation
|
- NEW: Added a new setting to STM32 USBv1 allowing for some clock deviation
|
||||||
from 48MHz. Renamed setting USB_HOST_WAKEUP_DURATION to
|
from 48MHz. Renamed setting USB_HOST_WAKEUP_DURATION to
|
||||||
STM32_USB_HOST_WAKEUP_DURATION for consistency.
|
STM32_USB_HOST_WAKEUP_DURATION for consistency.
|
||||||
|
- FIX: Fixed STM32 QSPI errata workaround (bug #1116).
|
||||||
- FIX: Fixed wrong condition in STM32 BDMAv1 driver (bug #1115).
|
- FIX: Fixed wrong condition in STM32 BDMAv1 driver (bug #1115).
|
||||||
- FIX: Fixed HSI48 not getting enabled on STM32H7 (bug #1114).
|
- FIX: Fixed HSI48 not getting enabled on STM32H7 (bug #1114).
|
||||||
- FIX: Fixed LPUART1 support for STM32H7xx (bug #1113).
|
- FIX: Fixed LPUART1 support for STM32H7xx (bug #1113).
|
||||||
|
|
Loading…
Reference in New Issue