androidComputer: changed for display
[firefly-linux-kernel-4.4.55.git] / arch / arm / mach-rk29 / board-rk29k97-key.c
1 #include <mach/key.h>
2 #include <mach/gpio.h>
3 #include <mach/board.h>
4
5 #define EV_ENCALL                               KEY_F4
6 #define EV_MENU                                 KEY_F1
7
8 #define PRESS_LEV_LOW                   1
9 #define PRESS_LEV_HIGH                  0
10
11 static struct rk29_keys_button key_button[] = {
12         {
13                 .desc   = "menu",
14                 .code   = EV_MENU,
15                 .gpio   = RK29_PIN6_PA4,
16                 .active_low = PRESS_LEV_LOW,
17         },
18         {
19                 .desc   = "vol+",
20                 .code   = KEY_VOLUMEUP,
21                 .gpio   = RK29_PIN6_PA1,
22                 .active_low = PRESS_LEV_LOW,
23         },
24         {
25                 .desc   = "vol-",
26                 .code   = KEY_VOLUMEDOWN,
27                 .gpio   = RK29_PIN6_PA2,
28                 .active_low = PRESS_LEV_LOW,
29         },
30         {
31                 .desc   = "home",
32                 .code   = KEY_HOME,
33                 .gpio   = RK29_PIN6_PA3,
34                 .active_low = PRESS_LEV_LOW,
35         },
36         {
37                 .desc   = "esc",
38                 .code   = KEY_BACK,
39                 .gpio   = RK29_PIN6_PA0,
40                 .active_low = PRESS_LEV_LOW,
41         },
42         {
43                 .desc   = "sensor",
44                 .code   = KEY_CAMERA,
45                 .gpio   = RK29_PIN6_PA6,
46                 .active_low = PRESS_LEV_LOW,
47         },
48         {
49                 .desc   = "play",
50                 .code   = KEY_POWER,
51                 .gpio   = RK29_PIN6_PA7,
52                 .active_low = PRESS_LEV_LOW,
53                 //.code_long_press = EV_ENCALL,
54                 .wakeup = 1,
55         },
56 #if 0
57         {
58                 .desc   = "vol+",
59                 .code   = KEY_VOLUMEDOWN,
60                 .adc_value      = 95,
61                 .gpio = INVALID_GPIO,
62                 .active_low = PRESS_LEV_LOW,
63         },
64         {
65                 .desc   = "vol-",
66                 .code   = KEY_VOLUMEUP,
67                 .adc_value      = 249,
68                 .gpio = INVALID_GPIO,
69                 .active_low = PRESS_LEV_LOW,
70         },
71         {
72                 .desc   = "menu",
73                 .code   = EV_MENU,
74                 .adc_value      = 406,
75                 .gpio = INVALID_GPIO,
76                 .active_low = PRESS_LEV_LOW,
77         },
78         {
79                 .desc   = "home",
80                 .code   = KEY_HOME,
81                 .code_long_press = KEY_F4,
82                 .adc_value      = 561,
83                 .gpio = INVALID_GPIO,
84                 .active_low = PRESS_LEV_LOW,
85         },
86         {
87                 .desc   = "esc",
88                 .code   = KEY_ESC,
89                 .adc_value      = 726,
90                 .gpio = INVALID_GPIO,
91                 .active_low = PRESS_LEV_LOW,
92         },
93         {
94                 .desc   = "adkey6",
95                 .code   = KEY_BACK,
96                 .code_long_press = EV_ENCALL,
97                 .adc_value      = 899,
98                 .gpio = INVALID_GPIO,
99                 .active_low = PRESS_LEV_LOW,
100         },
101 #endif
102 };
103 struct rk29_keys_platform_data rk29_keys_pdata = {
104         .buttons        = key_button,
105         .nbuttons       = ARRAY_SIZE(key_button),
106         .chn    = -1,  //chn: 0-7, if do not use ADC,set 'chn' -1
107 };
108