#
# Copyright (c) 2018 Linaro Limited
#
# SPDX-License-Identifier: Apache-2.0
#

if BOARD_MUSCA_A

if TRUSTED_EXECUTION_SECURE || !TRUSTED_EXECUTION_NONSECURE

config BOARD
	default "musca_a"

endif

if TRUSTED_EXECUTION_NONSECURE

config BOARD
	default "musca_a_nonsecure"

endif


if GPIO

config GPIO_CMSDK_AHB
	default y

config GPIO_CMSDK_AHB_PORT0
	default y

endif

if SERIAL

config UART_PL011
	default y

config UART_INTERRUPT_DRIVEN
	default y

config UART_PL011_PORT0
	default y

config UART_PL011_PORT1
	default y

endif # SERIAL

if COUNTER

config TIMER_TMR_CMSDK_APB
	default y

config TIMER_DTMR_CMSDK_APB
	default y

endif # COUNTER

endif
