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 && INPUT)
19	help
20	  Enable keyscan child device support in the HT16K33 LED
21	  driver.
22
23	  The keyscan functionality itself is handled by the
24	  HT16K33 keyscan driver.
25
26if HT16K33_KEYSCAN
27
28config HT16K33_KEYSCAN_IRQ_THREAD_STACK_SIZE
29	int "Stack size for keyscan interrupt request handler thread"
30	default 400
31	help
32	  Size of the stack used for internal thread for keyscan
33	  interrupt processing.
34
35config HT16K33_KEYSCAN_IRQ_THREAD_PRIO
36	int "Priority for keyscan interrupt request handler thread"
37	default 2
38	help
39	  Priority level for internal thread for keyscan interrupt
40	  processing.
41
42config HT16K33_KEYSCAN_DEBOUNCE_MSEC
43	int "Keyscan debounce interval in milliseconds"
44	default 50
45	range 20 1000
46	help
47	  Keyscan debounce interval in milliseconds.
48
49config HT16K33_KEYSCAN_POLL_MSEC
50	int "Keyscan poll interval in milliseconds"
51	default 200
52	range 20 10000
53	help
54	  Keyscan poll interval in milliseconds. Polling is only used
55	  if no interrupt line is present.
56
57endif # HT16K33_KEYSCAN
58