1 * Marvell PXA Keypad controller 1 * Marvell PXA Keypad controller 2 2 3 Required Properties 3 Required Properties 4 - compatible : should be "marvell,pxa27x-keypa 4 - compatible : should be "marvell,pxa27x-keypad" 5 - reg : Address and length of the register set 5 - reg : Address and length of the register set for the device 6 - interrupts : The interrupt for the keypad co 6 - interrupts : The interrupt for the keypad controller 7 - marvell,debounce-interval : How long time th 7 - marvell,debounce-interval : How long time the key will be 8 recognized when it is pressed. It is a u32 v 8 recognized when it is pressed. It is a u32 value, and bit[31:16] 9 is debounce interval for direct key and bit[ 9 is debounce interval for direct key and bit[15:0] is debounce 10 interval for matrix key. The value is in bin 10 interval for matrix key. The value is in binary number of 2ms 11 11 12 Optional Properties For Matrix Keyes 12 Optional Properties For Matrix Keyes 13 Please refer to matrix-keymap.txt 13 Please refer to matrix-keymap.txt 14 14 15 Optional Properties for Direct Keyes 15 Optional Properties for Direct Keyes 16 - marvell,direct-key-count : How many direct k 16 - marvell,direct-key-count : How many direct keyes are used. 17 - marvell,direct-key-mask : The mask indicates 17 - marvell,direct-key-mask : The mask indicates which keyes 18 are used. If bit[X] of the mask is set, the 18 are used. If bit[X] of the mask is set, the direct key X 19 is used. 19 is used. 20 - marvell,direct-key-low-active : Direct key s 20 - marvell,direct-key-low-active : Direct key status register 21 tells the level of pins that connects to the 21 tells the level of pins that connects to the direct keyes. 22 When this property is set, it means that whe 22 When this property is set, it means that when the pin level 23 is low, the key is pressed(active). 23 is low, the key is pressed(active). 24 - marvell,direct-key-map : It is a u16 array. 24 - marvell,direct-key-map : It is a u16 array. Each item indicates 25 the linux key-code for the direct key. 25 the linux key-code for the direct key. 26 26 27 Optional Properties For Rotary 27 Optional Properties For Rotary 28 - marvell,rotary0 : It is a u32 value. Bit[31: 28 - marvell,rotary0 : It is a u32 value. Bit[31:16] is the 29 linux key-code for rotary up. Bit[15:0] is t 29 linux key-code for rotary up. Bit[15:0] is the linux key-code 30 for rotary down. It is for rotary 0. 30 for rotary down. It is for rotary 0. 31 - marvell,rotary1 : Same as marvell,rotary0. I 31 - marvell,rotary1 : Same as marvell,rotary0. It is for rotary 1. 32 - marvell,rotary-rel-key : When rotary is used 32 - marvell,rotary-rel-key : When rotary is used for relative axes 33 in the device, the value indicates the key-c 33 in the device, the value indicates the key-code for relative 34 axes measurement in the device. It is a u32 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 35 is for rotary 1, and Bit[15:0] is for rotary 0. 36 36 37 Examples: 37 Examples: 38 keypad: keypad@d4012000 { 38 keypad: keypad@d4012000 { 39 keypad,num-rows = <3>; 39 keypad,num-rows = <3>; 40 keypad,num-columns = <5>; 40 keypad,num-columns = <5>; 41 linux,keymap = <0x0000000e 41 linux,keymap = <0x0000000e /* KEY_BACKSPACE */ 42 0x0001006b 42 0x0001006b /* KEY_END */ 43 0x00020061 43 0x00020061 /* KEY_RIGHTCTRL */ 44 0x0003000b 44 0x0003000b /* KEY_0 */ 45 0x00040002 45 0x00040002 /* KEY_1 */ 46 0x0100008b 46 0x0100008b /* KEY_MENU */ 47 0x01010066 47 0x01010066 /* KEY_HOME */ 48 0x010200e7 48 0x010200e7 /* KEY_SEND */ 49 0x01030009 49 0x01030009 /* KEY_8 */ 50 0x0104000a 50 0x0104000a /* KEY_9 */ 51 0x02000160 51 0x02000160 /* KEY_OK */ 52 0x02010003 52 0x02010003 /* KEY_2 */ 53 0x02020004 53 0x02020004 /* KEY_3 */ 54 0x02030005 54 0x02030005 /* KEY_4 */ 55 0x02040006>; 55 0x02040006>; /* KEY_5 */ 56 marvell,rotary0 = <0x006c0067> 56 marvell,rotary0 = <0x006c0067>; /* KEY_UP & KEY_DOWN */ 57 marvell,direct-key-count = <1> 57 marvell,direct-key-count = <1>; 58 marvell,direct-key-map = <0x00 58 marvell,direct-key-map = <0x001c>; 59 marvell,debounce-interval = <0 59 marvell,debounce-interval = <0x001e001e>; 60 }; 60 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.