summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLiGang <b41990@freescale.com>2012-10-30 13:47:15 +0800
committerLiGang <b41990@freescale.com>2012-10-30 13:47:15 +0800
commit07a5dceee3891fd56d82f98d9b3547f16d36e2f6 (patch)
tree054d018b15fcad2714997cd19c2a84a915532fce /include
parenta7decba6225c7691919ad5798627c970f447da14 (diff)
ENGR00230967 Enable recovery mode by keys when boot
1. Add matrix key support 2. Add recovery mode support by pressing power key and volume down key when boot SW10 on MX6SL-EVK board configed as volume down key. SW1 on MX6SL-EVK board configed as power key Signed-off-by: LiGang <b41990@freescale.com>
Diffstat (limited to 'include')
-rw-r--r--include/asm-arm/arch-mx6/mx6sl_pins.h13
-rw-r--r--include/configs/mx6sl_evk_android.h16
2 files changed, 24 insertions, 5 deletions
diff --git a/include/asm-arm/arch-mx6/mx6sl_pins.h b/include/asm-arm/arch-mx6/mx6sl_pins.h
index fbb966d4e9..fa1fe985e3 100644
--- a/include/asm-arm/arch-mx6/mx6sl_pins.h
+++ b/include/asm-arm/arch-mx6/mx6sl_pins.h
@@ -59,6 +59,9 @@
#define MX6SL_ECSPI_PAD_CTRL (PAD_CTL_SRE_FAST | PAD_CTL_SPEED_MED | \
PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
+#define MX6SL_KEYPAD_CTRL (PAD_CTL_HYS | PAD_CTL_PKE | PAD_CTL_PUE | \
+ PAD_CTL_PUS_100K_UP | PAD_CTL_DSE_120ohm)
+
#define MX6SL_PAD_AUD_MCLK__AUDMUX_AUDIO_CLK_OUT \
IOMUX_PAD(0x02A4, 0x004C, 0, 0x0000, 0, NO_PAD_CTRL)
#define MX6SL_PAD_AUD_MCLK__PWM4_PWMO \
@@ -1696,7 +1699,7 @@
IOMUX_PAD(0x0490, 0x0188, 7, 0x0000, 0, NO_PAD_CTRL)
#define MX6SL_PAD_KEY_ROW0__KPP_ROW_0 \
- IOMUX_PAD(0x0494, 0x018C, 0, 0x0754, 0, NO_PAD_CTRL)
+ IOMUX_PAD(0x0494, 0x018C, 0, 0x0754, 0, MX6SL_KEYPAD_CTRL)
#define MX6SL_PAD_KEY_ROW0__I2C2_SDA \
IOMUX_PAD(0x0494, 0x018C, 1 | IOMUX_CONFIG_SION, 0x0728, 2, MX6SL_I2C_PAD_CTRL)
#define MX6SL_PAD_KEY_ROW0__LCDIF_DAT_1 \
@@ -1713,7 +1716,7 @@
IOMUX_PAD(0x0494, 0x018C, 7, 0x0000, 0, NO_PAD_CTRL)
#define MX6SL_PAD_KEY_ROW1__KPP_ROW_1 \
- IOMUX_PAD(0x0498, 0x0190, 0, 0x0758, 0, NO_PAD_CTRL)
+ IOMUX_PAD(0x0498, 0x0190, 0, 0x0758, 0, MX6SL_KEYPAD_CTRL)
#define MX6SL_PAD_KEY_ROW1__ECSPI4_MISO \
IOMUX_PAD(0x0498, 0x0190, 1, 0x06D4, 2, NO_PAD_CTRL)
#define MX6SL_PAD_KEY_ROW1__LCDIF_DAT_3 \
@@ -1730,7 +1733,7 @@
IOMUX_PAD(0x0498, 0x0190, 7, 0x0000, 0, NO_PAD_CTRL)
#define MX6SL_PAD_KEY_ROW2__KPP_ROW_2 \
- IOMUX_PAD(0x049C, 0x0194, 0, 0x075C, 0, NO_PAD_CTRL)
+ IOMUX_PAD(0x049C, 0x0194, 0, 0x075C, 0, MX6SL_KEYPAD_CTRL)
#define MX6SL_PAD_KEY_ROW2__ECSPI4_SCLK \
IOMUX_PAD(0x049C, 0x0194, 1, 0x06D0, 2, NO_PAD_CTRL)
#define MX6SL_PAD_KEY_ROW2__LCDIF_DAT_5 \
@@ -1747,7 +1750,7 @@
IOMUX_PAD(0x049C, 0x0194, 7, 0x0000, 0, NO_PAD_CTRL)
#define MX6SL_PAD_KEY_ROW3__KPP_ROW_3 \
- IOMUX_PAD(0x04A0, 0x0198, 0, 0x0760, 0, NO_PAD_CTRL)
+ IOMUX_PAD(0x04A0, 0x0198, 0, 0x0760, 0, MX6SL_KEYPAD_CTRL)
#define MX6SL_PAD_KEY_ROW3__AUDMUX_AUD6_RXC \
IOMUX_PAD(0x04A0, 0x0198, 1, 0x061C, 1, NO_PAD_CTRL)
#define MX6SL_PAD_KEY_ROW3__LCDIF_DAT_7 \
@@ -2949,7 +2952,7 @@
#define MX6SL_PAD_WDOG_B__UART5_RI \
IOMUX_PAD(0x05A8, 0x02A0, 2, 0x0000, 0, MX6SL_UART_PAD_CTRL)
#define MX6SL_PAD_WDOG_B__GPIO_3_18 \
- IOMUX_PAD(0x05A8, 0x02A0, 5, 0x0000, 0, NO_PAD_CTRL)
+ IOMUX_PAD(0x05A8, 0x02A0, 5, 0x0000, 0, MX6SL_KEYPAD_CTRL)
#define MX6SL_PAD_WDOG_B__OBSERVE_MUX_OUT_2 \
IOMUX_PAD(0x05A8, 0x02A0, 7, 0x0000, 0, NO_PAD_CTRL)
diff --git a/include/configs/mx6sl_evk_android.h b/include/configs/mx6sl_evk_android.h
index a7f782b9e0..ded9345256 100644
--- a/include/configs/mx6sl_evk_android.h
+++ b/include/configs/mx6sl_evk_android.h
@@ -23,6 +23,7 @@
#define MX6SL_EVK_ANDROID_H
#include <configs/mx6sl_evk.h>
+#include <asm/mxc_key_defs.h>
#define CONFIG_USB_DEVICE
#define CONFIG_IMX_UDC 1
@@ -48,6 +49,21 @@
#define CONFIG_CMD_BOOTI
#define CONFIG_ANDROID_RECOVERY
+
+#define CONFIG_VOL_DOWN_KEY KEY_4
+
+#define CONFIG_MXC_KPD
+#define CONFIG_MXC_KEYMAPPING \
+ { \
+ KEY_SELECT, KEY_BACK, KEY_1, KEY_2, \
+ KEY_3, KEY_4, KEY_5, KEY_MENU, \
+ KEY_6, KEY_7, KEY_8, KEY_9, \
+ KEY_UP, KEY_LEFT, KEY_RIGHT, KEY_DOWN, \
+ }
+#define CONFIG_MXC_KPD_COLMAX 4
+#define CONFIG_MXC_KPD_ROWMAX 4
+
+
/* which mmc bus is your main storage ? */
#define CONFIG_ANDROID_MAIN_MMC_BUS 0
#define CONFIG_ANDROID_BOOT_PARTITION_MMC 1