# NPCX Keyboard scan driver configuration options

# Copyright (c) 2022 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0

config INPUT_NPCX_KBD
	bool "Nuvoton NPCX embedded controller (EC) keyboard scan driver"
	default y
	depends on DT_HAS_NUVOTON_NPCX_KBD_ENABLED
	select INPUT_KBD_MATRIX
	select PINCTRL
	help
	  This option enables the keyboard scan driver for NPCX family of
	  processors.

config INPUT_NPCX_KBD_KSO_HIGH_DRIVE
	bool "Select quasi-bidirectional buffers for KSO pins"
	default y
	depends on INPUT_NPCX_KBD
	help
	  Select quasi-bidirectional buffers for KSO pins to reduce the
	  low-to-high transition time.
