Telios keyboard support.

This commit is contained in:
uch 1999-12-12 17:08:37 +00:00
parent f76253722c
commit b2098820d6
3 changed files with 70 additions and 17 deletions

View File

@ -2,7 +2,7 @@
# Distribution kernel (TX3922 based model) kernel config file
#
# $NetBSD: TX3922,v 1.2 1999/12/08 15:56:03 uch Exp $
# $NetBSD: TX3922,v 1.3 1999/12/12 17:08:37 uch Exp $
#
include "arch/hpcmips/conf/std.hpcmips"
@ -60,9 +60,23 @@ tx39uart* at txsim?
txcom0 at tx39uart? slot 0
txcom1 at tx39uart? slot 1
txcsbus* at tx39biu? platform ?
txcsbus1 at tx39biu? platform SHARP_TELIOS
txcsbus2 at tx39biu? platform VICTOR_INTERLINK
options USE_POLL # m38813,tc5165 requires this
#
# SHARP Telios keyboard driver
# chip select: CS1, IRQ: 3:12/4:12
tc5165buf* at txcsbus1 iocs 1 iocsbase 0 iocssize 0x100 iocswidth 16 irq1 108
skbd* at tc5165buf?
#
# VICTOR InterLink keyboard driver
# chip select: CARD1 IRQ ???
m38813c* at txcsbus2 iocs 8 iocswidth 16 iocsbase 0 iocssize 8
skbd* at m38813c?
options USE_POLL # m38813 requires this
#
# TC6358TB(Plum2)
# register space: CS3,
@ -87,9 +101,10 @@ plumiobus* at plum?
#txisab* at txcsbus? iocs 2 iocswidth 16 irq1 103
# CARD1 io/attr connect
#txisab* at txcsbus? iocs 8 iocswidth 16 irq1 103
m38813c* at txcsbus? iocs 8 iocswidth 16 iocsbase 0 iocssize 8 irq1 103
skbd* at m38813c?
wskbd* at skbd? mux 1
# ISA bus support
#isa* at plumisab?
#isa* at txisab?
# USB bus support
#usb* at ohci?
@ -105,13 +120,10 @@ wskbd* at skbd? mux 1
#ukbd* at uhub? port ? configuration ? interface ?
#wskbd* at ukbd? console ? mux 1
# ISA bus support
#isa* at plumisab?
#isa* at txisab?
# WS console uses SUN or VT100 terminal emulation
fb* at plumvideo?
wsdisplay* at fb?
wskbd* at skbd? mux 1
options WSEMUL_VT100
options WSDISPLAY_DEFAULTSCREENS=4

View File

@ -1,4 +1,4 @@
/* $NetBSD: skbdkeymap.h,v 1.1 1999/12/08 15:49:18 uch Exp $ */
/* $NetBSD: skbdkeymap.h,v 1.2 1999/12/12 17:08:37 uch Exp $ */
/*
* Copyright (c) 1999, by UCHIYAMA Yasushi
@ -25,8 +25,8 @@
* SUCH DAMAGE.
*
*/
#define UNK -1 /* unknown */
#define IGN -2 /* ignore */
#define UNK 255 /* unknown */
#define IGN 254 /* ignore */
const u_int8_t default_keymap[] = {
/* 0 1 2 3 4 5 6 7 */
@ -48,6 +48,26 @@ const u_int8_t default_keymap[] = {
/*15 */ UNK, UNK, UNK, UNK, UNK, UNK, UNK, UNK
};
const u_int8_t tc5165_telios_jp_keymap[] = {
/* 0 1 2 3 4 5 6 7 */
/* 0 */ 58, 15, IGN, 1, IGN, IGN, IGN, IGN,
/* 1 */ IGN, IGN, IGN, IGN, 54, 42, IGN, IGN,
/* 2 */ 31, 18, 4, IGN, IGN, 32, 45, 59,
/* 3 */ 33, 19, 5, 61, IGN, 46, 123, 60,
/* 4 */ 35, 21, 8, 64, IGN, 48, 49, 63,
/* 5 */ 17, 16, 3, IGN, 2, 30, 44, 41,
/* 6 */ IGN, IGN, IGN, IGN, IGN, IGN, IGN, IGN,
/* 7 */ IGN, IGN, IGN, IGN, IGN, IGN, 56, IGN,
/* 8 */ 34, 20, 7, IGN, 6, 47, 57, 62,
/* 9 */ IGN, IGN, IGN, IGN, IGN, IGN, 29, IGN,
/*10 */ 27, 125, 13, 75, 80, 40, 115, 68,
/*11 */ 39, 26, 25, IGN, 12, 52, 53, 67,
/*12 */ 37, 24, 11, IGN, 10, 38, 51, 66,
/*13 */ 23, 22, 9, IGN, IGN, 36, 50, 65,
/*14 */ 156, 43, 14, 72, 77, IGN, IGN, 211,
/*15 */ IGN, IGN, IGN, IGN, IGN, IGN, 221, IGN
};
const u_int8_t p7416_compaq_c_jp_keymap[] = {
/* 0 1 2 3 4 5 6 7 */
/* 0 */ 38, 50, 49, 48, 47, 46, 45, 44,
@ -99,5 +119,8 @@ const struct skbd_keymap_table {
{{{PLATID_WILD, PLATID_MACH_VICTOR_INTERLINK}},
m38813c_keymap, KB_JP},
{{{PLATID_WILD, PLATID_MACH_SHARP_TELIOS}},
tc5165_telios_jp_keymap, KB_JP},
{{{0, 0}}, NULL, 0}
};

View File

@ -1,4 +1,4 @@
/* $NetBSD: tx39.c,v 1.5 1999/12/08 15:54:11 uch Exp $ */
/* $NetBSD: tx39.c,v 1.6 1999/12/12 17:08:37 uch Exp $ */
/*
* Copyright (c) 1999, by UCHIYAMA Yasushi
@ -29,6 +29,7 @@
#include "opt_tx39_debug.h"
#include "m38813c.h"
#include "p7416buf.h"
#include "tc5165buf.h"
#include <sys/param.h>
#include <sys/systm.h>
@ -38,6 +39,9 @@
#include <machine/bootinfo.h> /* bootinfo */
#include <machine/sysconf.h> /* platform */
#include <machine/platid.h>
#include <machine/platid_mask.h>
#include <machine/bus.h>
#include <machine/intr.h>
@ -66,6 +70,9 @@
#if NM38813C > 0
#include <hpcmips/dev/m38813cvar.h>
#endif
#if NTC5165BUF > 0
#include <hpcmips/dev/tc5165bufvar.h>
#endif
extern unsigned nullclkread __P((void));
extern unsigned (*clkread) __P((void));
@ -265,6 +272,8 @@ void
tx_cons_init()
{
int slot;
#define CONSPLATIDMATCH(p) \
platid_match(&platid, &platid_mask_MACH_##p)
#ifdef SERIALCONSSLOT
slot = SERIALCONSSLOT;
@ -279,11 +288,20 @@ tx_cons_init()
}
} else {
#if NP7416BUF > 0
if(p7416buf_cnattach(TX39_SYSADDR_CS3)) {
if(CONSPLATIDMATCH(COMPAQ_C) &&
p7416buf_cnattach(TX39_SYSADDR_CS3)) {
panic("tx_cons_init: can't init console");
}
#elif NM38813C > 0
if(m38813c_cnattach(TX39_SYSADDR_CARD1)) {
#endif
#if NM38813C > 0
if(CONSPLATIDMATCH(VICTOR_INTERLINK) &&
m38813c_cnattach(TX39_SYSADDR_CARD1)) {
panic("tx_cons_init: can't init console");
}
#endif
#if NTC5165BUF > 0
if(CONSPLATIDMATCH(SHARP_TELIOS) &&
tc5165buf_cnattach(TX39_SYSADDR_CS1)) {
panic("tx_cons_init: can't init console");
}
#endif