* 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>;
	};
