1 * Broadcom Keypad Controller device tree bindi 2 3 Broadcom Keypad controller is used to interfac 4 keypad device. The keypad controller supports 5 A key can be placed at each intersection of a 6 The keypad controller can sense a key-press an 7 event using a interrupt to the cpu. 8 9 This binding is based on the matrix-keymap bin 10 changes: 11 12 keypad,num-rows and keypad,num-columns are req 13 14 Required SoC Specific Properties: 15 - compatible: should be "brcm,bcm-keypad" 16 17 - reg: physical base address of the controller 18 region. 19 20 - interrupts: The interrupt number to the cpu. 21 22 Board Specific Properties: 23 - keypad,num-rows: Number of row lines connect 24 controller. 25 26 - keypad,num-columns: Number of column lines c 27 keypad controller. 28 29 - col-debounce-filter-period: The debounce per 30 31 KEYPAD_DEBOUNCE_1_ms = 0 32 KEYPAD_DEBOUNCE_2_ms = 1 33 KEYPAD_DEBOUNCE_4_ms = 2 34 KEYPAD_DEBOUNCE_8_ms = 3 35 KEYPAD_DEBOUNCE_16_ms = 4 36 KEYPAD_DEBOUNCE_32_ms = 5 37 KEYPAD_DEBOUNCE_64_ms = 6 38 KEYPAD_DEBOUNCE_128_ms = 7 39 40 - status-debounce-filter-period: The debounce 41 42 KEYPAD_DEBOUNCE_1_ms = 0 43 KEYPAD_DEBOUNCE_2_ms = 1 44 KEYPAD_DEBOUNCE_4_ms = 2 45 KEYPAD_DEBOUNCE_8_ms = 3 46 KEYPAD_DEBOUNCE_16_ms = 4 47 KEYPAD_DEBOUNCE_32_ms = 5 48 KEYPAD_DEBOUNCE_64_ms = 6 49 KEYPAD_DEBOUNCE_128_ms = 7 50 51 - row-output-enabled: An optional property ind 52 column is being used as output. If specified 53 as the output. Else defaults to column. 54 55 - pull-up-enabled: An optional property indica 56 If specified implies the keypad scan pull-up 57 58 - autorepeat: Boolean, Enable auto repeat feat 59 subsystem (optional). 60 61 - linux,keymap: The keymap for keys as describ 62 devicetree/bindings/input/matrix-keymap.txt. 63 64 Example: 65 #include "dt-bindings/input/input.h" 66 67 / { 68 keypad: keypad@180ac000 { 69 /* Required SoC specific prope 70 compatible = "brcm,bcm-keypad" 71 72 /* Required Board specific pro 73 keypad,num-rows = <5>; 74 keypad,num-columns = <5>; 75 76 linux,keymap = <MATRIX_KEY(0x0 77 MATRIX_KEY(0x00, 0x03, KEY_HOM 78 MATRIX_KEY(0x00, 0x04, KEY_M) 79 MATRIX_KEY(0x01, 0x00, KEY_A) 80 MATRIX_KEY(0x01, 0x01, KEY_1) 81 MATRIX_KEY(0x01, 0x02, KEY_2) 82 MATRIX_KEY(0x01, 0x03, KEY_3) 83 MATRIX_KEY(0x01, 0x04, KEY_S) 84 MATRIX_KEY(0x02, 0x00, KEY_P) 85 MATRIX_KEY(0x02, 0x01, KEY_4) 86 MATRIX_KEY(0x02, 0x02, KEY_5) 87 MATRIX_KEY(0x02, 0x03, KEY_6) 88 MATRIX_KEY(0x02, 0x04, KEY_VOL 89 MATRIX_KEY(0x03, 0x00, KEY_C) 90 MATRIX_KEY(0x03, 0x01, KEY_7) 91 MATRIX_KEY(0x03, 0x02, KEY_8) 92 MATRIX_KEY(0x03, 0x03, KEY_9) 93 MATRIX_KEY(0x03, 0x04, KEY_VOL 94 MATRIX_KEY(0x04, 0x00, KEY_H) 95 MATRIX_KEY(0x04, 0x01, KEY_KPA 96 MATRIX_KEY(0x04, 0x02, KEY_0) 97 MATRIX_KEY(0x04, 0x03, KEY_GRA 98 MATRIX_KEY(0x04, 0x04, KEY_MUT 99 >; 100 101 /* Optional board specific pro 102 col-debounce-filter-period = < 103 row-output-enabled; 104 pull-up-enabled; 105 106 }; 107 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.