1# Copyright (c) 2019 Henrik Brix Andersen <henrik@brixandersen.dk>
2# SPDX-License-Identifier: Apache-2.0
3
4menuconfig HT16K33
5	bool "HT16K33 LED driver"
6	depends on I2C
7	help
8	  Enable LED driver for HT16K33.
9
10	  The HT16K33 is a memory mapping, multifunction LED
11	  controller driver. The controller supports up to 128 LEDs
12	  (up to 16 rows and 8 commons).
13
14config HT16K33_KEYSCAN
15	bool "Enable keyscan support"
16	depends on (HT16K33 && KSCAN)
17	select KSCAN_HT16K33
18	help
19	  Enable keyscan child device support in the HT16K33 LED
20	  driver.
21
22	  The keyscan functionality itself is handled by the
23	  HT16K33 keyscan driver.
24
25if HT16K33_KEYSCAN
26
27config HT16K33_KEYSCAN_IRQ_THREAD_STACK_SIZE
28	int "Stack size for keyscan interrupt request handler thread"
29	default 400
30	help
31	  Size of the stack used for internal thread for keyscan
32	  interrupt processing.
33
34config HT16K33_KEYSCAN_IRQ_THREAD_PRIO
35	int "Priority for keyscan interrupt request handler thread"
36	default 2
37	help
38	  Priority level for internal thread for keyscan interrupt
39	  processing.
40
41config HT16K33_KEYSCAN_DEBOUNCE_MSEC
42	int "Keyscan debounce interval in milliseconds"
43	default 50
44	range 20 1000
45	help
46	  Keyscan debounce interval in milliseconds.
47
48config HT16K33_KEYSCAN_POLL_MSEC
49	int "Keyscan poll interval in milliseconds"
50	default 200
51	range 20 10000
52	help
53	  Keyscan poll interval in milliseconds. Polling is only used
54	  if no interrupt line is present.
55
56endif # HT16K33_KEYSCAN
57