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

if BOARD_MUSCA_B1

config BOARD
	default "musca_b1" if TRUSTED_EXECUTION_SECURE || !TRUSTED_EXECUTION_NONSECURE
	default "musca_b1_nonsecure"

if GPIO

config GPIO_CMSDK_AHB
	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 IPM

config IPM_MHU
	default y

endif # IPM

endif
