# Kconfig - 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
#

if SOC_FAMILY_STM32

menuconfig SOC_FLASH_STM32
	bool "STM32 flash driver"
	depends on (SOC_SERIES_STM32F0X || SOC_SERIES_STM32F3X || SOC_SERIES_STM32F4X || SOC_SERIES_STM32F7X || SOC_SERIES_STM32L4X || SOC_SERIES_STM32WBX || SOC_SERIES_STM32G0X || SOC_SERIES_STM32G4X)
	select FLASH_HAS_DRIVER_ENABLED
	default y
	select FLASH_PAGE_LAYOUT if SOC_SERIES_STM32F0X
	select FLASH_PAGE_LAYOUT if SOC_SERIES_STM32F3X
	select FLASH_PAGE_LAYOUT if SOC_SERIES_STM32G0X
	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_STM32WBX
	select FLASH_PAGE_LAYOUT if SOC_SERIES_STM32G4X
	select FLASH_HAS_PAGE_LAYOUT if SOC_SERIES_STM32F0X
	select FLASH_HAS_PAGE_LAYOUT if SOC_SERIES_STM32F3X
	select FLASH_HAS_PAGE_LAYOUT if SOC_SERIES_STM32G0X
	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_STM32WBX
	select FLASH_HAS_PAGE_LAYOUT if SOC_SERIES_STM32G4X
	help
	 Enable STM32F0x, STM32F3x, STM32F4x, STM32F7x, STM32L4x, STM32WBx, STM32G0x or STM32G4x series flash driver.

endif
