# defconfig - ARM V2M Beetle Board configuration options

#
# Copyright (c) 2016 Linaro Limited
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

CONFIG_ARM=y
CONFIG_SOC_FAMILY_ARM=y
CONFIG_SOC_BEETLE_R0=y
CONFIG_SOC_SERIES_BEETLE=y
CONFIG_BOARD_V2M_BEETLE=y
CONFIG_CORTEX_M_SYSTICK=y
# 24MHz system clock
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=24000000

# GPIOs
CONFIG_GPIO=y

# PinMuxing
CONFIG_PINMUX=y

# Serial
CONFIG_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_UART_CONSOLE=y
CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_1"
