# Microchip XEC ESPI configuration options

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

config ESPI_XEC
	bool "XEC Microchip ESPI driver"
	depends on SOC_FAMILY_MEC
	help
	  Enable the Microchip XEC ESPI driver.

if ESPI_XEC

config ESPI_OOB_CHANNEL
	default y

config ESPI_FLASH_CHANNEL
	default y

config ESPI_PERIPHERAL_HOST_IO
	default  y

config ESPI_PERIPHERAL_HOST_IO_PVT
	default  y

config ESPI_PERIPHERAL_DEBUG_PORT_80
	default y

config ESPI_PERIPHERAL_UART
	default y

config ESPI_PERIPHERAL_UART_SOC_MAPPING
	int "SoC port exposed as logical eSPI UART"
	default 2
	depends on ESPI_PERIPHERAL_UART
	help
	  This tells the driver to which SoC UART to direct the UART traffic
	  send over eSPI from host.

endif #ESPI_XEC
