summaryrefslogtreecommitdiff
path: root/drivers/i8042.c
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2006-02-22 14:15:41 -0600
committerKumar Gala <galak@kernel.crashing.org>2006-02-22 14:15:41 -0600
commit79582020313e6d992a3bac71cf3a9b337f9ac7f7 (patch)
tree5eefe0c7b244ffd0798e64f9a83ec7084032a816 /drivers/i8042.c
parent230b31febf39f9d9f19679cf0112d9e30415122d (diff)
parent6624b687bc2b747233090e67628df37d1c84ed17 (diff)
downloadu-boot-imx-79582020313e6d992a3bac71cf3a9b337f9ac7f7.zip
u-boot-imx-79582020313e6d992a3bac71cf3a9b337f9ac7f7.tar.gz
u-boot-imx-79582020313e6d992a3bac71cf3a9b337f9ac7f7.tar.bz2
Merge rsync://rsync.denx.de/git/u-boot
Diffstat (limited to 'drivers/i8042.c')
-rw-r--r--drivers/i8042.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/i8042.c b/drivers/i8042.c
index e21978d..5f273a2 100644
--- a/drivers/i8042.c
+++ b/drivers/i8042.c
@@ -29,6 +29,14 @@
#ifdef CONFIG_I8042_KBD
+#ifdef CONFIG_USE_CPCIDVI
+extern u8 gt_cpcidvi_in8(u32 offset);
+extern void gt_cpcidvi_out8(u32 offset, u8 data);
+
+#define in8(a) gt_cpcidvi_in8(a)
+#define out8(a, b) gt_cpcidvi_out8(a,b)
+#endif
+
#include <i8042.h>
/* defines */
@@ -318,6 +326,13 @@ int i8042_kbd_init (void)
int keymap, try;
char *penv;
+#ifdef CONFIG_USE_CPCIDVI
+ if ((penv = getenv ("console")) != NULL) {
+ if (strncmp (penv, "serial", 7) == 0) {
+ return -1;
+ }
+ }
+#endif
/* Init keyboard device (default US layout) */
keymap = KBD_US;
if ((penv = getenv ("keymap")) != NULL)
@@ -633,7 +648,11 @@ static int kbd_reset (void)
if (kbd_input_empty() == 0)
return -1;
+#ifdef CONFIG_USE_CPCIDVI
+ out8 (I8042_COMMAND_REG, 0x60);
+#else
out8 (I8042_DATA_REG, 0x60);
+#endif
if (kbd_input_empty() == 0)
return -1;