1 * GPIO driven matrix keypad device tree bindin 1 * GPIO driven matrix keypad device tree bindings 2 2 3 GPIO driven matrix keypad is used to interface 3 GPIO driven matrix keypad is used to interface a SoC with a matrix keypad. 4 The matrix keypad supports multiple row and co 4 The matrix keypad supports multiple row and column lines, a key can be 5 placed at each intersection of a unique row an 5 placed at each intersection of a unique row and a unique column. The matrix 6 keypad can sense a key-press and key-release b 6 keypad can sense a key-press and key-release by means of GPIO lines and 7 report the event using GPIO interrupts to the 7 report the event using GPIO interrupts to the cpu. 8 8 9 Required Properties: 9 Required Properties: 10 - compatible: Should be "gpio-matrix 10 - compatible: Should be "gpio-matrix-keypad" 11 - row-gpios: List of gpios used as 11 - row-gpios: List of gpios used as row lines. The gpio specifier 12 for this property depe 12 for this property depends on the gpio controller to 13 which these row lines 13 which these row lines are connected. 14 - col-gpios: List of gpios used as 14 - col-gpios: List of gpios used as column lines. The gpio specifier 15 for this property depe 15 for this property depends on the gpio controller to 16 which these column lin 16 which these column lines are connected. 17 - linux,keymap: The definition can be 17 - linux,keymap: The definition can be found at 18 bindings/input/matrix- 18 bindings/input/matrix-keymap.txt 19 19 20 Optional Properties: 20 Optional Properties: 21 - linux,no-autorepeat: do no enable autorepea 21 - linux,no-autorepeat: do no enable autorepeat feature. 22 - wakeup-source: use any event on keypa 22 - wakeup-source: use any event on keypad as wakeup event. 23 (Legacy property suppo 23 (Legacy property supported: "linux,wakeup") 24 - debounce-delay-ms: debounce interval in m 24 - debounce-delay-ms: debounce interval in milliseconds 25 - col-scan-delay-us: delay, measured in mic 25 - col-scan-delay-us: delay, measured in microseconds, that is needed 26 before we can scan key 26 before we can scan keypad after activating column gpio 27 - drive-inactive-cols: drive inactive columns 27 - drive-inactive-cols: drive inactive columns during scan, 28 default is to turn ina 28 default is to turn inactive columns into inputs. 29 29 30 Example: 30 Example: 31 matrix-keypad { 31 matrix-keypad { 32 compatible = "gpio-matrix-keyp 32 compatible = "gpio-matrix-keypad"; 33 debounce-delay-ms = <5>; 33 debounce-delay-ms = <5>; 34 col-scan-delay-us = <2>; 34 col-scan-delay-us = <2>; 35 35 36 row-gpios = <&gpio2 25 0 36 row-gpios = <&gpio2 25 0 37 &gpio2 26 0 37 &gpio2 26 0 38 &gpio2 27 0>; 38 &gpio2 27 0>; 39 39 40 col-gpios = <&gpio2 21 0 40 col-gpios = <&gpio2 21 0 41 &gpio2 22 0>; 41 &gpio2 22 0>; 42 42 43 linux,keymap = <0x0000008B 43 linux,keymap = <0x0000008B 44 0x0100009E 44 0x0100009E 45 0x02000069 45 0x02000069 46 0x0001006A 46 0x0001006A 47 0x0101001C 47 0x0101001C 48 0x0201006C>; 48 0x0201006C>; 49 }; 49 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.