# Copyright (c) 2022 Keiya Nobuta
# SPDX-License-Identifier: Apache-2.0

menuconfig INPUT_CAP1203
	bool "CAP1203 3-cannel capacitive touch sensor driver"
	default y
	depends on DT_HAS_MICROCHIP_CAP1203_ENABLED
	select I2C
	help
	  Enable driver for microchip CAP1203 3-cannel capacitive
	  touch sensor.

if INPUT_CAP1203

config INPUT_CAP1203_POLL
	bool "Polling"
	help
	  Enable polling mode when interrupt GPIO is not specified.

config INPUT_CAP1203_PERIOD
	int "Sample period"
	depends on INPUT_CAP1203_POLL
	default 10
	help
	  Sample period in milliseconds when in polling mode.

endif # INPUT_CAP1203
