| # ST Microelectronics STM32 MCUs Flash driver config |
| |
| # Copyright (c) 2016 RnDity Sp. z o.o. |
| # Copyright (c) 2017 BayLibre, SAS |
| # Copyright (c) 2022 Linaro Limited |
| # Copyright (c) 2023 Google Inc |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| config STM32_MEMMAP |
| bool "NOR Flash in MemoryMapped for XiP" |
| depends on XIP && \ |
| (DT_HAS_ST_STM32_OSPI_NOR_ENABLED || \ |
| DT_HAS_ST_STM32_QSPI_NOR_ENABLED || \ |
| DT_HAS_ST_STM32_XSPI_NOR_ENABLED) |
| help |
| This option enables the XIP mode for the external NOR flash |
| mounted on STM32 boards. |
| |
| menuconfig SOC_FLASH_STM32 |
| bool "STM32 flash driver" |
| depends on DT_HAS_ST_STM32_FLASH_CONTROLLER_ENABLED |
| select FLASH_HAS_DRIVER_ENABLED |
| default y |
| select FLASH_HAS_PAGE_LAYOUT |
| select FLASH_HAS_EXPLICIT_ERASE |
| select MPU_ALLOW_FLASH_WRITE if ARM_MPU |
| select USE_STM32_HAL_FLASH if BT_STM32WBA |
| select USE_STM32_HAL_FLASH_EX if BT_STM32WBA |
| help |
| Enable flash driver for STM32 series |
| |
| if SOC_FLASH_STM32 |
| |
| config FLASH_STM32_WRITE_PROTECT |
| bool "Extended operation for flash write protection control" |
| depends on SOC_SERIES_STM32F4X |
| select FLASH_HAS_EX_OP |
| default n |
| help |
| Enables flash extended operation for enabling/disabling flash write |
| protection. |
| |
| config FLASH_STM32_WRITE_PROTECT_DISABLE_PREVENTION |
| bool "Prevent from disabling flash write protection" |
| depends on FLASH_STM32_WRITE_PROTECT |
| default n |
| help |
| If enabled, all requests to disable flash write protection will be |
| blocked. |
| |
| config FLASH_STM32_READOUT_PROTECTION |
| bool "Extended operation for flash readout protection control" |
| depends on SOC_SERIES_STM32F4X || SOC_SERIES_STM32L4X || \ |
| SOC_SERIES_STM32G4X || SOC_SERIES_STM32F7X |
| select FLASH_HAS_EX_OP |
| default n |
| help |
| Enables flash extended operation for enabling/disabling flash readout |
| protection. |
| |
| config FLASH_STM32_READOUT_PROTECTION_DISABLE_ALLOW |
| bool "Allow disabling readout protection" |
| depends on FLASH_STM32_READOUT_PROTECTION |
| default n |
| help |
| With this option enabled it will be possible to disable readout |
| protection. On STM32 devices it will trigger flash mass erase! |
| |
| config FLASH_STM32_READOUT_PROTECTION_PERMANENT_ALLOW |
| bool "Allow enabling readout protection permanently" |
| depends on FLASH_STM32_READOUT_PROTECTION |
| default n |
| help |
| With this option enabled it will be possible to enable readout |
| protection permanently. |
| |
| config FLASH_STM32_BLOCK_REGISTERS |
| bool "Extended operation for blocking option and control registers" |
| select FLASH_HAS_EX_OP |
| default n |
| help |
| Enables flash extended operations that can be used to disable access |
| to option and control registers until reset. Disabling access to these |
| registers improves system security, because flash content (or |
| protection settings) can't be changed even when exploit was found. |
| |
| config USE_MICROCHIP_QSPI_FLASH_WITH_STM32 |
| bool "Include patch for Microchip qspi flash when running with stm32" |
| depends on DT_HAS_ST_STM32_QSPI_NOR_ENABLED |
| help |
| Set to use Microchip qspi flash memories which supports |
| the Global Block Protection Unlock instruction (ULBPR - 98H), |
| and write with SPI_NOR_CMD_PP_1_1_4 on 4 lines |
| |
| endif # SOC_FLASH_STM32 |