# ST Microelectronics STM32 MCUs Flash driver config
# Copyright (c) 2016 RnDity Sp. z o.o.
# Copyright (c) 2017 BayLibre, SAS
# SPDX-License-Identifier: Apache-2.0
DT_COMPAT_ST_STM32_FLASH_CONTROLLER := st,stm32-flash-controller
DT_COMPAT_ST_STM32H7_FLASH_CONTROLLER := st,stm32h7-flash-controller
config SOC_FLASH_STM32
bool "STM32 flash driver"
depends on SOC_FAMILY_STM32
depends on $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_FLASH_CONTROLLER)) || \
$(dt_compat_enabled,$(DT_COMPAT_ST_STM32H7_FLASH_CONTROLLER))
select FLASH_HAS_DRIVER_ENABLED
default y
select SOC_FLASH_STM32_V1 if SOC_SERIES_STM32F0X
select SOC_FLASH_STM32_V1 if SOC_SERIES_STM32F1X
select SOC_FLASH_STM32_V1 if SOC_SERIES_STM32F3X
select SOC_FLASH_STM32_V1 if SOC_SERIES_STM32L0X
select SOC_FLASH_STM32_V1 if SOC_SERIES_STM32L1X
select FLASH_PAGE_LAYOUT if SOC_SERIES_STM32G0X
select FLASH_PAGE_LAYOUT if SOC_SERIES_STM32F2X
select FLASH_PAGE_LAYOUT if SOC_SERIES_STM32F4X
select FLASH_PAGE_LAYOUT if SOC_SERIES_STM32F7X
select FLASH_PAGE_LAYOUT if SOC_SERIES_STM32L4X
select FLASH_PAGE_LAYOUT if SOC_SERIES_STM32L5X
select FLASH_PAGE_LAYOUT if SOC_SERIES_STM32U5X
select FLASH_PAGE_LAYOUT if SOC_SERIES_STM32WBX
select FLASH_PAGE_LAYOUT if SOC_SERIES_STM32WLX
select FLASH_PAGE_LAYOUT if SOC_SERIES_STM32G4X
select FLASH_PAGE_LAYOUT if SOC_SERIES_STM32H7X
select FLASH_HAS_PAGE_LAYOUT if SOC_SERIES_STM32G0X
select FLASH_HAS_PAGE_LAYOUT if SOC_SERIES_STM32F2X
select FLASH_HAS_PAGE_LAYOUT if SOC_SERIES_STM32F4X
select FLASH_HAS_PAGE_LAYOUT if SOC_SERIES_STM32F7X
select FLASH_HAS_PAGE_LAYOUT if SOC_SERIES_STM32L4X
select FLASH_HAS_PAGE_LAYOUT if SOC_SERIES_STM32L5X
select FLASH_HAS_PAGE_LAYOUT if SOC_SERIES_STM32U5X
select FLASH_HAS_PAGE_LAYOUT if SOC_SERIES_STM32WBX
select FLASH_HAS_PAGE_LAYOUT if SOC_SERIES_STM32WLX
select FLASH_HAS_PAGE_LAYOUT if SOC_SERIES_STM32G4X
select FLASH_HAS_PAGE_LAYOUT if SOC_SERIES_STM32H7X
select MPU_ALLOW_FLASH_WRITE if ARM_MPU
help
Enable STM32F0x, STM32F1x, STM32F2x, STM32F3x, STM32F4x, STM32F7x,
STM32L0x, STM32L1x, STM32L4x, STM32L5x, STM32U5x, STM32WBx, STM32WLx, STM32G0x,
STM32G4x or STM3H7x series flash driver.
config SOC_FLASH_STM32_V1
bool
select FLASH_PAGE_LAYOUT
select FLASH_HAS_PAGE_LAYOUT
help
Enable the generic backend for the STM32 flash driver.