# Copyright (c) 2019 Gerson Fernando Budke
# Copyright (c) 2019 Benjamin Valentin
# SPDX-License-Identifier: Apache-2.0
CONFIG_SOC_SERIES_SAMR21=y
CONFIG_SOC_PART_NUMBER_SAMR21G18A=y
CONFIG_BOARD_ATSAMR21_XPRO=y
CONFIG_BUILD_OUTPUT_HEX=y
CONFIG_CORTEX_M_SYSTICK=y
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_UART_SAM0=y
CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_GPIO=y
CONFIG_GPIO_SAM0=y
CONFIG_WATCHDOG=y
CONFIG_WDT_SAM0=y
CONFIG_SOC_ATMEL_SAMD_XOSC32K=y
CONFIG_SOC_ATMEL_SAMD_XOSC32K_AS_MAIN=y
