Add speed entries for 7200 and multiples.
Add as-yet-unused speed entries for a 1x SCC clock, up to 200 Kbits. Remove old top-bit-means-delay code, since nothing seems to need it, and it apparently partially broke lk-201 initialization anyway.
This commit is contained in:
parent
ae1b64d888
commit
8945da0c58
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: scc.c,v 1.4 1995/09/25 22:10:56 jonathan Exp $ */
|
||||
/* $NetBSD: scc.c,v 1.5 1995/09/29 21:55:19 jonathan Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1991,1990,1989,1994,1995 Carnegie Mellon University
|
||||
@ -214,12 +214,42 @@ struct speedtab sccspeedtab[] = {
|
||||
{ 1800, 126, },
|
||||
{ 2400, 94, },
|
||||
{ 4800, 46, },
|
||||
{ 7200, 30, }, /* 7.2 (an d14.4, 28.8, 57.6) non-POSSIX */
|
||||
{ 9600, 22, },
|
||||
{ 14400, 14, }, /* non-POSIX */
|
||||
{ 19200, 10, },
|
||||
{ 38400, 4, },
|
||||
{ 28800, 6, }, /* non-POSIX */
|
||||
{ 38400, 4, }, /* all higher speeds are non-POSIX */
|
||||
{ 57600, 2, },
|
||||
{ 76800, 1, },
|
||||
{ 115200, 0 },
|
||||
{ -1, -1, },
|
||||
};
|
||||
|
||||
#if 0
|
||||
/* speed selections with clock x1 */
|
||||
{
|
||||
{ 0, 0 },
|
||||
{ 300, 24574 },
|
||||
{ 300, 12286 },
|
||||
{ 600, 6142 },
|
||||
{ 1200, 3070 },
|
||||
{ 2400, 1534 },
|
||||
{ 4800, 766 },
|
||||
{ 7200, 510 },
|
||||
{ 9600, 382 },
|
||||
{ 14400, 254 },
|
||||
{ 19200, 190 },
|
||||
{ 28800, 126 },
|
||||
{ 38400, 94 },
|
||||
{ 57600, 62, },
|
||||
{ 76800, 46, },
|
||||
{ 115200, 30 },
|
||||
{ 204800, 16 },
|
||||
{ 230400, 14 },
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef PORTSELECTOR
|
||||
#define ISPEED TTYDEF_SPEED
|
||||
#define LFLAG TTYDEF_LFLAG
|
||||
@ -434,6 +464,7 @@ sccattach(parent, self, aux)
|
||||
{
|
||||
s = spltty();
|
||||
#ifdef pmax
|
||||
printf("wiring unit %d as console\n", SCCUNIT(cn_tab->cn_dev));
|
||||
ctty.t_dev = cn_tab->cn_dev;
|
||||
#else
|
||||
ctty.t_dev = makedev(SCCDEV,
|
||||
@ -1079,23 +1110,7 @@ sccstart(tp)
|
||||
goto out;
|
||||
}
|
||||
|
||||
#ifndef SCC_PARITY_MEANS_DELAY
|
||||
/* normal case */
|
||||
cc = ndqb(&tp->t_outq, 0);
|
||||
#else /* SCC_PARITY_MEANS_DELAY */
|
||||
/* XXX 4.4bsd/pmax quirk: even parity means delay ? */
|
||||
if (tp->t_flags & (RAW|LITOUT))
|
||||
cc = ndqb(&tp->t_outq, 0);
|
||||
else {
|
||||
cc = ndqb(&tp->t_outq, 0200);
|
||||
if (cc == 0) {
|
||||
cc = getc(&tp->t_outq);
|
||||
timeout(ttrstrt, (void *)tp, (cc & 0x7f) + 6);
|
||||
tp->t_state |= TS_TIMEOUT;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
#endif /* SCC_PARITY_MEANS_DELAY */
|
||||
|
||||
tp->t_state |= TS_BUSY;
|
||||
dp->p_end = dp->p_mem = tp->t_outq.c_cf;
|
||||
|
Loading…
Reference in New Issue
Block a user