Add a keyboard driver which returns keys produced by EFI. This is basically the same as the serial driver but it doesn't combine input and output into one driver, allowing more control when using a separate screen. Add the required devicetree fragment for ARM (only). Series-to: concept Series-cc: heinrich Cover-letter: efi: Tidy up some commands and provide a keyboard driver This series collect various odds and ends to make the ARM EFI app show a menu that looks reasonable, including truetype fonts and a new keyboard driver, selectable by setting stdin to 'efi-kbd'. Some highlights: - fix some bugs in addr_find and part_find and adds docs / tests - reset pager when clearing the console - use at least 1G of memory with EFI since the app allocates 512M - allow NEON registers so floating point can work (truetype) - show the global_data flags with bdinfo END Signed-off-by: Simon Glass <sjg@chromium.org>
146 lines
4.7 KiB
Plaintext
146 lines
4.7 KiB
Plaintext
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
|
|
default y if EFI_APP
|
|
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 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 BUTTON_KEYBOARD
|
|
bool "Buttons as keyboard"
|
|
depends on DM_KEYBOARD
|
|
select BUTTON_GPIO
|
|
help
|
|
Enable support for mapping buttons to keycode events. Use linux,code button driver
|
|
dt node to define button-event mapping.
|
|
For example, an arrows and enter may be implemented to navigate boot menu.
|
|
|
|
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 EFI_KEYB
|
|
bool "Keyboard on top of EFI"
|
|
depends on DM_KEYBOARD && EFI_APP
|
|
default y
|
|
help
|
|
Provides a keyboard driver for EFI. While this is often connected
|
|
to the serial driver, that can be confusing on a device which has
|
|
both serial and keyboard devices. Provide a separate keyboard
|
|
driver.
|
|
|
|
For now this is not used, pending further work on teasing this
|
|
apart within the EFI subsystem.
|
|
|
|
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
|
|
|
|
config MOUSE
|
|
bool "Support for mice and other pointing devices"
|
|
depends on INPUT
|
|
default y if SANDBOX || EFI_APP || MACH_QEMU
|
|
help
|
|
This allows U-Boot to access mouse input, typically needed for
|
|
graphics boot menus and the like. The driver can provide mouse
|
|
events based on user interaction and these can be used to control
|
|
U-Boot's operation.
|
|
|
|
config USB_MOUSE
|
|
bool "USB mouse support"
|
|
default y if MACH_QEMU
|
|
help
|
|
This enables using a USB mouse to control a feature in U-Boot,
|
|
typically a boot menu. The driver uses the USB boot interface of
|
|
the mouse and attempts to auto-configure itself for normal
|
|
operation.
|
|
|
|
config EFI_MOUSE
|
|
bool "EFI mouse support"
|
|
depends on EFI_APP
|
|
default y if EFI_APP
|
|
help
|
|
This enables mouse support when U-Boot is running as an EFI
|
|
application. It uses the EFI Simple Pointer Protocol to access
|
|
mouse input from the underlying EFI firmware. This is useful
|
|
when U-Boot is used as an EFI boot manager or application.
|