Skip to content

Commit

Permalink
drivers: flash: stm32 ospi: early init exit for memap mode
Browse files Browse the repository at this point in the history
Exit the init earlier when OSPI is in memory map mode.

Avoid unnecessary checks and prevent pin reconfiguration
that might cause line spikes.

Signed-off-by: Georgij Cernysiov <[email protected]>
  • Loading branch information
GeorgeCGV committed Nov 26, 2024
1 parent 2bc7b07 commit 33c3a60
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions drivers/flash/flash_stm32_ospi.c
Original file line number Diff line number Diff line change
Expand Up @@ -2103,6 +2103,16 @@ static int flash_stm32_ospi_init(const struct device *dev)
uint32_t prescaler = STM32_OSPI_CLOCK_PRESCALER_MIN;
int ret;

#ifdef CONFIG_STM32_MEMMAP
/* If MemoryMapped then configure skip init */
if (stm32_ospi_is_memorymap(dev)) {
LOG_DBG("NOR init'd in MemMapped mode\n");
/* Force HAL instance in correct state */
dev_data->hospi.State = HAL_OSPI_STATE_BUSY_MEM_MAPPED;
return 0;
}
#endif /* CONFIG_STM32_MEMMAP */

/* The SPI/DTR is not a valid config of data_mode/data_rate according to the DTS */
if ((dev_cfg->data_mode != OSPI_OPI_MODE)
&& (dev_cfg->data_rate == OSPI_DTR_TRANSFER)) {
Expand All @@ -2123,16 +2133,6 @@ static int flash_stm32_ospi_init(const struct device *dev)
return -ENODEV;
}

#ifdef CONFIG_STM32_MEMMAP
/* If MemoryMapped then configure skip init */
if (stm32_ospi_is_memorymap(dev)) {
LOG_DBG("NOR init'd in MemMapped mode\n");
/* Force HAL instance in correct state */
dev_data->hospi.State = HAL_OSPI_STATE_BUSY_MEM_MAPPED;
return 0;
}
#endif /* CONFIG_STM32_MEMMAP */

#if STM32_OSPI_USE_DMA
/*
* DMA configuration
Expand Down

0 comments on commit 33c3a60

Please sign in to comment.