aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/input
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2013-07-02 12:01:31 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2013-07-02 12:01:31 -0400
commit27eb2c4b3d3e13f376a359e293c212a2e9407af5 (patch)
tree556aa7b5cd6eeb4214dec129c789515157187010 /Documentation/devicetree/bindings/input
parent5705b8aca5a80141de5637ff0e23b31b26f2c5bf (diff)
parent67bf12ca50d524f9e225347fe63533562e2004de (diff)
Merge branch 'next' into for-linus
Prepare first set of updates for 3.11 merge window.
Diffstat (limited to 'Documentation/devicetree/bindings/input')
-rw-r--r--Documentation/devicetree/bindings/input/cros-ec-keyb.txt72
-rw-r--r--Documentation/devicetree/bindings/input/pxa27x-keypad.txt60
-rw-r--r--Documentation/devicetree/bindings/input/ti,nspire-keypad.txt60
3 files changed, 192 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/input/cros-ec-keyb.txt b/Documentation/devicetree/bindings/input/cros-ec-keyb.txt
new file mode 100644
index 000000000000..0f6355ce39b5
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/cros-ec-keyb.txt
@@ -0,0 +1,72 @@
1ChromeOS EC Keyboard
2
3Google's ChromeOS EC Keyboard is a simple matrix keyboard implemented on
4a separate EC (Embedded Controller) device. It provides a message for reading
5key scans from the EC. These are then converted into keycodes for processing
6by the kernel.
7
8This binding is based on matrix-keymap.txt and extends/modifies it as follows:
9
10Required properties:
11- compatible: "google,cros-ec-keyb"
12
13Optional properties:
14- google,needs-ghost-filter: True to enable a ghost filter for the matrix
15keyboard. This is recommended if the EC does not have its own logic or
16hardware for this.
17
18
19Example:
20
21cros-ec-keyb {
22 compatible = "google,cros-ec-keyb";
23 keypad,num-rows = <8>;
24 keypad,num-columns = <13>;
25 google,needs-ghost-filter;
26 /*
27 * Keymap entries take the form of 0xRRCCKKKK where
28 * RR=Row CC=Column KKKK=Key Code
29 * The values below are for a US keyboard layout and
30 * are taken from the Linux driver. Note that the
31 * 102ND key is not used for US keyboards.
32 */
33 linux,keymap = <
34 /* CAPSLCK F1 B F10 */
35 0x0001003a 0x0002003b 0x00030030 0x00040044
36 /* N = R_ALT ESC */
37 0x00060031 0x0008000d 0x000a0064 0x01010001
38 /* F4 G F7 H */
39 0x0102003e 0x01030022 0x01040041 0x01060023
40 /* ' F9 BKSPACE L_CTRL */
41 0x01080028 0x01090043 0x010b000e 0x0200001d
42 /* TAB F3 T F6 */
43 0x0201000f 0x0202003d 0x02030014 0x02040040
44 /* ] Y 102ND [ */
45 0x0205001b 0x02060015 0x02070056 0x0208001a
46 /* F8 GRAVE F2 5 */
47 0x02090042 0x03010029 0x0302003c 0x03030006
48 /* F5 6 - \ */
49 0x0304003f 0x03060007 0x0308000c 0x030b002b
50 /* R_CTRL A D F */
51 0x04000061 0x0401001e 0x04020020 0x04030021
52 /* S K J ; */
53 0x0404001f 0x04050025 0x04060024 0x04080027
54 /* L ENTER Z C */
55 0x04090026 0x040b001c 0x0501002c 0x0502002e
56 /* V X , M */
57 0x0503002f 0x0504002d 0x05050033 0x05060032
58 /* L_SHIFT / . SPACE */
59 0x0507002a 0x05080035 0x05090034 0x050B0039
60 /* 1 3 4 2 */
61 0x06010002 0x06020004 0x06030005 0x06040003
62 /* 8 7 0 9 */
63 0x06050009 0x06060008 0x0608000b 0x0609000a
64 /* L_ALT DOWN RIGHT Q */
65 0x060a0038 0x060b006c 0x060c006a 0x07010010
66 /* E R W I */
67 0x07020012 0x07030013 0x07040011 0x07050017
68 /* U R_SHIFT P O */
69 0x07060016 0x07070036 0x07080019 0x07090018
70 /* UP LEFT */
71 0x070b0067 0x070c0069>;
72};
diff --git a/Documentation/devicetree/bindings/input/pxa27x-keypad.txt b/Documentation/devicetree/bindings/input/pxa27x-keypad.txt
new file mode 100644
index 000000000000..f8674f7e5ea5
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/pxa27x-keypad.txt
@@ -0,0 +1,60 @@
1* Marvell PXA Keypad controller
2
3Required Properties
4- compatible : should be "marvell,pxa27x-keypad"
5- reg : Address and length of the register set for the device
6- interrupts : The interrupt for the keypad controller
7- marvell,debounce-interval : How long time the key will be
8 recognized when it is pressed. It is a u32 value, and bit[31:16]
9 is debounce interval for direct key and bit[15:0] is debounce
10 interval for matrix key. The value is in binary number of 2ms
11
12Optional Properties For Matrix Keyes
13Please refer to matrix-keymap.txt
14
15Optional Properties for Direct Keyes
16- marvell,direct-key-count : How many direct keyes are used.
17- marvell,direct-key-mask : The mask indicates which keyes
18 are used. If bit[X] of the mask is set, the direct key X
19 is used.
20- marvell,direct-key-low-active : Direct key status register
21 tells the level of pins that connects to the direct keyes.
22 When this property is set, it means that when the pin level
23 is low, the key is pressed(active).
24- marvell,direct-key-map : It is a u16 array. Each item indicates
25 the linux key-code for the direct key.
26
27Optional Properties For Rotary
28- marvell,rotary0 : It is a u32 value. Bit[31:16] is the
29 linux key-code for rotary up. Bit[15:0] is the linux key-code
30 for rotary down. It is for rotary 0.
31- marvell,rotary1 : Same as marvell,rotary0. It is for rotary 1.
32- marvell,rotary-rel-key : When rotary is used for relative axes
33 in the device, the value indicates the key-code for relative
34 axes measurement in the device. It is a u32 value. Bit[31:16]
35 is for rotary 1, and Bit[15:0] is for rotary 0.
36
37Examples:
38 keypad: keypad@d4012000 {
39 keypad,num-rows = <3>;
40 keypad,num-columns = <5>;
41 linux,keymap = <0x0000000e /* KEY_BACKSPACE */
42 0x0001006b /* KEY_END */
43 0x00020061 /* KEY_RIGHTCTRL */
44 0x0003000b /* KEY_0 */
45 0x00040002 /* KEY_1 */
46 0x0100008b /* KEY_MENU */
47 0x01010066 /* KEY_HOME */
48 0x010200e7 /* KEY_SEND */
49 0x01030009 /* KEY_8 */
50 0x0104000a /* KEY_9 */
51 0x02000160 /* KEY_OK */
52 0x02010003 /* KEY_2 */
53 0x02020004 /* KEY_3 */
54 0x02030005 /* KEY_4 */
55 0x02040006>; /* KEY_5 */
56 marvell,rotary0 = <0x006c0067>; /* KEY_UP & KEY_DOWN */
57 marvell,direct-key-count = <1>;
58 marvell,direct-key-map = <0x001c>;
59 marvell,debounce-interval = <0x001e001e>;
60 };
diff --git a/Documentation/devicetree/bindings/input/ti,nspire-keypad.txt b/Documentation/devicetree/bindings/input/ti,nspire-keypad.txt
new file mode 100644
index 000000000000..513d94d6e899
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/ti,nspire-keypad.txt
@@ -0,0 +1,60 @@
1TI-NSPIRE Keypad
2
3Required properties:
4- compatible: Compatible property value should be "ti,nspire-keypad".
5
6- reg: Physical base address of the peripheral and length of memory mapped
7 region.
8
9- interrupts: The interrupt number for the peripheral.
10
11- scan-interval: How often to scan in us. Based on a APB speed of 33MHz, the
12 maximum and minimum delay time is ~2000us and ~500us respectively
13
14- row-delay: How long to wait before scanning each row.
15
16- clocks: The clock this peripheral is attached to.
17
18- linux,keymap: The keymap to use
19 (see Documentation/devicetree/bindings/input/matrix-keymap.txt)
20
21Optional properties:
22- active-low: Specify that the keypad is active low (i.e. logical low signifies
23 a key press).
24
25Example:
26
27input {
28 compatible = "ti,nspire-keypad";
29 reg = <0x900E0000 0x1000>;
30 interrupts = <16>;
31
32 scan-interval = <1000>;
33 row-delay = <200>;
34
35 clocks = <&apb_pclk>;
36
37 linux,keymap = <
38 0x0000001c 0x0001001c 0x00040039
39 0x0005002c 0x00060015 0x0007000b
40 0x0008000f 0x0100002d 0x01010011
41 0x0102002f 0x01030004 0x01040016
42 0x01050014 0x0106001f 0x01070002
43 0x010a006a 0x02000013 0x02010010
44 0x02020019 0x02030007 0x02040018
45 0x02050031 0x02060032 0x02070005
46 0x02080028 0x0209006c 0x03000026
47 0x03010025 0x03020024 0x0303000a
48 0x03040017 0x03050023 0x03060022
49 0x03070008 0x03080035 0x03090069
50 0x04000021 0x04010012 0x04020020
51 0x0404002e 0x04050030 0x0406001e
52 0x0407000d 0x04080037 0x04090067
53 0x05010038 0x0502000c 0x0503001b
54 0x05040034 0x0505001a 0x05060006
55 0x05080027 0x0509000e 0x050a006f
56 0x0600002b 0x0602004e 0x06030068
57 0x06040003 0x0605006d 0x06060009
58 0x06070001 0x0609000f 0x0708002a
59 0x0709001d 0x070a0033 >;
60};