# Copyright (c) Charles Dias <charlesdias.cd@outlook.com>
# SPDX-License-Identifier: Apache-2.0

# Enable MPU
CONFIG_ARM_MPU=y

# Enable HW stack protection
CONFIG_HW_STACK_PROTECTION=y

# Enable UART driver
CONFIG_SERIAL=y

# Enable console
CONFIG_CONSOLE=y

# Enable GPIO
CONFIG_GPIO=y

# Enable clocks
CONFIG_CLOCK_CONTROL=y

# Enable pin controller
CONFIG_PINCTRL=y

# Logger cannot use itself to log
CONFIG_USB_CDC_ACM_LOG_LEVEL_OFF=y

# Enable USB
CONFIG_USB_DEVICE_STACK=y
