-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Input: pxa27x-keypad - add device tree support
Signed-off-by: Chao Xie <chao.xie@marvell.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
- Loading branch information
Chao Xie
authored and
Dmitry Torokhov
committed
Jun 19, 2013
1 parent
0a085a9
commit e415697
Showing
2 changed files
with
302 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
* Marvell PXA Keypad controller | ||
|
||
Required Properties | ||
- compatible : should be "marvell,pxa27x-keypad" | ||
- reg : Address and length of the register set for the device | ||
- interrupts : The interrupt for the keypad controller | ||
- marvell,debounce-interval : How long time the key will be | ||
recognized when it is pressed. It is a u32 value, and bit[31:16] | ||
is debounce interval for direct key and bit[15:0] is debounce | ||
interval for matrix key. The value is in binary number of 2ms | ||
|
||
Optional Properties For Matrix Keyes | ||
Please refer to matrix-keymap.txt | ||
|
||
Optional Properties for Direct Keyes | ||
- marvell,direct-key-count : How many direct keyes are used. | ||
- marvell,direct-key-mask : The mask indicates which keyes | ||
are used. If bit[X] of the mask is set, the direct key X | ||
is used. | ||
- marvell,direct-key-low-active : Direct key status register | ||
tells the level of pins that connects to the direct keyes. | ||
When this property is set, it means that when the pin level | ||
is low, the key is pressed(active). | ||
- marvell,direct-key-map : It is a u16 array. Each item indicates | ||
the linux key-code for the direct key. | ||
|
||
Optional Properties For Rotary | ||
- marvell,rotary0 : It is a u32 value. Bit[31:16] is the | ||
linux key-code for rotary up. Bit[15:0] is the linux key-code | ||
for rotary down. It is for rotary 0. | ||
- marvell,rotary1 : Same as marvell,rotary0. It is for rotary 1. | ||
- marvell,rotary-rel-key : When rotary is used for relative axes | ||
in the device, the value indicates the key-code for relative | ||
axes measurement in the device. It is a u32 value. Bit[31:16] | ||
is for rotary 1, and Bit[15:0] is for rotary 0. | ||
|
||
Examples: | ||
keypad: keypad@d4012000 { | ||
keypad,num-rows = <3>; | ||
keypad,num-columns = <5>; | ||
linux,keymap = <0x0000000e /* KEY_BACKSPACE */ | ||
0x0001006b /* KEY_END */ | ||
0x00020061 /* KEY_RIGHTCTRL */ | ||
0x0003000b /* KEY_0 */ | ||
0x00040002 /* KEY_1 */ | ||
0x0100008b /* KEY_MENU */ | ||
0x01010066 /* KEY_HOME */ | ||
0x010200e7 /* KEY_SEND */ | ||
0x01030009 /* KEY_8 */ | ||
0x0104000a /* KEY_9 */ | ||
0x02000160 /* KEY_OK */ | ||
0x02010003 /* KEY_2 */ | ||
0x02020004 /* KEY_3 */ | ||
0x02030005 /* KEY_4 */ | ||
0x02040006>; /* KEY_5 */ | ||
marvell,rotary0 = <0x006c0067>; /* KEY_UP & KEY_DOWN */ | ||
marvell,direct-key-count = <1>; | ||
marvell,direct-key-map = <0x001c>; | ||
marvell,debounce-interval = <0x001e001e>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters