Boot support for the VXT2000 X terminal, based on some info on the VAXLinux

mailing list.
This commit is contained in:
ragge 2002-05-24 21:40:59 +00:00
parent aa676fc0b2
commit 4d559e645f
4 changed files with 56 additions and 7 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: autoconf.c,v 1.16 2002/02/24 01:04:24 matt Exp $ */
/* $NetBSD: autoconf.c,v 1.17 2002/05/24 21:40:59 ragge Exp $ */
/*
* Copyright (c) 1994, 1998 Ludd, University of Lule}, Sweden.
* All rights reserved.
@ -164,7 +164,8 @@ scbinit()
}
scb_vec[0xc0/4].hoppaddr = rtimer;
mtpr(-10000, PR_NICR); /* Load in count register */
if (vax_boardtype != VAX_BTYP_VXT)
mtpr(-10000, PR_NICR); /* Load in count register */
mtpr(0x800000d1, PR_ICCS); /* Start clock and enable interrupt */
mtpr(20, PR_IPL);

View File

@ -1,4 +1,4 @@
/* $NetBSD: consio.c,v 1.12 2001/05/04 14:13:50 ragge Exp $ */
/* $NetBSD: consio.c,v 1.13 2002/05/24 21:40:59 ragge Exp $ */
/*
* Copyright (c) 1994, 1998 Ludd, University of Lule}, Sweden.
* All rights reserved.
@ -80,6 +80,10 @@ void ka53_rom_putchar(int c);
int ka53_rom_getchar(void);
int ka53_rom_testchar(void);
void vxt_putchar(int c);
int vxt_getchar(void);
int vxt_testchar(void);
void putchar(int);
int getchar(void);
int testkey(void);
@ -145,6 +149,12 @@ consinit(void)
rom_getc = 0x20040044; /* 537133124 */
break;
case VAX_BTYP_VXT:
put_fp = vxt_putchar;
get_fp = vxt_getchar;
test_fp = vxt_testchar;
break;
case VAX_BTYP_630:
ka630_consinit();
break;
@ -265,3 +275,34 @@ void ka53_consinit(void)
get_fp = ka53_rom_getchar;
test_fp = ka53_rom_testchar;
}
static volatile int *vxtregs = (int *)0x200A0000;
#define CH_SR 1
#define CH_DAT 3
#define SR_TX_RDY 0x04
#define SR_RX_RDY 0x01
void
vxt_putchar(int c)
{
while ((vxtregs[CH_SR] & SR_TX_RDY) == 0)
;
vxtregs[CH_DAT] = c;
}
int
vxt_getchar(void)
{
while ((vxtregs[CH_SR] & SR_RX_RDY) == 0)
;
return vxtregs[CH_DAT];
}
int
vxt_testchar(void)
{
if ((vxtregs[CH_SR] & SR_RX_RDY) == 0)
return 0;
return vxtregs[CH_DAT];
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: devopen.c,v 1.9 2001/05/01 13:08:09 ragge Exp $ */
/* $NetBSD: devopen.c,v 1.10 2002/05/24 21:40:59 ragge Exp $ */
/*
* Copyright (c) 1997 Ludd, University of Lule}, Sweden.
* All rights reserved.
@ -175,6 +175,10 @@ devopen(f, fname, file)
csrbase = 0x20000000;
break;
case VAX_BTYP_VXT:
nexaddr = 0;
csrbase = bootrpb.csrphy;
break;
default:
nexaddr = 0; /* No map regs */
csrbase = 0x20000000;

View File

@ -1,4 +1,4 @@
/* $NetBSD: if_ze.c,v 1.10 2000/05/20 13:30:03 ragge Exp $ */
/* $NetBSD: if_ze.c,v 1.11 2002/05/24 21:40:59 ragge Exp $ */
/*
* Copyright (c) 1998 James R. Maynard III. All rights reserved.
*
@ -97,8 +97,11 @@ zeopen(struct open_file *f, int adapt, int ctlr, int unit, int part)
}
/* Get our Ethernet address */
if (vax_boardtype == VAX_BTYP_49) {
nisa_rom = (u_long *)0x27800000;
if (vax_boardtype == VAX_BTYP_49 || vax_boardtype == VAX_BTYP_VXT) {
if (vax_boardtype == VAX_BTYP_VXT)
nisa_rom = (u_long *)0x20040028; /* XXX */
else
nisa_rom = (u_long *)0x27800000;
for (i=0; i<ETHER_ADDR_LEN; i++)
ze_myaddr[i] = nisa_rom[i] & 0377;
} else {