blob: c54919fad17e6fc6f8ef771f7132b6de175bd9a7 [file] [log] [blame]
Olof Johansson2cd36872012-03-13 21:35:51 -07001A simple common binding for matrix-connected key boards. Currently targeted at
2defining the keys in the scope of linux key codes since that is a stable and
3standardized interface at this time.
4
5Required properties:
6- linux,keymap: an array of packed 1-cell entries containing the equivalent
7 of row, column and linux key-code. The 32-bit big endian cell is packed
8 as:
9 row << 24 | column << 16 | key-code
10
11Optional properties:
Simon Glass1d0b1c72013-01-10 17:41:32 -080012Properties for the number of rows and columns are optional because some
13drivers will use fixed values for these.
14- keypad,num-rows: Number of row lines connected to the keypad controller.
15- keypad,num-columns: Number of column lines connected to the keypad
16 controller.
17
Olof Johansson2cd36872012-03-13 21:35:51 -070018Some users of this binding might choose to specify secondary keymaps for
19cases where there is a modifier key such as a Fn key. Proposed names
20for said properties are "linux,fn-keymap" or with another descriptive
21word for the modifier other from "Fn".
22
23Example:
24 linux,keymap = < 0x00030012
25 0x0102003a >;
Simon Glass1d0b1c72013-01-10 17:41:32 -080026 keypad,num-rows = <2>;
27 keypad,num-columns = <8>;