u-boot/drivers/input/Kconfig
Mark Kettenis d42f107425 input: apple: Add support for Apple SPI keyboard
This driver adds support for the keyboard on Apple Silicon laptops.
The controller for this keyboard sits on an SPI bus and uses an
Apple-specific HID over SPI protocol. The packets sent by this
controller for key presses and key releases are fairly simple and
are decoded directly by the code in this driver and converted into
standard Linux keycodes. The same controller handles the touchpad
found on these laptops.  Packets for touchpad events are simply
ignored.

Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested on: Macbook Air M1
Tested-by: Simon Glass <sjg@chromium.org>
2022-02-10 16:44:23 -05:00

102 lines
3.3 KiB
Text

config INPUT
bool "Enable input subsystem"
depends on DM
default y
config SPL_INPUT
bool "Enable input subsystem for SPL"
depends on SPL_DM
config TPL_INPUT
bool "Enable input subsystem for TPL"
depends on TPL_DM
config DM_KEYBOARD
bool "Enable driver model keyboard support"
depends on DM
help
This adds a uclass for keyboards and implements keyboard support
using driver model. The API is implemented by keyboard.h and
includes methods to start/stop the device, check for available
input and update LEDs if the keyboard has them.
config SPL_DM_KEYBOARD
bool "Enable driver model keyboard support for SPL"
depends on SPL_DM
help
This adds a uclass for keyboards and implements keyboard support
using driver model. The API is implemented by keyboard.h and
includes methods to start/stop the device, check for available
input and update LEDs if the keyboard has them.
config TPL_DM_KEYBOARD
bool "Enable driver model keyboard support for TPL"
depends on TPL_DM
help
This adds a uclass for keyboards and implements keyboard support
using driver model. The API is implemented by keyboard.h and
includes methods to start/stop the device, check for available
input and update LEDs if the keyboard has them.
config KEYBOARD
bool "Enable legacy keyboard support (deprecated)"
help
Enable this to enable a custom keyboard support.
This simply calls drv_keyboard_init() which must be
defined in your board-specific files. This option is deprecated
and is only used by novena. For new boards, use driver model
instead.
config APPLE_SPI_KEYB
bool "Enable Apple SPI keyboard support"
depends on DM_KEYBOARD && DM_SPI
help
This adds a driver for the keyboards found on various
laptops based on Apple SoCs. These keyboards use an
Apple-specific HID-over-SPI protocol.
config CROS_EC_KEYB
bool "Enable Chrome OS EC keyboard support"
depends on INPUT
help
Most ARM Chromebooks use an EC to provide access to the keyboard.
Messages are used to request key scans from the EC and these are
then decoded into keys by this driver.
config SPL_CROS_EC_KEYB
bool "Enable Chrome OS EC keyboard support in SPL"
depends on SPL_INPUT
help
Most ARM Chromebooks use an EC to provide access to the keyboard.
Messages are used to request key scans from the EC and these are
then decoded into keys by this driver.
config TPL_CROS_EC_KEYB
bool "Enable Chrome OS EC keyboard support in TPL"
depends on TPL_INPUT
help
Most ARM Chromebooks use an EC to provide access to the keyboard.
Messages are used to request key scans from the EC and these are
then decoded into keys by this driver.
config I8042_KEYB
bool "Enable Intel i8042 keyboard support"
depends on DM_KEYBOARD
default X86
help
This adds a driver for the i8042 keyboard controller, allowing the
keyboard to be used on devices which support this controller. The
driver handles English and German keyboards - set the environment
variable 'keymap' to "de" to select German. Keyboard repeat is
handled by the keyboard itself.
config TEGRA_KEYBOARD
bool "NVIDIA Tegra internal matrix keyboard controller support"
help
A matrix keyboard connected directly to the internal keyboard
controller on Tegra SoCs.
config TWL4030_INPUT
bool "Enable TWL4030 Input controller"
help
Enable TWL4030 Input controller