$OpenBSD: z8530.doc,v 1.2 1996/10/31 01:01:41 niklas Exp $
$NetBSD: z8530.doc,v 1.1 1996/01/24 01:07:21 gwr Exp $

Here are the results of my reorganization work on the zs driver.
Everything compiles and appears to work.

Enjoy!
Gordon Ross

----------------------------------------------------------------
This design has a "zs controller" named "zsc" with three
flavors of child drivers that can be attached above it.
The three child drivers are:
	zstty:	normal RS-232 line
	kbd:	sun keyboard
	ms:	sun mouse

Note that the machine-dependent parts are:
	arch/sun3/include/z8530var.h
	arch/sun3/dev/zs.c
(replicate those for new systems)

The Sun hardware dependent parts (Sun3 and SPARC) are:
	kd*	sun keyboard/display console stuff
	event*	sun "firm event" stuff

----------------------------------------------------------------
Here is how the autoconfig looks on a sun3:

zsc0 at obio0 addr 0x0 level 6 softpri 3
kbd0 at zsc0 channel 0
ms0 at zsc0 channel 1
zsc1 at obio0 addr 0x20000 level 6 softpri 3
zstty0 at zsc1 channel 0 (console)
zstty1 at zsc1 channel 1


----------------------------------------------------------------
Config lines:

In any config file (i.e. GENERIC, NEW_ZS, ...)
Note {kbd,ms} are sun-specific.

#
# New console (zs) stuff
#
zsc0 at obio? addr ?
zsc1 at obio? addr ?
kbd0 at zsc0 channel 0
ms0  at zsc0 channel 1
zstty* at zsc? channel ?


----------------------------------------------------------------
In conf/files.sun3

#
# Console (zs) related stuff
#
device zsc at obio {channel = -1}
file arch/sun3/dev/zs.c 		zsc needs-flag
file dev/ic/z8530sc.c			zsc

device zstty at zsc: tty
file dev/ic/z8530tty.c			zstty needs-flag

define zsevent
file dev/sun/event.c			zsevent

device kbd at zsc: zsevent
file dev/sun/kbd.c			kbd needs-flag
file dev/sun/kbd_tables.c 		kbd
file arch/sun3/dev/kd.c 		kbd

device ms at zsc: zsevent
file dev/sun/ms.c			ms needs-flag