Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

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