# SPDX-License-Identifier: Apache-2.0

if BOARD_EM_STARTERKIT

config BOARD
	default "em_starterkit"

config CPU_ARCEM4
	default y

if GPIO

config GPIO_DW
	default y

if GPIO_DW

config GPIO_DW_0
	default y

config GPIO_DW_1
	default y

config GPIO_DW_2
	default y

config GPIO_DW_3
	default y

endif # GPIO_DW

endif # GPIO

if I2C

config I2C_DW
	default y

if I2C_DW

config I2C_DW_CLOCK_SPEED
	default 100

config I2C_0
	default y

config I2C_1
	default y

endif # I2C_DW

endif # I2C

if SERIAL

config UART_NS16550
	default y

endif # SERIAL

if UART_CONSOLE

config UART_NS16550_PORT_1
	default y

endif # UART_CONSOLE

if SPI

config SPI_DW
	default y

if SPI_DW

config SPI_DW_FIFO_DEPTH
	default 32

config SPI_DW_ARC_AUX_REGS
	default n

config SPI_0
	default y

config SPI_1
	default y

endif # SPI_DW

endif # SPI

endif # BOARD_EM_STARTERKIT
