#
# Copyright (c) 2020 Erik Larson
# Copyright (c) 2020 Jason Kridner, BeagleBoard.org Foundation
#
# SPDX-License-Identifier: Apache-2.0
#

CONFIG_GPIO=y
CONFIG_PINCTRL=y

CONFIG_BUILD_OUTPUT_HEX=y
# custom callback for the antenna switch
CONFIG_CC13X2_CC26X2_HAS_CUSTOM_RF_HWATTRS=y
CONFIG_CC13X2_CC26X2_BOOTLOADER_ENABLE=y
CONFIG_CC13X2_CC26X2_BOOTLOADER_BACKDOOR_ENABLE=y
CONFIG_CC13X2_CC26X2_BOOTLOADER_BACKDOOR_PIN=15
# Enable MPU and hardware stack protection
CONFIG_ARM_MPU=y
CONFIG_HW_STACK_PROTECTION=y

# Enable default uart console
CONFIG_SERIAL=y
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# Adjust for oscillator capacitors
CONFIG_CC13X2_CC26X2_XOSC_CAPARRAY_DELTA=0x02
