27 Apr, 2018
1 commit
-
The i.MX6SL EVK needs this driver in android fastboot support. Add
this driver to u-boot.To use the driver, user must define:
CONFIG_MXC_KPD Enable the driver
CONFIG_MXC_KEYMAPPING Key mapping matrix
CONFIG_MXC_KPD_COLMAX The column size of key mapping matrix
CONFIG_MXC_KPD_ROWMAX The row size of the key mapping matrixSigned-off-by: Ye Li
(cherry picked from commit 5096e572667ff41217deb4ba9b1bd15e93fa6b59)
(cherry picked from commit e84160eaf5c057da45a227039c6f8a7911f43a82)
05 Mar, 2018
1 commit
-
Add a comment indicating that the German key map assumes code page 437.
Add support for character ² (square sign) in the German key map.
Signed-off-by: Heinrich Schuchardt
16 Aug, 2017
1 commit
-
We are now using an env_ prefix for environment functions. Rename these
two functions for consistency. Also add function comments in common.h.Quite a few places use getenv() in a condition context, provoking a
warning from checkpatch. These are fixed up in this patch also.Suggested-by: Wolfgang Denk
Signed-off-by: Simon Glass
16 Jun, 2017
1 commit
-
There was for long time no activity in the mpx5xxx area.
We need to go further and convert to Kconfig, but it
turned out, nobody is interested anymore in mpc5xxx,
so remove it.Signed-off-by: Heiko Schocher
01 Jun, 2017
2 commits
-
Update this driver and key_matrix to support a live device tree.
Signed-off-by: Simon Glass
-
These support the flat device tree. We want to use the dev_read_..()
prefix for functions that support both flat tree and live tree. So rename
the existing functions to avoid confusion.In the end we will have:
1. dev_read_addr...() - works on devices, supports flat/live tree
2. devfdt_get_addr...() - current functions, flat tree only
3. of_get_address() etc. - new functions, live tree onlyAll drivers will be written to use 1. That function will in turn call
either 2 or 3 depending on whether the flat or live tree is in use.Note this involves changing some dead code - the imx_lpi2c.c file.
Signed-off-by: Simon Glass
08 Feb, 2017
1 commit
-
At present devices use a simple integer offset to record the device tree
node associated with the device. In preparation for supporting a live
device tree, which uses a node pointer instead, refactor existing code to
access this field through an inline function.Signed-off-by: Simon Glass
24 Nov, 2016
3 commits
-
Replace CONFIG_MPC8555 with ARCH_MPC8555 in Kconfig and clean up existing
macros.Signed-off-by: York Sun
-
Replace CONFIG_MPC8541 with ARCH_MPC8541 in Kconfig and clean up existing
macros.Signed-off-by: York Sun
-
Replace CONFIG_MPC8540 with ARCH_MPC8540 in Kconfig and clean up existing
macros.Signed-off-by: York Sun
02 Oct, 2016
1 commit
-
Creating multiple entries of "config FOO" often gives us bad
experiences. In this case, we should specify "default X86"
as platforms that want this keyboard by default.Signed-off-by: Masahiro Yamada
Acked-by: Marek Vasut
Reviewed-by: Simon Glass
17 Mar, 2016
1 commit
-
Add one more step into the init sequence. This fixes the keyboard on samus,
which otherwise does not work.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
Tested-by: Bin Meng
16 Mar, 2016
1 commit
-
This adds support for detecting a few inputs exported by the TWL6030.
Currently-supported inputs are the power button, USB and charger presence.Signed-off-by: Paul Kocialkowski
17 Feb, 2016
1 commit
-
We need to add the base tables before adding the function tables. Fix the
init order so the keyboard scans keys correctly.Signed-off-by: Simon Glass
Signed-off-by: Tom Warren
20 Nov, 2015
26 commits
-
The console includes a global variable and several functions that are only
used by a small subset of U-Boot files. Before adding more functions, move
the definitions into their own header file.Signed-off-by: Simon Glass
-
When 'Num Lock' is not on, we should not send these digit numbers
(0-9 and dot) to the output buffer.Signed-off-by: Bin Meng
Acked-by: Simon Glass -
When sending LED update command to an i8042 compatible keyboard,
bit1 is 'Num Lock' and bit2 is 'Caps Lock' in the data byte. But
input library defines bit1 as 'Caps Lock' and bit2 as 'Num Lock'.
This causes a wrong LED to be set on an i8042 compatible keyboard.
Change the LED state bits to be i8042 compatible, and change the
keyboard flags as well.Signed-off-by: Bin Meng
Acked-by: Simon Glass -
We should request keyboard to turn on/off its LED when detecting
any changes on the LEDs.Signed-off-by: Bin Meng
Acked-by: Simon Glass
Minor changes to allow this to build without CONFIG_DM_KEYBOARD:
Signed-off-by: Simon Glass -
Currently keyboard's LED state is wrongly saved to config->leds in
process_modifier(). It should really be config->flags.Signed-off-by: Bin Meng
Acked-by: Simon Glass -
This has duplicated scan code tables and logic. We can use the input
library to implement most of the features here.This needs testing. The only supported board appears to be TQM5200.
Unfortunately no maintainer is listed for this board.Signed-off-by: Simon Glass
-
Sometimes we seem to get 0xaa twice which causes the config read to fail.
This causes chromebook_link to fail to set up the keyboard.Add a check for this and read the config again when detected.
Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
Adjust this driver to support driver model. The only users are x86 boards
so this should be safe.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
Tested-by: Bin Meng -
Add a new option CONFIG_I8042_KEYB which will replace the current
CONFIG_I8042_KBD. This new name fits better with existing drivers.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
At present the i8042 driver has its own logic and keymaps. In an effort to
unify the code, move it over to use the input library. This changes most of
the keycode-processing logic since it is now in that library. The main
responsibilities of the driver are now to handle the LEDs, deal with the
PS/2 extended keycodes and initialise the the keyboard.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
Tested-by: Bin Meng -
Add a function which returns a new keyboard LED value when the LEDs need
updating.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
When caps lock is enabled we should convert lower case to upper case. Add
this to the input key processing so that caps lock works correctly.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
Tested-by: Bin Meng -
Move all the '!release' code into one block so that it is clear that it only
applies on key release.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
Add support for the German keymap, taken from i8042.c. This can be selected
when the input library it initialised.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
Generally the input library handles processing of a list of scanned keys.
Repeated keys need to be generated based on a timer in this case, since all
that is provided is a list of keys current depressed.Keyboards which do their own scanning will resend codes when they want to
inject a repeating key. Provide a function which tells the input library to
accept repeating keys and not to try to second-guess the caller.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
Most keyboards can be scanned to produce a list of the keycodes which are
depressed. With the i8042 keyboard this scanning is done internally and
only the processed results are returned.In this case, when a key is pressed, a 'make' code is sent. When the key
is released a 'break' code is sent. This means that the driver needs to
keep track of which keys are pressed. It also means that any protocol error
can lead to stuck keys.In order to support this type of keyboard, add a function when can be used
to provide a single keycode and either add it to the list of what is pressed
or remove it from the list. Then the normal input_send_keycodes() function
can be used to actually do the decoding work.Add debugging to display the ASCII characters written to the input queue
also.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
The slash and * are missing from the keycode tables. Add these so that
these keypad keys can be used.Signed-off-by: Simon Glass
-
This code is currently incorrect, perhaps due to a typo. Fix it.
Signed-off-by: Simon Glass
-
Modify i8042_kbd_init() so that the normal pass is sucessful init and
failure exits early. This will make the code easier to extend and is easier
to read.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
Rather than lots of 'return' statements, use goto to a single return.
Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
At present the register access in kbd_reset() is quite primitive. This makes
it hard to follow.Create functions to read and write data, both to a single register, and via
the command/data approach.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
Tested-on: Intel Crown Bay and QEMU
Tested-by: Bin Meng -
CONFIG_CONSOLE_CURSOR, CONFIG_SYS_CONSOLE_BLINK_COUNT and
CONFIG_CONSOLE_TIME are not used by any board. The implementation is not
great and stands in the way of a refactor of i8042. Drop these for now.
They can be re-introduced quite easily later, perhaps with driver-model
real-time-clock (RTC) support.When reintroducing, it might be useful to make a few changes:
- Blink time would be more useful than blink count
- The confusing #ifdefs should be avoided
- The time functions should support driver model
- It would be best keyed off console_tstc() or some similar idle loop
rather than a particular input driver (i8042 in this case)Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
Adjust the cros_ec keyboard driver to support driver model. Make this the
default for all Exynos boards so that those that use a keyboard will build
correctly with this driver.Signed-off-by: Simon Glass
-
Adjust the tegra keyboard driver to support driver model, using the new
uclass. Make this the default for all Tegra boards so that those that use
a keyboard will build correctly with this driver.Signed-off-by: Simon Glass
-
In preparation for converting the cros_ec keyboard driver to driver model,
adjust the cros_ec functions it will use to use a normal struct udevice.Signed-off-by: Simon Glass
-
Require the caller to add the keycode translation tables separately so that
it can select which ones to use. In a later patch we will add the option to
add German tables.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng