ZS(4)

NAME
zs, zstty, zskbd, zsms - Zilog 8530 (ZSCC) serial communications driver

SYNOPSIS
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?
option SUNKBD_LAYOUT=XXX
option SUNKBD5_LAYOUT=XXX

DESCRIPTION
The 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 zskbd devices connect keyboard devices to the generic keyboard driver wskbd. The zsms devices connect mice to the generic mouse driver wsmouse(4). The remaining additional zs interfaces provide RS-423 and RS-232 serial ports for general purpose use.

The 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 ioctl(2) commands.

The 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 runtime.

Other mappings can be used if the whole keymap is replaced by means of wsconsctl(8). The built-in mappings are at this time:

KB_BE
    (be) Belgium French (type 4 only).
KB_DE
    (de) German.
KB_DK
    (dk) Danish.
KB_ES
    (es) Spanish.
KB_FR
    (fr) French (type 5 only).
KB_IT
    (it) Italian.
KB_JP
    (jp) Japanese (type 5 only).
KB_NL
    (nl) Dutch.
KB_NO
    (no) Norwegian.
KB_PT
    (pt) Portuguese.
KB_SF
    (sf) Swiss French.
KB_SG
    (sg) Swiss German.
KB_SV
    (sv) Swedish with “dead accents”.
KB_UK
    (uk) British.
KB_US
    (us) English/US keyboard mapping.

The KB_SV mapping can be used in the KB_NODEAD (.nodead) variant. This switches off the “dead accents”.

FILES
/dev/ttya
/dev/ttyb
/dev/cuaa
/dev/cuab

EXAMPLES
To set a German keyboard layout, use wsconsctl keyboard.encoding=de. To set it at kernel build time, add the following to the kernel configuration file for a type 4 keyboard:

    option SUNKBD_LAYOUT="KB_DE"

For a type 5 keyboard:

    option SUNKBD5_LAYOUT="KB_DE"

SEE ALSO
ioctl(2), intro(4), tty(4), wskbd(4), wsmouse(4), wsconsctl(8)

HISTORY
The zs driver first appeared in 4.4BSD. Support for the TIOCM* ioctl(2)s appeared in OpenBSD 2.3.

BUGS
The 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 re-opened.

The kernel does not provide a keyboard layout for all manufactured Sun keyboard models.