Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
CY(4)		     FreeBSD/i386 Kernel Interfaces Manual		 CY(4)

     cy	-- Cyclades Cyclom-Y serial driver

     options CY_PCI_FASTINTR
     device cy0	at isa?	irq 10 iomem 0xd4000 iosiz 0x2000
     device cy1	at isa?	irq 11 iomem 0xd6000 iosiz 0x2000

     Minor numbering:


     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 num-
     bers 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 higher than	that
     of	the corresponding callin port.	The callin device is general 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.  Processes 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 conflict 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" devices.  The	minor
     number of the initial-state device	is 32 higher than that of the corre-
     sponding 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

     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 handshaking at all
     times and off for devices that don't support it at	all.  CLOCAL should be
     locked on for devices that	don't support carrier.	HUPCL may be locked
     off if you	don't 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 cer-
     tain 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	suboptimal interrupt
     handling for PCI Cyclades boards.	The PCI	BIOS must be configured	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 currently harmful
     in	certain	cases where it does not	work.

     /dev/ttyc??   for callin ports
     /dev/ttylc??  corresponding callin	initial-state and lock-state devices

     /dev/cuac??   for callout ports
     /dev/cualc??  corresponding callout initial-state and lock-state devices

     /etc/rc.serial  examples of setting the initial-state and lock-state

     The first question	mark in	these device names is short for	the card num-
     ber (a decimal number between 0 and 65535 inclusive).  The	second ques-
     tion mark is short	for the	port number (a letter in the range [0-9a-v]).

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

     cy%d: interrupt-level buffer overflow.  Problem in	the bottom half	of the

     cy%d: tty-level buffer overflow.  Problem in the application.  Input has
     arrived faster than the given module could	process	it and some has	been

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

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

     Serial consoles are not implemented.

FreeBSD	11.1			 June 14, 1999			  FreeBSD 11.1


Want to link to this manual page? Use this URL:

home | help