aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-omap2/board-tuna-input.c11
-rw-r--r--arch/arm/mach-omap2/board-tuna.c8
2 files changed, 10 insertions, 9 deletions
diff --git a/arch/arm/mach-omap2/board-tuna-input.c b/arch/arm/mach-omap2/board-tuna-input.c
index bcfa28f..3e9dc58 100644
--- a/arch/arm/mach-omap2/board-tuna-input.c
+++ b/arch/arm/mach-omap2/board-tuna-input.c
@@ -23,6 +23,7 @@
#include <plat/omap4-keypad.h>
#include "board-tuna.h"
+#include "mux.h"
static const int tuna_keymap[] = {
KEY(1, 1, KEY_VOLUMEDOWN),
@@ -98,13 +99,21 @@ void __init omap4_tuna_input_init(void)
{
gpio_request(46, "tsp_int_n");
gpio_direction_input(46);
+ omap_mux_init_gpio(46, OMAP_PIN_INPUT_PULLUP);
gpio_request(54, "tsp_en");
gpio_direction_output(54, 1);
+ omap_mux_init_gpio(54, OMAP_PIN_OUTPUT);
i2c_register_board_info(3, tuna_i2c3_boardinfo,
ARRAY_SIZE(tuna_i2c3_boardinfo));
- omap4_keyboard_init(&tuna_keypad_data);
+ if (omap4_tuna_get_revision() == TUNA_REV_PRE_LUNCHBOX) {
+ omap_mux_init_signal("kpd_row1.kpd_row1", OMAP_PIN_INPUT_PULLUP);
+ omap_mux_init_signal("kpd_row2.kpd_row2", OMAP_PIN_INPUT_PULLUP);
+ omap_mux_init_signal("kpd_col1.kpd_col1", OMAP_PIN_OUTPUT);
+ omap4_keyboard_init(&tuna_keypad_data);
+ }
+
platform_device_register(&tuna_gpio_keypad_device);
}
diff --git a/arch/arm/mach-omap2/board-tuna.c b/arch/arm/mach-omap2/board-tuna.c
index 07ff794..30abde1 100644
--- a/arch/arm/mach-omap2/board-tuna.c
+++ b/arch/arm/mach-omap2/board-tuna.c
@@ -344,14 +344,6 @@ static struct omap_board_mux board_mux[] __initdata = {
OMAP4_MUX(CSI21_DY3, OMAP_MUX_MODE3 | OMAP_PIN_INPUT),
OMAP4_MUX(CSI21_DX3, OMAP_MUX_MODE3 | OMAP_PIN_INPUT),
OMAP4_MUX(USBB2_HSIC_STROBE, OMAP_MUX_MODE3 | OMAP_PIN_INPUT),
- /* key gpios */
- OMAP4_MUX(KPD_ROW1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
- OMAP4_MUX(KPD_ROW2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
- OMAP4_MUX(KPD_COL1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
- /* touch int */
- OMAP4_MUX(GPMC_A22, OMAP_MUX_MODE3 | OMAP_PIN_INPUT_PULLUP),
- /* touch en */
- OMAP4_MUX(GPMC_NWP, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT),
/* hsmmc d0-d7 */
OMAP4_MUX(GPMC_AD0, OMAP_MUX_MODE1 | OMAP_PIN_INPUT_PULLUP),
OMAP4_MUX(GPMC_AD1, OMAP_MUX_MODE1 | OMAP_PIN_INPUT_PULLUP),