summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64/dev
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2011-03-18 21:01:18 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2011-03-18 21:01:18 +0000
commite8992af3c081d88dfb9bf31fb5801e2aea57e815 (patch)
tree91a6e0ab7e349b66e6218212e55c6a1aedef87ed /sys/arch/sparc64/dev
parent484d330da4300f7093d4c69dacebcb1d58a0f293 (diff)
Add some delay between a successful keyboard reset sequence and a keyboard
layout inquiry, as some PS/2 converters (at least the Starview SV 125) need it to behave correctly. Found the hard way and researched by Mike Malopolski, thanks!
Diffstat (limited to 'sys/arch/sparc64/dev')
-rw-r--r--sys/arch/sparc64/dev/comkbd_ebus.c4
-rw-r--r--sys/arch/sparc64/dev/z8530kbd.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/sys/arch/sparc64/dev/comkbd_ebus.c b/sys/arch/sparc64/dev/comkbd_ebus.c
index 1ee82f962bd..9c7c9ec0f51 100644
--- a/sys/arch/sparc64/dev/comkbd_ebus.c
+++ b/sys/arch/sparc64/dev/comkbd_ebus.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: comkbd_ebus.c,v 1.20 2009/01/11 16:12:15 miod Exp $ */
+/* $OpenBSD: comkbd_ebus.c,v 1.21 2011/03/18 21:01:17 miod Exp $ */
/*
* Copyright (c) 2002 Jason L. Wright (jason@thought.net)
@@ -483,6 +483,8 @@ comkbd_init(sc)
if (ltries == 0)
continue;
+ /* Some Sun<=>PS/2 converters need some delay here */
+ DELAY(5000);
/* Send layout request */
comkbd_putc(sc, SKBD_CMD_LAYOUT);
diff --git a/sys/arch/sparc64/dev/z8530kbd.c b/sys/arch/sparc64/dev/z8530kbd.c
index 0b7c99e58e0..63426e0f466 100644
--- a/sys/arch/sparc64/dev/z8530kbd.c
+++ b/sys/arch/sparc64/dev/z8530kbd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: z8530kbd.c,v 1.23 2009/01/12 21:11:58 miod Exp $ */
+/* $OpenBSD: z8530kbd.c,v 1.24 2011/03/18 21:01:17 miod Exp $ */
/* $NetBSD: z8530tty.c,v 1.77 2001/05/30 15:24:24 lukem Exp $ */
/*-
@@ -538,6 +538,8 @@ zskbd_init(zst)
if (ltries == 0)
continue;
+ /* Some Sun<=>PS/2 converters need some delay here */
+ DELAY(5000);
/* Send layout request */
zskbd_putc(zst, SKBD_CMD_LAYOUT);