# Copyright (c) 2016 Nordic Semiconductor ASA

# SPDX-License-Identifier: Apache-2.0

CONFIG_SOC_SERIES_NRF52X=y
CONFIG_SOC_NRF52811_QFAA=y
CONFIG_BOARD_NRF52840DK_NRF52811=y

# Enable MPU
CONFIG_ARM_MPU=y

# Enable hardware stack protection
CONFIG_HW_STACK_PROTECTION=y

# Enable UART
CONFIG_SERIAL=y

# enable console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# enable GPIO
CONFIG_GPIO=y

# additional board options
CONFIG_GPIO_AS_PINRESET=y

# Bluetooth not enabled by default on nRF52811 due to RAM limitations when
# running the default set of kernel tests.
# Enable this on your prj.conf to include Bluetooth support

CONFIG_PINCTRL=y
