# Copyright (c) 2022 Benjamin Björnsson <benjamin.bjornsson@gmail.com>.
# SPDX-License-Identifier: Apache-2.0

# Enable the internal SMPS regulator
CONFIG_POWER_SUPPLY_DIRECT_SMPS=y

# Enable GPIO
CONFIG_GPIO=y

# Enable clocks
CONFIG_CLOCK_CONTROL=y

# Enable MPU
CONFIG_ARM_MPU=y

# Enable HW stack protection
CONFIG_HW_STACK_PROTECTION=y

# enable pin controller
CONFIG_PINCTRL=y

# Use zephyr,code-partition as flash offset
CONFIG_USE_DT_CODE_PARTITION=y

# Disable following to assign serial ports to m4 core

# Enable uart driver
CONFIG_SERIAL=y

# Enable console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# Enable regulator
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED=y
