# Copyright (c) 2023 Joel Guittet
# Copyright (c) 2024 Gerson Fernando Budke <nandojve@gmail.com>
# SPDX-License-Identifier: Apache-2.0

CONFIG_SOC_ATMEL_SAMD5X_XOSC32K=y
CONFIG_SOC_ATMEL_SAMD5X_XOSC32K_AS_MAIN=y

CONFIG_ARM_MPU=y
CONFIG_CORTEX_M_SYSTICK=y
CONFIG_HW_STACK_PROTECTION=y
CONFIG_REGULATOR=y

# BOSSA bootloader
CONFIG_BOOTLOADER_BOSSA=y
CONFIG_BOOTLOADER_BOSSA_ADAFRUIT_UF2=y
CONFIG_BUILD_OUTPUT_UF2=y

# Console over USB CDC-ACM
CONFIG_SERIAL=y
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_USB_DEVICE_STACK=y
CONFIG_USB_DEVICE_INITIALIZE_AT_BOOT=y
CONFIG_USB_DEVICE_VID=0x2886
CONFIG_USB_DEVICE_PID=0x802D
CONFIG_USB_DEVICE_MANUFACTURER="Seeed Studio"
CONFIG_USB_DEVICE_PRODUCT="Wio Terminal"
CONFIG_USB_CDC_ACM_LOG_LEVEL_OFF=y
