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