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

# Enable the internal SMPS regulator
CONFIG_POWER_SUPPLY_LDO=y

# Enable MPU
CONFIG_ARM_MPU=y

# Enable HW stack protection
CONFIG_HW_STACK_PROTECTION=y

CONFIG_SERIAL=y

# console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# enable GPIO
CONFIG_GPIO=y

# Enable Clocks
CONFIG_CLOCK_CONTROL=y

# enable pin controller
CONFIG_PINCTRL=y
