# Copyright (c) 2022 Google Inc
# SPDX-License-Identifier: Apache-2.0

CONFIG_SOC_SERIES_STM32F4X=y
CONFIG_SOC_STM32F412CX=y
CONFIG_BOARD_GOOGLE_DRAGONCLAW=y

# Serial Drivers
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y

# Console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# GPIO Controller
CONFIG_GPIO=y

# Clock Controller
CONFIG_CLOCK_CONTROL=y

# Pin Controller
CONFIG_PINCTRL=y

# Enable MPU and HW stack protection
CONFIG_ARM_MPU=y
CONFIG_HW_STACK_PROTECTION=y
