1config INPUT
2	bool "Enable input subsystem"
3	depends on DM
4	default y
5
6config SPL_INPUT
7	bool "Enable input subsystem for SPL"
8	depends on SPL_DM
9
10config TPL_INPUT
11	bool "Enable input subsystem for TPL"
12	depends on TPL_DM
13
14config DM_KEYBOARD
15	bool "Enable driver model keyboard support"
16	depends on DM
17	help
18	  This adds a uclass for keyboards and implements keyboard support
19	  using driver model. The API is implemented by keyboard.h and
20	  includes methods to start/stop the device, check for available
21	  input and update LEDs if the keyboard has them.
22
23config SPL_DM_KEYBOARD
24	bool "Enable driver model keyboard support for SPL"
25	depends on SPL_DM
26	help
27	  This adds a uclass for keyboards and implements keyboard support
28	  using driver model. The API is implemented by keyboard.h and
29	  includes methods to start/stop the device, check for available
30	  input and update LEDs if the keyboard has them.
31
32config TPL_DM_KEYBOARD
33	bool "Enable driver model keyboard support for TPL"
34	depends on TPL_DM
35	help
36	  This adds a uclass for keyboards and implements keyboard support
37	  using driver model. The API is implemented by keyboard.h and
38	  includes methods to start/stop the device, check for available
39	  input and update LEDs if the keyboard has them.
40
41config APPLE_SPI_KEYB
42	bool "Enable Apple SPI keyboard support"
43	depends on DM_KEYBOARD && DM_SPI
44	help
45	  This adds a driver for the keyboards found on various
46	  laptops based on Apple SoCs. These keyboards use an
47	  Apple-specific HID-over-SPI protocol.
48
49config BUTTON_KEYBOARD
50	bool "Buttons as keyboard"
51	depends on DM_KEYBOARD
52	select BUTTON_GPIO
53	help
54	  Enable support for mapping buttons to keycode events. Use linux,code button driver
55	  dt node to define button-event mapping.
56	  For example, an arrows and enter may be implemented to navigate boot menu.
57
58config CROS_EC_KEYB
59	bool "Enable Chrome OS EC keyboard support"
60	depends on INPUT
61	help
62	  Most ARM Chromebooks use an EC to provide access to the keyboard.
63	  Messages are used to request key scans from the EC and these are
64	  then decoded into keys by this driver.
65
66config SPL_CROS_EC_KEYB
67	bool "Enable Chrome OS EC keyboard support in SPL"
68	depends on SPL_INPUT
69	help
70	  Most ARM Chromebooks use an EC to provide access to the keyboard.
71	  Messages are used to request key scans from the EC and these are
72	  then decoded into keys by this driver.
73
74config TPL_CROS_EC_KEYB
75	bool "Enable Chrome OS EC keyboard support in TPL"
76	depends on TPL_INPUT
77	help
78	  Most ARM Chromebooks use an EC to provide access to the keyboard.
79	  Messages are used to request key scans from the EC and these are
80	  then decoded into keys by this driver.
81
82config I8042_KEYB
83	bool "Enable Intel i8042 keyboard support"
84	depends on DM_KEYBOARD
85	default X86
86	help
87	  This adds a driver for the i8042 keyboard controller, allowing the
88	  keyboard to be used on devices which support this controller. The
89	  driver handles English and German keyboards - set the environment
90	  variable 'keymap' to "de" to select German. Keyboard repeat is
91	  handled by the keyboard itself.
92
93config TEGRA_KEYBOARD
94	bool "NVIDIA Tegra internal matrix keyboard controller support"
95	help
96	  A matrix keyboard connected directly to the internal keyboard
97	  controller on Tegra SoCs.
98
99config TWL4030_INPUT
100	bool "Enable TWL4030 Input controller"
101	help
102	  Enable TWL4030 Input controller
103