mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-15 07:43:07 +00:00
d42f107425
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>
102 lines
3.3 KiB
Text
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
|