# Copyright (c) 2022 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52805_CAAA=y
CONFIG_BOARD_WE_OPHELIA1EV_NRF52805=y

# Enable MPU
CONFIG_ARM_MPU=y

# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y

# Enable GPIO
CONFIG_GPIO=y

# Enable UART driver
CONFIG_SERIAL=y

# Enable console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# Additional board options
CONFIG_GPIO_AS_PINRESET=y

# Use internal oscillator
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y

CONFIG_PINCTRL=y
