mirror of https://github.com/rusefi/ChibiOS.git
Memory mapped mode implemented, to be tested.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9536 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
6f7ae6af72
commit
3fa83ef942
|
@ -291,7 +291,6 @@ void qspi_lld_receive(QSPIDriver *qspip, const qspi_command_t *cmdp,
|
||||||
dmaStreamEnable(qspip->dma);
|
dmaStreamEnable(qspip->dma);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if (QSPI_SUPPORTS_MEMMAP == TRUE) || defined(__DOXYGEN__)
|
#if (QSPI_SUPPORTS_MEMMAP == TRUE) || defined(__DOXYGEN__)
|
||||||
/**
|
/**
|
||||||
* @brief Maps in memory space a QSPI flash device.
|
* @brief Maps in memory space a QSPI flash device.
|
||||||
|
@ -309,6 +308,19 @@ void qspi_lld_map_flash(QSPIDriver *qspip,
|
||||||
const qspi_command_t *cmdp,
|
const qspi_command_t *cmdp,
|
||||||
uint8_t **addrp) {
|
uint8_t **addrp) {
|
||||||
|
|
||||||
|
/* Disabling the DMA request while in memory mapped mode.*/
|
||||||
|
qspip->qspi->CR &= ~QUADSPI_CR_DMAEN;
|
||||||
|
|
||||||
|
/* Starting memory mapped mode using the passed parameters.*/
|
||||||
|
qspip->qspi->DLR = 0;
|
||||||
|
qspip->qspi->ABR = 0;
|
||||||
|
qspip->qspi->AR = 0;
|
||||||
|
qspip->qspi->CCR = cmdp->cfg | QUADSPI_CCR_FMODE_1 | QUADSPI_CCR_FMODE_0;
|
||||||
|
|
||||||
|
/* Mapped flash absolute base address.*/
|
||||||
|
if (addrp != NULL) {
|
||||||
|
*addrp = (uint8_t *)0x90000000;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -322,6 +334,13 @@ void qspi_lld_map_flash(QSPIDriver *qspip,
|
||||||
*/
|
*/
|
||||||
void qspi_lld_unmap_flash(QSPIDriver *qspip) {
|
void qspi_lld_unmap_flash(QSPIDriver *qspip) {
|
||||||
|
|
||||||
|
/* Aborting memory mapped mode.*/
|
||||||
|
qspip->qspi->CR |= QUADSPI_CR_ABORT;
|
||||||
|
while ((qspip->qspi->CR & QUADSPI_CR_ABORT) != 0U) {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Re-enabling DMA request, we are going back to indirect mode.*/
|
||||||
|
qspip->qspi->CR |= QUADSPI_CR_DMAEN;
|
||||||
}
|
}
|
||||||
#endif /* QSPI_SUPPORTS_MEMMAP == TRUE */
|
#endif /* QSPI_SUPPORTS_MEMMAP == TRUE */
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
* @name QSPI capabilities
|
* @name QSPI capabilities
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#define QSPI_SUPPORTS_MEMMAP FALSE
|
#define QSPI_SUPPORTS_MEMMAP TRUE
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue