blob: 812e4fb1c889d3341aace80cd7ae8e5a75424c04 [file] [log] [blame]
# Copyright (c) 2024 STMicroelectronics
# SPDX-License-Identifier: Apache-2.0
config SOC_FAMILY_STM32
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
select STM32_ENABLE_DEBUG_SLEEP_STOP if DEBUG || ZTEST
select BUILD_OUTPUT_HEX
if SOC_FAMILY_STM32
rsource "*/Kconfig"
# STM32 wide symbols definitions
# Workaround for not being able to have commas in macro arguments
DT_CHOSEN_Z_CCM := zephyr,ccm
config STM32_CCM
def_bool $(dt_chosen_enabled,$(DT_CHOSEN_Z_CCM))
config USE_STM32_ASSERT
depends on ASSERT
bool "STM32Cube HAL and LL drivers asserts"
help
Enable asserts in STM32Cube HAL and LL drivers.
config STM32_BACKUP_SRAM
bool "STM32 Backup SRAM"
default y
depends on DT_HAS_ST_STM32_BACKUP_SRAM_ENABLED
help
Enable support for STM32 backup SRAM.
config STM32_BACKUP_SRAM_INIT_PRIORITY
int "STM32 Backup SRAM init priority"
default APPLICATION_INIT_PRIORITY
depends on STM32_BACKUP_SRAM
help
STM32 Backup SRAM device initialization priority.
config STM32_ENABLE_DEBUG_SLEEP_STOP
bool "Allow debugger attach in stop/sleep Mode"
help
Some STM32 parts disable the DBGMCU in sleep/stop modes because
of power consumption. As a side-effects this prevents
debuggers from attaching w/o resetting the target. This
effectively destroys the use-case of `west attach`. Also
SEGGER RTT and similar technologies need this.
config SWJ_ANALOG_PRIORITY
int "SWJ DP port to analog routine initialization priority"
default 49
help
Initialization priority of the routine within the PRE_KERNEL1 level.
This priority must be greater than GPIO_INIT_PRIORITY and lower than
UART_INIT_PRIORITY.
config HAS_STM32_FLASH_PREFETCH
bool
help
Hidden symbol selected by SoCs which support flash prefetch.
config STM32_FLASH_PREFETCH
bool "Flash prefetch buffer"
default y
depends on HAS_STM32_FLASH_PREFETCH
help
Enable flash prefetch. For power efficiency, it is recommended to
be enabled when flash is accessed through a cache memory. Flash
prefetch also improves performances a bit.
config STM32_WKUP_PINS
bool "STM32 PWR Wake-up Pins"
depends on DT_HAS_ST_STM32_PWR_ENABLED
help
Enable support for STM32 PWR wake-up pins.
choice POWER_SUPPLY_CHOICE
prompt "STM32 power supply configuration"
default POWER_SUPPLY_LDO
depends on SOC_SERIES_STM32H7X || SOC_SERIES_STM32H7RSX || \
SOC_SERIES_STM32U5X || SOC_STM32WBA55XX || SOC_STM32WBA65XX
config POWER_SUPPLY_LDO
bool "LDO supply"
config POWER_SUPPLY_DIRECT_SMPS
bool "Direct SMPS supply"
config POWER_SUPPLY_SMPS_1V8_SUPPLIES_LDO
bool "SMPS 1.8V supplies LDO (no external supply)"
depends on SOC_SERIES_STM32H7X || SOC_SERIES_STM32H7RSX
config POWER_SUPPLY_SMPS_2V5_SUPPLIES_LDO
bool "SMPS 2.5V supplies LDO (no external supply)"
depends on SOC_SERIES_STM32H7X || SOC_SERIES_STM32H7RSX
config POWER_SUPPLY_SMPS_1V8_SUPPLIES_EXT_AND_LDO
bool "External SMPS 1.8V supply, supplies LDO"
depends on SOC_SERIES_STM32H7X || SOC_SERIES_STM32H7RSX
config POWER_SUPPLY_SMPS_2V5_SUPPLIES_EXT_AND_LDO
bool "External SMPS 2.5V supply, supplies LDO"
depends on SOC_SERIES_STM32H7X || SOC_SERIES_STM32H7RSX
config POWER_SUPPLY_SMPS_1V8_SUPPLIES_EXT
bool "External SMPS 1.8V supply and bypass"
depends on SOC_SERIES_STM32H7X || SOC_SERIES_STM32H7RSX
config POWER_SUPPLY_SMPS_2V5_SUPPLIES_EXT
bool "External SMPS 2.5V supply and bypass"
depends on SOC_SERIES_STM32H7X || SOC_SERIES_STM32H7RSX
config POWER_SUPPLY_EXTERNAL_SOURCE
bool "Bypass"
depends on SOC_SERIES_STM32H7X || SOC_SERIES_STM32H7RSX
endchoice
config STM32_BACKUP_PROTECTION
bool "SoC has backup domain protection access"
help
Enabled for SoCs for which access protection to backup domain
resources needs to be explicitly handled.
config STM32_APP_IN_EXT_FLASH
bool
help
Allows the SoC clock driver to correctly initialize the
Q/O/XSPI controller clocks when the application is residing
in external Flash and is chainloaded with MCUboot.
Whether the app is eXecuted in Place (XiP) depends on the MCUboot mode used.
endif # SOC_FAMILY_STM32