# ST Microelectronics STM32WBA MCU line

# Copyright (c) 2023 STMicroelectronics
# SPDX-License-Identifier: Apache-2.0

if SOC_SERIES_STM32WBAX

rsource "Kconfig.defconfig.stm32wba*"

config STM32_LPTIM_TIMER
	default y if PM

choice BT_HCI_BUS_TYPE
	default BT_STM32WBA
	depends on BT
endchoice

config BT_STM32WBA
	select DYNAMIC_INTERRUPTS
	select DYNAMIC_DIRECT_INTERRUPTS
	select ENTROPY_GENERATOR
	select USE_STM32_HAL_RAMCFG

if BT_STM32WBA

choice LIBC_IMPLEMENTATION
	default NEWLIB_LIBC
endchoice

choice LINKER_ORPHAN_CONFIGURATION
	default LINKER_ORPHAN_SECTION_PLACE
endchoice

config ENTROPY_STM32_CLK_CHECK
	default n

endif

if PM_S2RAM

config COUNTER
	default y

config COUNTER_RTC_STM32_SUBSECONDS
	default y

config STM32_LPTIM_STDBY_TIMER
	default y

config TICKLESS_KERNEL
	default y

config COUNTER_RTC_STM32_SAVE_VALUE_BETWEEN_RESETS
	default y

config IDLE_STACK_SIZE
	default 512

endif

endif # SOC_SERIES_STM32WBAX
