newton:jyk modify key
author蔡枫 <cf@rock-chips.com>
Fri, 12 Aug 2011 06:46:28 +0000 (14:46 +0800)
committer蔡枫 <cf@rock-chips.com>
Fri, 12 Aug 2011 06:46:28 +0000 (14:46 +0800)
arch/arm/mach-rk29/Makefile
arch/arm/mach-rk29/board-rk29-newton-key.c [new file with mode: 0755]

index 44e0cf596c78c9693f6b1675603f3289e7669e8e..c3521e0db7e53b4f6143dabef32c0634d9145986 100755 (executable)
@@ -22,5 +22,5 @@ obj-$(CONFIG_MACH_RK29_PHONESDK) += board-rk29-phonesdk.o board-rk29-phonesdk-ke
 obj-$(CONFIG_MACH_RK29FIH) += board-rk29-fih.o board-rk29-fih-key.o board-rk29sdk-rfkill.o board-rk29sdk-power.o
 obj-$(CONFIG_MACH_RK29_A22) += board-rk29-a22.o board-rk29-a22-key.o board-rk29-a22-rfkill.o
 obj-$(CONFIG_MACH_RK29_PHONEPADSDK) += board-rk29phonepadsdk.o board-rk29phonepadsdk-key.o board-rk29phonepadsdk-rfkill.o board-rk29phonepadsdk-power.o
-obj-$(CONFIG_MACH_RK29_newton) += board-rk29-newton.o board-rk29sdk-key.o board-rk29sdk-rfkill.o board-rk29sdk-power.o
+obj-$(CONFIG_MACH_RK29_newton) += board-rk29-newton.o board-rk29-newton-key.o board-rk29sdk-rfkill.o board-rk29sdk-power.o
 
diff --git a/arch/arm/mach-rk29/board-rk29-newton-key.c b/arch/arm/mach-rk29/board-rk29-newton-key.c
new file mode 100755 (executable)
index 0000000..03bdc73
--- /dev/null
@@ -0,0 +1,114 @@
+#include <mach/key.h>
+#include <mach/gpio.h>
+#include <mach/board.h>
+
+#define EV_ENCALL                              KEY_F4
+#define EV_MENU                                        KEY_F1
+
+#define PRESS_LEV_LOW                  1
+#define PRESS_LEV_HIGH                 0
+
+static struct rk29_keys_button key_button[] = {
+       {
+               .desc   = "menu",
+               .code   = EV_MENU,
+               .gpio   = RK29_PIN6_PA3,  // PA0--> PA3: home -> menu
+               .active_low = PRESS_LEV_LOW,
+       },
+       {
+               .desc   = "vol+",
+               .code   = KEY_VOLUMEUP,
+               .gpio   = RK29_PIN6_PA2,
+               .active_low = PRESS_LEV_LOW,
+       },
+       {
+               .desc   = "vol-",
+               .code   = KEY_VOLUMEDOWN,
+               .gpio   = RK29_PIN6_PA1,
+               .active_low = PRESS_LEV_LOW,
+       },
+       {
+               .desc   = "home",
+               .code   = KEY_HOME,
+               .gpio   = RK29_PIN6_PA5,  //PA3 --> PA5
+               .active_low = PRESS_LEV_LOW,
+       },
+       {
+               .desc   = "search",
+               .code   = KEY_SEARCH,
+               .gpio   = RK29_PIN6_PA4,
+               .active_low = PRESS_LEV_LOW,
+       },
+       {
+               .desc   = "esc",
+               .code   = KEY_BACK,
+               .gpio   = RK29_PIN6_PA0, //PA5-->PA0: menu-> esc
+               .active_low = PRESS_LEV_LOW,
+       },
+       {
+               .desc   = "sensor",
+               .code   = KEY_CAMERA,
+               .gpio   = RK29_PIN6_PA6,
+               .active_low = PRESS_LEV_LOW,
+       },
+       {
+               .desc   = "play",
+               .code   = KEY_POWER,
+               .gpio   = RK29_PIN6_PA7,
+               .active_low = PRESS_LEV_LOW,
+               //.code_long_press = EV_ENCALL,
+               .wakeup = 1,
+       },
+#if 0
+       {
+               .desc   = "vol+",
+               .code   = KEY_VOLUMEDOWN,
+               .adc_value      = 95,
+               .gpio = INVALID_GPIO,
+               .active_low = PRESS_LEV_LOW,
+       },
+       {
+               .desc   = "vol-",
+               .code   = KEY_VOLUMEUP,
+               .adc_value      = 249,
+               .gpio = INVALID_GPIO,
+               .active_low = PRESS_LEV_LOW,
+       },
+       {
+               .desc   = "menu",
+               .code   = EV_MENU,
+               .adc_value      = 406,
+               .gpio = INVALID_GPIO,
+               .active_low = PRESS_LEV_LOW,
+       },
+       {
+               .desc   = "home",
+               .code   = KEY_HOME,
+               .code_long_press = KEY_F4,
+               .adc_value      = 561,
+               .gpio = INVALID_GPIO,
+               .active_low = PRESS_LEV_LOW,
+       },
+       {
+               .desc   = "esc",
+               .code   = KEY_ESC,
+               .adc_value      = 726,
+               .gpio = INVALID_GPIO,
+               .active_low = PRESS_LEV_LOW,
+       },
+       {
+               .desc   = "adkey6",
+               .code   = KEY_BACK,
+               .code_long_press = EV_ENCALL,
+               .adc_value      = 899,
+               .gpio = INVALID_GPIO,
+               .active_low = PRESS_LEV_LOW,
+       },
+#endif
+};
+struct rk29_keys_platform_data rk29_keys_pdata = {
+       .buttons        = key_button,
+       .nbuttons       = ARRAY_SIZE(key_button),
+       .chn    = -1,  //chn: 0-7, if do not use ADC,set 'chn' -1
+};
+