cy(4)

NAME

cy - Cyclades Cyclom-Y serial driver

SYNOPSIS

For one ISA card:
      device cy
      In /boot/device.hints:
      hint.cy.0.at="isa"
      hint.cy.0.irq="10"
      hint.cy.0.maddr="0xd4000"
      hint.cy.0.msize="0x2000"
For two ISA cards:
      device cy
      In /boot/device.hints:
      hint.cy.0.at="isa"
      hint.cy.0.irq="10"
      hint.cy.0.maddr="0xd4000"
      hint.cy.0.msize="0x2000"
      hint.cy.1.at="isa"
      hint.cy.1.irq="11"
      hint.cy.1.maddr="0xd6000"
      hint.cy.1.msize="0x2000"
For PCI cards:
      device cy
      options CY_PCI_FASTINTR
      No lines are required in  /boot/device.hints  for  PCI
cards.
Minor numbering:
      0bMMMMMMMMMMMMMMMMxxxxxxxxOLIMMMMM
                                callOut
                                 Lock
                                  Initial
        MMMMMMMMMMMMMMMM           MMMMMMinor

DESCRIPTION

The cy driver provides support for Cirrus Logic CD1400-based
EIA RS-232C
(CCITT V.24) communications interfaces (ports) on Cyclades
Cyclom-Y
boards. Each CD1400 provides 4 ports. Cyclom-Y boards with
various numbers of CD1400's are available. This driver supports up to
8 CD1400's
(32 ports) per board.
Input and output for each line may set independently to the
following
speeds: 50, 75, 110, 134.5, 150, 300, 600, 1200, 1800, 2400,
4800, 9600,
19200, 38400, 57600, or 115200 bps. Other speeds of up to
150000 are
supported by the termios interface but not by the sgttyb
compatibility
interface. The CD1400 is not fast enough to handle speeds
above 115200
bps effectively. It can transmit on a single line at
slightly more than
115200 bps, but when 4 lines are active in both directions
its limit is
about 90000 bps on each line.
Serial ports controlled by the cy driver can be used for
both `callin'
and `callout'. For each port there is a callin device and a
callout
device. The minor number of the callout device is 128 high
er than that
of the corresponding callin port. The callin device is gen
eral purpose.
Processes opening it normally wait for carrier and for the
callout device
to become inactive. The callout device is used to steal the
port from
processes waiting for carrier on the callin device. Pro
cesses opening it
do not wait for carrier and put any processes waiting for
carrier on the
callin device into a deeper sleep so that they do not con
flict with the
callout session. The callout device is abused for handling
programs that
are supposed to work on general ports and need to open the
port without
waiting but are too stupid to do so.
The cy driver also supports an initial-state and a lock
state control
device for each of the callin and the callout "data" de
vices. The minor
number of the initial-state device is 32 higher than that of
the corresponding data device. The minor number of the lock-state
device is 64
higher than that of the corresponding data device. The
termios settings
of a data device are copied from those of the corresponding
initial-state
device on first opens and are not inherited from previous
opens. Use
stty(1) in the normal way on the initial-state devices to
program initial
termios states suitable for your setup.
The lock termios state acts as flags to disable changing the
termios
state. E.g., to lock a flag variable such as CRTSCTS, use
stty crtscts
on the lock-state device. Speeds and special characters may
be locked by
setting the corresponding value in the lock-state device to
any nonzero
value.
Correct programs talking to correctly wired external devices
work with
almost arbitrary initial states and almost no locking, but
other setups
may benefit from changing some of the default initial state
and locking
the state. In particular, the initial states for non
(POSIX) standard
flags should be set to suit the devices attached and may
need to be
locked to prevent buggy programs from changing them. E.g.,
CRTSCTS
should be locked on for devices that support RTS/CTS hand
shaking at all
times and off for devices that do not support it at all.
CLOCAL should
be locked on for devices that do not support carrier. HUPCL
may be
locked off if you do not want to hang up for some reason.
In general,
very bad things happen if something is locked to the wrong
state, and
things should not be locked for devices that support more
than one setting. The CLOCAL flag on callin ports should be locked off
for logins to
avoid certain security holes, but this needs to be done by
getty if the
callin port is used for anything else.
Kernel Configuration Options
The CY_PCI_FASTINTR option should be used to avoid subopti
mal interrupt
handling for PCI Cyclades boards. The PCI BIOS must be con
figured with
the cy interrupt not shared with any other active device for
this option
to work. This option is not the default because it is cur
rently harmful
in certain cases where it does not work.

FILES

/dev/ttyc?? for callin ports
/dev/ttyic??
/dev/ttylc?? corresponding callin initial-state and lock
state devices
/dev/cuac?? for callout ports
/dev/cuaic??
/dev/cualc?? corresponding callout initial-state and lock
state devices
/etc/rc.serial examples of setting the initial-state and
lock-state
devices
The first question mark in these device names is short for
the card number (a decimal number between 0 and 65535 inclusive). The
second question mark is short for the port number (a letter in the
range [0-9a-v]).

DIAGNOSTICS

cy%d: silo overflow. Problem in the interrupt handler.

cy%d: interrupt-level buffer overflow. Problem in the bot
tom half of the
driver.
cy%d: tty-level buffer overflow. Problem in the applica
tion. Input has
arrived faster than the given module could process it and
some has been
lost.

SEE ALSO

stty(1), termios(4), tty(4), comcontrol(8), pstat(8)

HISTORY

The cy driver is derived from the sio driver and the NetBSD
cy driver and
is currently under development.

BUGS

Serial consoles are not implemented.
BSD May 24, 2004
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout