create fih key file
authorcwz <cwz@rockchips.com>
Thu, 14 Apr 2011 09:39:37 +0000 (02:39 -0700)
committercwz <cwz@rockchips.com>
Thu, 14 Apr 2011 09:39:37 +0000 (02:39 -0700)
arch/arm/mach-rk29/Makefile
arch/arm/mach-rk29/board-rk29-fih-key.c [new file with mode: 0755]

index 7d08569fcf702bfa60f3951dcb1169baca54ff8f..e5b4cb8ef2898e6f1c48940ee72ea56c392c5710 100644 (file)
@@ -13,6 +13,6 @@ obj-$(CONFIG_MACH_RK29SDK_DDR3) += board-rk29-ddr3sdk.o board-rk29sdk-key.o boar
 obj-$(CONFIG_MACH_RK29WINACCORD) += board-rk29-winaccord.o board-rk29sdk-key.o
 obj-$(CONFIG_MACH_RK29_MALATA) += board-malata.o board-rk29malata-key.o board-rk29sdk-rfkill.o
 obj-$(CONFIG_MACH_RK29_PHONESDK) += board-rk29-phonesdk.o board-rk29-phonesdk-key.o board-rk29-phonesdk-rfkill.o
-obj-$(CONFIG_MACH_RK29FIH)             += board-rk29-fih.o board-rk29sdk-key.o board-rk29sdk-rfkill.o board-rk29sdk-power.o
+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
 
diff --git a/arch/arm/mach-rk29/board-rk29-fih-key.c b/arch/arm/mach-rk29/board-rk29-fih-key.c
new file mode 100755 (executable)
index 0000000..8e35456
--- /dev/null
@@ -0,0 +1,67 @@
+#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_PA0,
+               .active_low = PRESS_LEV_LOW,
+       },
+       {
+               .desc   = "vol+",
+               .code   = KEY_VOLUMEUP,
+               .gpio   = RK29_PIN6_PA1,
+               .active_low = PRESS_LEV_LOW,
+       },
+       {
+               .desc   = "vol-",
+               .code   = KEY_VOLUMEDOWN,
+               .gpio   = RK29_PIN6_PA2,
+               .active_low = PRESS_LEV_LOW,
+       },
+       {
+               .desc   = "home",
+               .code   = KEY_HOME,
+               .gpio   = RK29_PIN6_PA3,
+               .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_PA5,
+               .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_HIGH,
+               .wakeup = 1,
+       },
+};
+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
+};
+