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

if BOARD_MPS2_AN521

if !TRUSTED_EXECUTION_NONSECURE

config BOARD
	default "mps2_an521"

endif

if TRUSTED_EXECUTION_NONSECURE

config BOARD
	default "mps2_an521_nonsecure"

endif # !TRUSTED_EXECUTION_NONSECURE

if GPIO

config GPIO_CMSDK_AHB
	default y

config GPIO_CMSDK_AHB_PORT0
	default y

config GPIO_CMSDK_AHB_PORT1
	default y

config GPIO_CMSDK_AHB_PORT2
	default y

config GPIO_CMSDK_AHB_PORT3
	default y

endif # GPIO

if SERIAL

config UART_CMSDK_APB
	default y

config UART_INTERRUPT_DRIVEN
	default y

endif # SERIAL

if WATCHDOG

config WDOG_CMSDK_APB
	default y

endif # WATCHDOG

if I2C

config I2C_SBCON
	default y

endif # I2C

endif
