zephyr/drivers/input/Kconfig.npcx
Fabio Baltieri d3d484c473 input: add some initial keyboard matrix library stubs
We currently have three keyboard scanning drivers in the code base
(npcx, it8xxx2 and mchp_xec, last two yet to be converted to input).
These have been largely copy pasted from each other and share a lot of
the same structure and code.

This PR lays a foundation to start decoupling feature from those drivers
into a common code base, and it is heavily inspired by the current
regulator common data/config one.

Feature wise this only moves the thread struct, stack and initialization
to the common code and declares the thread callback as the only API, but
the intent is to move as much code as possible in there an only abstract
device specific callbacks in the api structures.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-31 09:00:27 +01:00

39 lines
1 KiB
Plaintext

# NPCX Keyboard scan driver configuration options
# Copyright (c) 2022 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
menuconfig 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 MULTITHREADING
help
This option enables the keyboard scan driver for NPCX family of
processors.
if INPUT_NPCX_KBD
config INPUT_NPCX_KBD_POLL_PERIOD_MS
int "Keyscan NPCX Poll Period"
default 5
help
Defines the poll period in msecs between between matrix scans.
config INPUT_NPCX_KBD_KSO_HIGH_DRIVE
bool "Select quasi-bidirectional buffers for KSO pins"
default y
help
Select quasi-bidirectional buffers for KSO pins to reduce the
low-to-high transition time.
config INPUT_NPCX_KBD_POLL_COL_OUTPUT_SETTLE_TIME_US
int "keyboard matrix poll column output settle time"
default 50
help
Delay (us) between setting column output and waiting for it
to settle
endif # INPUT_NPCX_KBD