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 CPCAP_POWER_BUTTON
59	bool "Enable power button of CPCAP PMIC support"
60	depends on DM_KEYBOARD && DM_PMIC_CPCAP
61	help
62	  Enable support for a dedicated power button of the CPCAP PMIC.
63
64config CROS_EC_KEYB
65	bool "Enable Chrome OS EC keyboard support"
66	depends on INPUT
67	help
68	  Most ARM Chromebooks use an EC to provide access to the keyboard.
69	  Messages are used to request key scans from the EC and these are
70	  then decoded into keys by this driver.
71
72config SPL_CROS_EC_KEYB
73	bool "Enable Chrome OS EC keyboard support in SPL"
74	depends on SPL_INPUT
75	help
76	  Most ARM Chromebooks use an EC to provide access to the keyboard.
77	  Messages are used to request key scans from the EC and these are
78	  then decoded into keys by this driver.
79
80config TPL_CROS_EC_KEYB
81	bool "Enable Chrome OS EC keyboard support in TPL"
82	depends on TPL_INPUT
83	help
84	  Most ARM Chromebooks use an EC to provide access to the keyboard.
85	  Messages are used to request key scans from the EC and these are
86	  then decoded into keys by this driver.
87
88config I8042_KEYB
89	bool "Enable Intel i8042 keyboard support"
90	depends on DM_KEYBOARD
91	default X86
92	help
93	  This adds a driver for the i8042 keyboard controller, allowing the
94	  keyboard to be used on devices which support this controller. The
95	  driver handles English and German keyboards - set the environment
96	  variable 'keymap' to "de" to select German. Keyboard repeat is
97	  handled by the keyboard itself.
98
99config TEGRA_KEYBOARD
100	bool "NVIDIA Tegra internal matrix keyboard controller support"
101	depends on ARCH_TEGRA
102	help
103	  A matrix keyboard connected directly to the internal keyboard
104	  controller on Tegra SoCs.
105
106config TWL4030_INPUT
107	bool "Enable TWL4030 Input controller"
108	help
109	  Enable TWL4030 Input controller
110