drivers: kscan: Add driver for Microchip XEC family

Add the Keyboard Scan matrix driver for XEC

Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
This commit is contained in:
Francisco Munoz 2019-09-30 17:35:42 -07:00 committed by Andrew Boie
commit 0d85074d9a
3 changed files with 461 additions and 0 deletions

49
drivers/kscan/Kconfig.xec Normal file
View file

@ -0,0 +1,49 @@
# Kconfig.xec - Microchip XEC Keyboard Scan Matrix configuration options
#
# Copyright (c) 2019 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
menuconfig KSCAN_XEC
bool "XEC Microchip KSCAN driver"
depends on SOC_FAMILY_MEC
select MULTITHREADING
help
Enable the Microchip XEC Kscan IO driver.
if KSCAN_XEC
config KSCAN_XEC_COLUMN_SIZE
int "KSCAN_XEC_COLUMN_SIZE"
default 16
help
Adjust the value to your keyboard columns. The maximum
colum size for the Microchip XEC family is 18 (from 0 to 17).
config KSCAN_XEC_ROW_SIZE
int "KSCAN_XEC_ROW_SIZE"
default 8
help
Adjust the value to your keyboard rows. The maximum
colum size for the Microchip XEC family is 8 (from 0 to 7).
config KSCAN_XEC_DEBOUNCE_DOWN
int "KSCAN_XEC_DEBOUNCE_DOWN"
default 10
help
Determines the time in msecs for debouncing a key press.
config KSCAN_XEC_DEBOUNCE_UP
int "KSCAN_XEC_DEBOUNCE_UP"
default 20
help
Determines the time in msecs for debouncing a key release.
config KSCAN_XEC_POLL_PERIOD
int "KSCAN_XEC_POLL_PERIOD"
default 5
help
Defines the poll period in msecs between between matrix scans.
endif #KSCAN_XEC