# Microchip XEC PS2 configuration options

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

config PS2_XEC
	bool "XEC Microchip PS2 driver"
	depends on SOC_FAMILY_MICROCHIP_MEC && ESPI_PERIPHERAL_8042_KBC
	select PINCTRL
	help
	  Enable the Microchip XEC PS2 IO driver. The driver also
	  depends on the KBC 8042 keyboard controller. Note, MEC15xx
	  series has two controllers and MEC172x series has one.
