mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 07:31:15 +00:00
faf28c046e
Apple M2 devices have an MTP coprocessor in charge of keyboard/trackpad handling, communicating over a DockChannel interface. Add a simple driver for this. The keyboard does not require any initialization messages, but we have a problem: we cannot reset the MTP so Linux can start it fresh, and it delivers a number of informative packets on startup. To work around this, we buffer those messages and re-inject them into the FIFO (which is big enough to hold all of them) on shutdown, so Linux finds them when it initializes its driver. The actual MTP coprocessor is quiesced, which does work properly. Signed-off-by: Hector Martin <marcan@marcan.st>
116 lines
3.6 KiB
Text
116 lines
3.6 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 APPLE_KEYB
|
|
bool
|
|
depends on DM_KEYBOARD
|
|
|
|
config APPLE_SPI_KEYB
|
|
bool "Enable Apple SPI keyboard support"
|
|
select APPLE_KEYB
|
|
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 APPLE_MTP_KEYB
|
|
bool "Enable Apple MTP keyboard support"
|
|
select APPLE_KEYB
|
|
depends on DM_KEYBOARD && MISC
|
|
help
|
|
This adds a driver for the keyboards found on various
|
|
laptops based on Apple M2 and newer SoCs. These keyboards use an
|
|
Apple-specific HID-over-DockChannel 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
|