Linux Audio

Check our new training course

Loading...
# 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.