Zilog 8530 (ZSCC) serial communications
zs0 at mainbus0 (sun4c and sun4e)
zs0 at obio0 (sun4m)
zs0 at obio0 addr 0xf1000000 level 12 (sun4)
zs1 at mainbus0 (sun4c and sun4e)
zs1 at obio0 (sun4m)
zs1 at obio0 addr 0xf0000000 level 12 (sun4)
zs2 at obio0 addr 0xe0000000 level 12 (sun4/300)
zstty* at zs?
zskbd* at zs?
wskbd* at zskbd?
zsms* at zs?
wsmouse* at zsms?
zs is a Zilog 8530 serial interface
chip used in Sun workstations. The Zilog 8530 provides two input/output
channels per instance. Most Sun workstations include two of these
interfaces. One of the interfaces is hardwired for use by the keyboard and
mouse attached to the workstation console. The
devices connect keyboard devices to the generic keyboard driver
connect mice to the generic mouse driver
wsmouse(4). The remaining additional
interfaces provide RS-423 and RS-232 serial ports for general purpose
zs driver supports all of the standard
tty(4) ioctl calls. The status of the DTR, RTS, CTS, and DCD signals
can be queried with TIOCMGET command, but, due to limitations in the
hardware, only the DTR and RTS signals can be modified with TIOCMSET,
TIOCMBIC, and TIOCMBIS
zskbd driver supports a number of
different key mappings. By default, the layout corresponding to the keyboard
model as probed by the
zskbd driver will be used. A
different layout can be chosen either with the kernel options
“SUNKBD_LAYOUT” (for type 4 keyboards) and
“SUNKBD5_LAYOUT” (for type 5 keyboards) at compile time or
with the utility
wsconsctl(8) (variable: “keyboard.encoding”) at
Other mappings can be used if the whole keymap is replaced by means of wsconsctl(8). The built-in mappings are at this time:
- (be) Belgium French (type 4 only).
- (de) German.
- (dk) Danish.
- (es) Spanish.
- (fr) French (type 5 only).
- (it) Italian.
- (jp) Japanese (type 5 only).
- (nl) Dutch.
- (no) Norwegian.
- (pt) Portuguese.
- (sf) Swiss French.
- (sg) Swiss German.
- (sv) Swedish with “dead accents”.
- (uk) British.
- (us) English/US keyboard mapping.
The KB_SV mapping can be used in the KB_NODEAD (.nodead) variant. This switches off the “dead accents”.
To set a German keyboard layout, use
keyboard.encoding=de. To set it at kernel build time, add the
following to the kernel configuration file for a type 4 keyboard:
For a type 5 keyboard:
ioctl(2), intro(4), tty(4), wskbd(4), wsmouse(4), wsconsctl(8)
zs driver first appeared in
4.4BSD. Support for the TIOCM*
ioctl(2)s appeared in OpenBSD 2.3.
zs driver now supports cua minor
devices, but with this known deficiency in the simultaneous
outgoing/incoming aspect of the driver: The first outgoing connection
succeeds, but second and subsequent connections fail, apparently due to a
getty hang. The hung getty apparently prevents the cua device from being
The kernel does not provide a keyboard layout for all manufactured Sun keyboard models.