diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2013-07-02 12:01:31 -0400 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2013-07-02 12:01:31 -0400 |
| commit | 27eb2c4b3d3e13f376a359e293c212a2e9407af5 (patch) | |
| tree | 556aa7b5cd6eeb4214dec129c789515157187010 /Documentation/devicetree/bindings/input | |
| parent | 5705b8aca5a80141de5637ff0e23b31b26f2c5bf (diff) | |
| parent | 67bf12ca50d524f9e225347fe63533562e2004de (diff) | |
Merge branch 'next' into for-linus
Prepare first set of updates for 3.11 merge window.
Diffstat (limited to 'Documentation/devicetree/bindings/input')
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 @@ | |||
| 1 | ChromeOS EC Keyboard | ||
| 2 | |||
| 3 | Google's ChromeOS EC Keyboard is a simple matrix keyboard implemented on | ||
| 4 | a separate EC (Embedded Controller) device. It provides a message for reading | ||
| 5 | key scans from the EC. These are then converted into keycodes for processing | ||
| 6 | by the kernel. | ||
| 7 | |||
| 8 | This binding is based on matrix-keymap.txt and extends/modifies it as follows: | ||
| 9 | |||
| 10 | Required properties: | ||
| 11 | - compatible: "google,cros-ec-keyb" | ||
| 12 | |||
| 13 | Optional properties: | ||
| 14 | - google,needs-ghost-filter: True to enable a ghost filter for the matrix | ||
| 15 | keyboard. This is recommended if the EC does not have its own logic or | ||
| 16 | hardware for this. | ||
| 17 | |||
| 18 | |||
| 19 | Example: | ||
| 20 | |||
| 21 | cros-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 | |||
| 3 | Required 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 | |||
| 12 | Optional Properties For Matrix Keyes | ||
| 13 | Please refer to matrix-keymap.txt | ||
| 14 | |||
| 15 | Optional 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 | |||
| 27 | Optional 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 | |||
| 37 | Examples: | ||
| 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 @@ | |||
| 1 | TI-NSPIRE Keypad | ||
| 2 | |||
| 3 | Required 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 | |||
| 21 | Optional properties: | ||
| 22 | - active-low: Specify that the keypad is active low (i.e. logical low signifies | ||
| 23 | a key press). | ||
| 24 | |||
| 25 | Example: | ||
| 26 | |||
| 27 | input { | ||
| 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 | }; | ||
