#
# Copyright (c) 2019 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
if BOARD_MEC15XXEVB_ASSY6853

config BOARD
	default "mec15xxevb_assy6853"

if UART_NS16550

config UART_NS16550_PORT_2
	def_bool y if UART_CONSOLE

endif

if PINMUX_XEC

config PINMUX_XEC_GPIO000_036
	default y

config PINMUX_XEC_GPIO040_076
	default y

config PINMUX_XEC_GPIO100_136
	default y

config PINMUX_XEC_GPIO140_176
	default y

config PINMUX_XEC_GPIO200_236
	default n

config PINMUX_XEC_GPIO240_276
	default n

endif # PINMUX_XEC

if GPIO_XEC

config GPIO_XEC_GPIO000_036
	default y

config GPIO_XEC_GPIO040_076
	default y

config GPIO_XEC_GPIO100_136
	default y

config GPIO_XEC_GPIO140_176
	default y

config GPIO_XEC_GPIO200_236
	default y

config GPIO_XEC_GPIO240_276
	default y

endif # GPIO_XEC

if I2C_XEC

config I2C_XEC_0
	default y

config I2C_XEC_1
	default y

config I2C_XEC_2
	default y

endif # I2C

if ESPI

config ESPI_XEC
	default y

endif # ESPI

if RTOS_TIMER

config MCHP_XEC_RTOS_TIMER
	bool
	default y

# XEC RTOS timer HW frequency is fixed at 32768
# The driver requires tickless mode and ticks per
# second to be 32768 for accurate operation.

config SYS_CLOCK_HW_CYCLES_PER_SEC
	default 32768

config SYS_CLOCK_TICKS_PER_SEC
	default 32768

config ARCH_HAS_CUSTOM_BUSY_WAIT
	default y

endif # RTOS_TIMER

if !RTOS_TIMER

config CORTEX_M_SYSTICK
	default y

config SYS_CLOCK_HW_CYCLES_PER_SEC
	default 48000000

config SYS_CLOCK_TICKS_PER_SEC
	default 1000

endif # RTOS_TIMER

endif # BOARD_MEC15XXEVB_ASSY6853
