61 lines
2.3 KiB
Plaintext
61 lines
2.3 KiB
Plaintext
|
* 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>;
|
||
|
};
|