Enable the mouse when running on QEMU, for ARM and x86. This requires 'usb start' on x86. For ARM, the mouse does not work, perhaps related to the fact that the display does not work either. Series-to: concept Series-cc: heinrich Cover-letter: mouse: Provide some support for using a mouse This series resurects some old code that was never submitted, related to using Nuklear with U-Boot. It includes: - a very simple mouse uclass - sandbox mouse driver - USB mouse driver, useful on x86 - EFI mouse driver, useful when running as an EFI app - script updates to use the above with build-qemu and build-efi It also includes a few small patches for sandbox, tests and membuf Not everything is fully working at present: - Mouse works on x86 QEMU (after 'usb start') but not ARM - Mouse works on real hardware with EFI, but not with build-efi script - Mouse times out with 'usb start', even though it does actually work More work will be needed to tidy up these remaining issues. END Signed-off-by: Simon Glass <sjg@chromium.org> Series-links: 1:33 Series-version: 2
132 lines
4.3 KiB
Plaintext
132 lines
4.3 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
|
|
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 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.
|