aboutsummaryrefslogtreecommitdiffstats
path: root/os
diff options
context:
space:
mode:
Diffstat (limited to 'os')
-rw-r--r--os/hal/lib/complex/serial_nor/devices/macronix_mx25/hal_flash_device.c15
-rw-r--r--os/hal/ports/STM32/LLD/OCTOSPIv1/hal_wspi_lld.c20
2 files changed, 25 insertions, 10 deletions
diff --git a/os/hal/lib/complex/serial_nor/devices/macronix_mx25/hal_flash_device.c b/os/hal/lib/complex/serial_nor/devices/macronix_mx25/hal_flash_device.c
index 44b1018cb..81a15f869 100644
--- a/os/hal/lib/complex/serial_nor/devices/macronix_mx25/hal_flash_device.c
+++ b/os/hal/lib/complex/serial_nor/devices/macronix_mx25/hal_flash_device.c
@@ -71,23 +71,26 @@ const wspi_command_t snor_memmap_read = {
.dummy = 8, /* Note, always 8 for this command. */
.cfg = WSPI_CFG_CMD_MODE_ONE_LINE |
WSPI_CFG_ADDR_MODE_ONE_LINE |
+ WSPI_CFG_ALT_MODE_NONE |
WSPI_CFG_DATA_MODE_ONE_LINE |
WSPI_CFG_CMD_SIZE_8 |
WSPI_CFG_ADDR_SIZE_32
#elif MX25_BUS_MODE == MX25_BUS_MODE_OPI_STR
.cmd = MX25_CMD_OPI_8READ,
.dummy = MX25_READ_DUMMY_CYCLES,
- .cfg = WSPI_CFG_CMD_MODE_TWO_LINES |
- WSPI_CFG_ADDR_MODE_TWO_LINES |
- WSPI_CFG_DATA_MODE_TWO_LINES |
+ .cfg = WSPI_CFG_CMD_MODE_EIGHT_LINES |
+ WSPI_CFG_ADDR_MODE_EIGHT_LINES |
+ WSPI_CFG_ALT_MODE_NONE |
+ WSPI_CFG_DATA_MODE_EIGHT_LINES |
WSPI_CFG_CMD_SIZE_16 |
WSPI_CFG_ADDR_SIZE_32
#elif MX25_BUS_MODE == MX25_BUS_MODE_OPI_DTR
.cmd = MX25_CMD_OPI_8DTRD,
.dummy = MX25_READ_DUMMY_CYCLES,
- .cfg = WSPI_CFG_CMD_MODE_FOUR_LINES |
- WSPI_CFG_ADDR_MODE_FOUR_LINES |
- WSPI_CFG_DATA_MODE_FOUR_LINES |
+ .cfg = WSPI_CFG_CMD_MODE_EIGHT_LINES |
+ WSPI_CFG_ADDR_MODE_EIGHT_LINES |
+ WSPI_CFG_ALT_MODE_NONE |
+ WSPI_CFG_DATA_MODE_EIGHT_LINES |
WSPI_CFG_CMD_SIZE_16 |
WSPI_CFG_ADDR_SIZE_32 |
WSPI_CFG_CMD_DTR |
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 dc6c77eca..1b5088dc8 100644
--- a/os/hal/ports/STM32/LLD/OCTOSPIv1/hal_wspi_lld.c
+++ b/os/hal/ports/STM32/LLD/OCTOSPIv1/hal_wspi_lld.c
@@ -399,19 +399,31 @@ void wspi_lld_map_flash(WSPIDriver *wspip,
/* Starting memory mapped mode using the passed parameters.*/
wspip->ospi->CR = (wspip->ospi->CR & ~OCTOSPI_CR_FMODE) |
(OCTOSPI_CR_FMODE_1 | OCTOSPI_CR_FMODE_0);
- wspip->ospi->DLR = 0U;
wspip->ospi->TCR = cmdp->dummy;
wspip->ospi->CCR = cmdp->cfg;
- wspip->ospi->ABR = 0U;
wspip->ospi->IR = cmdp->cmd;
+ wspip->ospi->ABR = 0U;
wspip->ospi->AR = 0U;
+ wspip->ospi->WTCR = 0U;
wspip->ospi->WCCR = 0U;
wspip->ospi->WIR = 0U;
+ wspip->ospi->WABR = 0U;
/* Mapped flash absolute base address.*/
- if (addrp != NULL) {
- *addrp = (uint8_t *)0x90000000;
+#if STM32_WSPI_USE_OCTOSPI1
+ if (&WSPID1 == wspip) {
+ if (addrp != NULL) {
+ *addrp = (uint8_t *)0x90000000U;
+ }
}
+#endif
+#if STM32_WSPI_USE_OCTOSPI2
+ if (&WSPID2 == wspip) {
+ if (addrp != NULL) {
+ *addrp = (uint8_t *)0x70000000U;
+ }
+ }
+#endif
}
/**