forked from Minki/linux
1d0b1c74ed
Some matrix keypad drivers can support different numbers of rows and columns. Add a generic binding for these. Implementation note: In order to implement this binding in the kernel, we will need to modify matrix_keypad_() to look up the number of rows and cols in the keymap. Perhaps this could be done by passing 0 for these parameters? Many of the parameters can already be set to NULL. Ick. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
28 lines
1.0 KiB
Plaintext
28 lines
1.0 KiB
Plaintext
A simple common binding for matrix-connected key boards. Currently targeted at
|
|
defining the keys in the scope of linux key codes since that is a stable and
|
|
standardized interface at this time.
|
|
|
|
Required properties:
|
|
- linux,keymap: an array of packed 1-cell entries containing the equivalent
|
|
of row, column and linux key-code. The 32-bit big endian cell is packed
|
|
as:
|
|
row << 24 | column << 16 | key-code
|
|
|
|
Optional properties:
|
|
Properties for the number of rows and columns are optional because some
|
|
drivers will use fixed values for these.
|
|
- keypad,num-rows: Number of row lines connected to the keypad controller.
|
|
- keypad,num-columns: Number of column lines connected to the keypad
|
|
controller.
|
|
|
|
Some users of this binding might choose to specify secondary keymaps for
|
|
cases where there is a modifier key such as a Fn key. Proposed names
|
|
for said properties are "linux,fn-keymap" or with another descriptive
|
|
word for the modifier other from "Fn".
|
|
|
|
Example:
|
|
linux,keymap = < 0x00030012
|
|
0x0102003a >;
|
|
keypad,num-rows = <2>;
|
|
keypad,num-columns = <8>;
|