diff options
author | Giovanni Di Sirio <gdisirio@gmail.com> | 2018-11-02 17:15:38 +0000 |
---|---|---|
committer | Giovanni Di Sirio <gdisirio@gmail.com> | 2018-11-02 17:15:38 +0000 |
commit | 9f6a17e4f1aa9f97f7aab6616cdec231e56e0dd4 (patch) | |
tree | ba912bc1227196b1a306977e214be3a4be281efc /os/hal/ports/STM32/LLD/OCTOSPIv1 | |
parent | da54384531630ae204b1b925537a2ec0bb136980 (diff) | |
download | ChibiOS-9f6a17e4f1aa9f97f7aab6616cdec231e56e0dd4.tar.gz ChibiOS-9f6a17e4f1aa9f97f7aab6616cdec231e56e0dd4.tar.bz2 ChibiOS-9f6a17e4f1aa9f97f7aab6616cdec231e56e0dd4.zip |
Various fixes to OCTOSPI e DMAv1 and MX25.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@12401 110e8d01-0319-4d1e-a829-52ad28d1bb01
Diffstat (limited to 'os/hal/ports/STM32/LLD/OCTOSPIv1')
-rw-r--r-- | os/hal/ports/STM32/LLD/OCTOSPIv1/hal_wspi_lld.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/os/hal/ports/STM32/LLD/OCTOSPIv1/hal_wspi_lld.c b/os/hal/ports/STM32/LLD/OCTOSPIv1/hal_wspi_lld.c index 43a7a82a8..ef5994e47 100644 --- a/os/hal/ports/STM32/LLD/OCTOSPIv1/hal_wspi_lld.c +++ b/os/hal/ports/STM32/LLD/OCTOSPIv1/hal_wspi_lld.c @@ -205,6 +205,7 @@ void wspi_lld_start(WSPIDriver *wspip) { (void *)wspip);
osalDbgAssert(!b, "stream already allocated");
rccEnableOCTOSPI1(true);
+ dmaSetRequestSource(wspip->dma, STM32_DMAMUX1_OCTOSPI1);
}
#endif
@@ -216,6 +217,7 @@ void wspi_lld_start(WSPIDriver *wspip) { (void *)wspip);
osalDbgAssert(!b, "stream already allocated");
rccEnableOCTOSPI2(true);
+ dmaSetRequestSource(wspip->dma, STM32_DMAMUX1_OCTOSPI2);
}
#endif
@@ -285,10 +287,10 @@ void wspi_lld_command(WSPIDriver *wspip, const wspi_command_t *cmdp) { #endif
wspip->ospi->CR &= ~OCTOSPI_CR_FMODE;
wspip->ospi->DLR = 0U;
- wspip->ospi->IR = cmdp->cmd;
- wspip->ospi->ABR = cmdp->alt;
wspip->ospi->TCR = cmdp->dummy;
wspip->ospi->CCR = cmdp->cfg;
+ wspip->ospi->ABR = cmdp->alt;
+ wspip->ospi->IR = cmdp->cmd;
if ((cmdp->cfg & WSPI_CFG_ADDR_MODE_MASK) != WSPI_CFG_ADDR_MODE_NONE) {
wspip->ospi->AR = cmdp->addr;
}
@@ -314,10 +316,10 @@ void wspi_lld_send(WSPIDriver *wspip, const wspi_command_t *cmdp, wspip->ospi->CR &= ~OCTOSPI_CR_FMODE;
wspip->ospi->DLR = n - 1;
- wspip->ospi->IR = cmdp->cmd;
- wspip->ospi->ABR = cmdp->alt;
wspip->ospi->TCR = cmdp->dummy;
wspip->ospi->CCR = cmdp->cfg;
+ wspip->ospi->ABR = cmdp->alt;
+ wspip->ospi->IR = cmdp->cmd;
if ((cmdp->cfg & WSPI_CFG_ADDR_MODE_MASK) != WSPI_CFG_ADDR_MODE_NONE) {
wspip->ospi->AR = cmdp->addr;
}
@@ -345,10 +347,10 @@ void wspi_lld_receive(WSPIDriver *wspip, const wspi_command_t *cmdp, wspip->ospi->CR = (wspip->ospi->CR & ~OCTOSPI_CR_FMODE) | OCTOSPI_CR_FMODE_0;
wspip->ospi->DLR = n - 1;
- wspip->ospi->IR = cmdp->cmd;
- wspip->ospi->ABR = cmdp->alt;
wspip->ospi->TCR = cmdp->dummy;
wspip->ospi->CCR = cmdp->cfg;
+ wspip->ospi->ABR = cmdp->alt;
+ wspip->ospi->IR = cmdp->cmd;
if ((cmdp->cfg & WSPI_CFG_ADDR_MODE_MASK) != WSPI_CFG_ADDR_MODE_NONE) {
wspip->ospi->AR = cmdp->addr;
}
@@ -380,11 +382,11 @@ void wspi_lld_map_flash(WSPIDriver *wspip, wspip->ospi->CR = (wspip->ospi->CR & ~OCTOSPI_CR_FMODE) |
(OCTOSPI_CR_FMODE_1 | OCTOSPI_CR_FMODE_0);
wspip->ospi->DLR = 0;
- wspip->ospi->IR = cmdp->cmd;
- wspip->ospi->ABR = 0;
wspip->ospi->TCR = cmdp->dummy;
- wspip->ospi->AR = 0;
wspip->ospi->CCR = cmdp->cfg;
+ wspip->ospi->ABR = 0;
+ wspip->ospi->IR = cmdp->cmd;
+ wspip->ospi->AR = 0;
/* Mapped flash absolute base address.*/
if (addrp != NULL) {
|