2.Dd September 16, 1995 3.Os FreeBSD 4.Dt SI 4 5.Sh NAME 6.Nm si 7.Nd "driver for Specialix International SI/XIO or SX intelligent serial card" 8.Sh SYNOPSIS 9.Cd "device si" 10.Cd "device si0 at isa? irq 12 iomem 0xd0000" 11.Sh DESCRIPTION 12The Specialix SI/XIO and SX hardware makes up an 8 to 32 port RS-232 serial 13multiplexor. 14.Pp 15The first instance of the device lines above is for EISA and PCI host cards, 16the second is for ISA host cards. 17.Pp 18The system uses two components: A "Host adapter", which is plugged into 19an ISA, EISA or PCI slot and provides intelligence and buffering/processing 20capabilities, as well as an external bus in the form of a 37 pin cable. 21.Pp 22On this cable, "modules" are connected. The "SI" module comes in a 4 and 8 23port version. The "XIO" and "SX" modules come only in 248 port versions. 25.Pp 26The host adapter polls and transfers data between the modules and the rest 27of the machine. 28The Host adapter provides a 256 byte transmit and 256 byte 29receive FIFO for each of the 32 ports that it can maintain. 30.Pp 31The XIO modules can operate each of their 8 ports at 115,200 baud. 32The SI version can run at 57,600 baud. 33The SX modules can operate each of their 348 ports at up to 921,600 baud. 35.Pp 36SX modules are only supported when connected to an SX host card. 37SI or 38XIO modules are supported on any host card. 39.Pp 40The host adapter uses a shared memory block in the traditional ISA bus 41"hole" between 0xA0000 and 0xEFFFF. The adapter can be configured outside 42range, but requires the memory range to be explicitly non-cached. The 43driver does not yet support this mode of operation. 44.Pp 45SX ISA Host cards have an 8/16 bit mode switch or jumper on them. 46This switch 47or jumper MUST be set for 8 bit mode. 48.Pp 49The ISA adapters can use Irq's 11, 12 or 15 (and 9 and 10 in the case of 50SX host cards). 51.Pp
| 2.Dd September 16, 1995 3.Os FreeBSD 4.Dt SI 4 5.Sh NAME 6.Nm si 7.Nd "driver for Specialix International SI/XIO or SX intelligent serial card" 8.Sh SYNOPSIS 9.Cd "device si" 10.Cd "device si0 at isa? irq 12 iomem 0xd0000" 11.Sh DESCRIPTION 12The Specialix SI/XIO and SX hardware makes up an 8 to 32 port RS-232 serial 13multiplexor. 14.Pp 15The first instance of the device lines above is for EISA and PCI host cards, 16the second is for ISA host cards. 17.Pp 18The system uses two components: A "Host adapter", which is plugged into 19an ISA, EISA or PCI slot and provides intelligence and buffering/processing 20capabilities, as well as an external bus in the form of a 37 pin cable. 21.Pp 22On this cable, "modules" are connected. The "SI" module comes in a 4 and 8 23port version. The "XIO" and "SX" modules come only in 248 port versions. 25.Pp 26The host adapter polls and transfers data between the modules and the rest 27of the machine. 28The Host adapter provides a 256 byte transmit and 256 byte 29receive FIFO for each of the 32 ports that it can maintain. 30.Pp 31The XIO modules can operate each of their 8 ports at 115,200 baud. 32The SI version can run at 57,600 baud. 33The SX modules can operate each of their 348 ports at up to 921,600 baud. 35.Pp 36SX modules are only supported when connected to an SX host card. 37SI or 38XIO modules are supported on any host card. 39.Pp 40The host adapter uses a shared memory block in the traditional ISA bus 41"hole" between 0xA0000 and 0xEFFFF. The adapter can be configured outside 42range, but requires the memory range to be explicitly non-cached. The 43driver does not yet support this mode of operation. 44.Pp 45SX ISA Host cards have an 8/16 bit mode switch or jumper on them. 46This switch 47or jumper MUST be set for 8 bit mode. 48.Pp 49The ISA adapters can use Irq's 11, 12 or 15 (and 9 and 10 in the case of 50SX host cards). 51.Pp
|
53at run-time with the 54.Xr sicontrol 8 55utility. 56.Pp 57The si device driver also responds to the 58.Xr comcontrol 8 59utility for configuring drain-on-close timeouts. 60.Pp 61The driver also defines 3 sysctl variables that can be manipulated: 62machdep.si_debug sets the debug level for the whole driver. 63It depends 64on the driver being compiled with SI_DEBUG. machdep.si_pollrate 65sets how often per second the driver polls for lost interrupts. 66machdep.si_realpoll sets whether or not the card will treat the 67poll intervals as if they were interrupts. 68.Pp 69An open on a /dev device node controlled by the si driver obeys the same 70semantics as the 71.Xr sio 4 72driver. It fully supports the usual semantics of the cua ports, and the 73"initial termios" and "locked termios" settings. In summary, an open on a 74tty port will block until DCD is raised, unless O_NONBLOCK is specified. 75CLOCAL is honored. An open on a cua port will always succeed, but DCD 76transitions will be honored after DCD rises for the first time. 77.Pp 78Up to four SI/XIO host cards may be controlled by the si driver. 79Due to the lack of available interrupts, only 3 ISA SI/XIO host cards can be 80used at once. 81.Pp 82The lowest 5 bits of the minor device number are used to select the port 83number on the module cluster. 84The next 2 bits select which of 4 host adapter 85cards. This allows a maximum of 128 ports on this driver. 86.Pp 87Bit 7 is used to differentiate a tty/dialin port (bit 7=0) and a 88cua/callout port (bit 7=1). 89.Pp 90Bit 8 through 15 (on 91.Fx ) 92are unavailable as they are a shadow of the 93major device number. 94.Pp 95If bit 16 is a 1, the device node is referring to the "initial state" device. 96This "initial state" is used to prime the 97.Xr termios 4 98settings of the device when it is initially opened. 99If bit 17 is a 1, the device node is referring to the "locked state" device. 100The "locked state" is used to prevent the 101.Xr termios 4 102settings from being changed. 103.Pp 104To manipulate the initial/locked settings, the 105.Xr stty 1 106command is useful. When setting the "locked" variables, enabling the mode 107on the lock device will lock the termios mode, while disabling the mode will 108unlock it. 109.Sh FILES 110.Bl -tag -width /dev/si_control -compact 111.It Pa /dev/si_control 112global driver control file for 113.Xr sicontrol 8 114.It Pa /dev/ttyA* 115terminal/dialin ports 116.It Pa /dev/cuaA* 117dialout ports 118.It Pa /dev/ttyiA* 119initial termios state devices 120.It Pa /dev/ttylA* 121locked termios state devices 122.It Pa /dev/cuaiA* 123initial termios state devices for dialout ports 124.It Pa /dev/cualA* 125locked termios state devices for dialout ports 126.El 127.Sh SEE ALSO 128.Xr stty 1 , 129.Xr sio 4 , 130.Xr termios 4 , 131.Xr tty 4 , 132.Xr comcontrol 8 , 133.Xr sicontrol 8 134.Sh HISTORY 135This driver is loosely based on driver code originating at Specialix, which 136was ported to run on BSDI by 137.An Andy Rutter Aq andy@specialix.co.uk . 138The System V driver source is/was available by ftp from 139.Sy ftp.specialix.co.uk . 140.Pp 141This driver is not supported by Specialix International. 142.Sh AUTHORS 143.An -nosplit 144.An Peter Wemm Aq peter@netplex.com.au 145obtained the code from 146.An Andy Rutter 147and ported it to 148.Fx 149and threw the man page together. 150.An Bruce Evans Aq bde@zeta.org.au 151provided a large amount of assistance during porting. 152.An Nick Sayer Aq nick@specialix.com 153wrote the EISA, PCI and SX portions. 154.Sh BUGS 155The interrupt tuning rate is not believed to be optimal at this time for 156maximum efficiency. 157.Pp 158Polled mode (a feature of standard Specialix drivers) is not implemented, 159but it can be approximated by turning on machdep.si_realpoll. The poll 160frequency is set by machdep.si_pollrate (in units of 1/100th of a second). 161.Pp 162The driver does not yet support baud rates higher than 115,200 on SX 163modules. 164.Pp 165Operation outside the traditional ISA "hole" is not yet supported, although it 166should work if the test is removed from the probe routine. 167.Pp 168Multiple host cards are supported although combinations of hosts on 169different bus types have not been tested - device numbering is known to 170be a problem and may lead to unexpected results.
| 53at run-time with the 54.Xr sicontrol 8 55utility. 56.Pp 57The si device driver also responds to the 58.Xr comcontrol 8 59utility for configuring drain-on-close timeouts. 60.Pp 61The driver also defines 3 sysctl variables that can be manipulated: 62machdep.si_debug sets the debug level for the whole driver. 63It depends 64on the driver being compiled with SI_DEBUG. machdep.si_pollrate 65sets how often per second the driver polls for lost interrupts. 66machdep.si_realpoll sets whether or not the card will treat the 67poll intervals as if they were interrupts. 68.Pp 69An open on a /dev device node controlled by the si driver obeys the same 70semantics as the 71.Xr sio 4 72driver. It fully supports the usual semantics of the cua ports, and the 73"initial termios" and "locked termios" settings. In summary, an open on a 74tty port will block until DCD is raised, unless O_NONBLOCK is specified. 75CLOCAL is honored. An open on a cua port will always succeed, but DCD 76transitions will be honored after DCD rises for the first time. 77.Pp 78Up to four SI/XIO host cards may be controlled by the si driver. 79Due to the lack of available interrupts, only 3 ISA SI/XIO host cards can be 80used at once. 81.Pp 82The lowest 5 bits of the minor device number are used to select the port 83number on the module cluster. 84The next 2 bits select which of 4 host adapter 85cards. This allows a maximum of 128 ports on this driver. 86.Pp 87Bit 7 is used to differentiate a tty/dialin port (bit 7=0) and a 88cua/callout port (bit 7=1). 89.Pp 90Bit 8 through 15 (on 91.Fx ) 92are unavailable as they are a shadow of the 93major device number. 94.Pp 95If bit 16 is a 1, the device node is referring to the "initial state" device. 96This "initial state" is used to prime the 97.Xr termios 4 98settings of the device when it is initially opened. 99If bit 17 is a 1, the device node is referring to the "locked state" device. 100The "locked state" is used to prevent the 101.Xr termios 4 102settings from being changed. 103.Pp 104To manipulate the initial/locked settings, the 105.Xr stty 1 106command is useful. When setting the "locked" variables, enabling the mode 107on the lock device will lock the termios mode, while disabling the mode will 108unlock it. 109.Sh FILES 110.Bl -tag -width /dev/si_control -compact 111.It Pa /dev/si_control 112global driver control file for 113.Xr sicontrol 8 114.It Pa /dev/ttyA* 115terminal/dialin ports 116.It Pa /dev/cuaA* 117dialout ports 118.It Pa /dev/ttyiA* 119initial termios state devices 120.It Pa /dev/ttylA* 121locked termios state devices 122.It Pa /dev/cuaiA* 123initial termios state devices for dialout ports 124.It Pa /dev/cualA* 125locked termios state devices for dialout ports 126.El 127.Sh SEE ALSO 128.Xr stty 1 , 129.Xr sio 4 , 130.Xr termios 4 , 131.Xr tty 4 , 132.Xr comcontrol 8 , 133.Xr sicontrol 8 134.Sh HISTORY 135This driver is loosely based on driver code originating at Specialix, which 136was ported to run on BSDI by 137.An Andy Rutter Aq andy@specialix.co.uk . 138The System V driver source is/was available by ftp from 139.Sy ftp.specialix.co.uk . 140.Pp 141This driver is not supported by Specialix International. 142.Sh AUTHORS 143.An -nosplit 144.An Peter Wemm Aq peter@netplex.com.au 145obtained the code from 146.An Andy Rutter 147and ported it to 148.Fx 149and threw the man page together. 150.An Bruce Evans Aq bde@zeta.org.au 151provided a large amount of assistance during porting. 152.An Nick Sayer Aq nick@specialix.com 153wrote the EISA, PCI and SX portions. 154.Sh BUGS 155The interrupt tuning rate is not believed to be optimal at this time for 156maximum efficiency. 157.Pp 158Polled mode (a feature of standard Specialix drivers) is not implemented, 159but it can be approximated by turning on machdep.si_realpoll. The poll 160frequency is set by machdep.si_pollrate (in units of 1/100th of a second). 161.Pp 162The driver does not yet support baud rates higher than 115,200 on SX 163modules. 164.Pp 165Operation outside the traditional ISA "hole" is not yet supported, although it 166should work if the test is removed from the probe routine. 167.Pp 168Multiple host cards are supported although combinations of hosts on 169different bus types have not been tested - device numbering is known to 170be a problem and may lead to unexpected results.
|