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

if BOARD_MPS2_AN385

config BOARD
	default "mps2_an385"

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 COUNTER

config TIMER_TMR_CMSDK_APB
	default y

config TIMER_DTMR_CMSDK_APB
	default y

endif # COUNTER

if I2C

config I2C_SBCON
	default y

endif # I2C

endif
