1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef __KEYPAD_EP93XX_H 3*4882a593Smuzhiyun #define __KEYPAD_EP93XX_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun struct matrix_keymap_data; 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun /* flags for the ep93xx_keypad driver */ 8*4882a593Smuzhiyun #define EP93XX_KEYPAD_DISABLE_3_KEY (1<<0) /* disable 3-key reset */ 9*4882a593Smuzhiyun #define EP93XX_KEYPAD_DIAG_MODE (1<<1) /* diagnostic mode */ 10*4882a593Smuzhiyun #define EP93XX_KEYPAD_BACK_DRIVE (1<<2) /* back driving mode */ 11*4882a593Smuzhiyun #define EP93XX_KEYPAD_TEST_MODE (1<<3) /* scan only column 0 */ 12*4882a593Smuzhiyun #define EP93XX_KEYPAD_AUTOREPEAT (1<<4) /* enable key autorepeat */ 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun /** 15*4882a593Smuzhiyun * struct ep93xx_keypad_platform_data - platform specific device structure 16*4882a593Smuzhiyun * @keymap_data: pointer to &matrix_keymap_data 17*4882a593Smuzhiyun * @debounce: debounce start count; terminal count is 0xff 18*4882a593Smuzhiyun * @prescale: row/column counter pre-scaler load value 19*4882a593Smuzhiyun * @flags: see above 20*4882a593Smuzhiyun */ 21*4882a593Smuzhiyun struct ep93xx_keypad_platform_data { 22*4882a593Smuzhiyun struct matrix_keymap_data *keymap_data; 23*4882a593Smuzhiyun unsigned int debounce; 24*4882a593Smuzhiyun unsigned int prescale; 25*4882a593Smuzhiyun unsigned int flags; 26*4882a593Smuzhiyun unsigned int clk_rate; 27*4882a593Smuzhiyun }; 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun #define EP93XX_MATRIX_ROWS (8) 30*4882a593Smuzhiyun #define EP93XX_MATRIX_COLS (8) 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun #endif /* __KEYPAD_EP93XX_H */ 33