Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ icc(7) — Interactive 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

termio(7)

signal(2)

sdevice(4)



          icc(7)               INTERACTIVE UNIX System               icc(7)



          NAME
               icc - Intelligent Channel Controller (ICC) Multi-Port Serial
               Card

          DESCRIPTION
               The icc driver supports the Bell Technologies Intelligent
               Channel Controller (ICC) Multi-Port Serial Card for AT-bus
               systems.  Up to 4 ICC cards are supported, for a total of up
               to 24 serial ports.  Provision is made using the device
               minor number, as described below, to select an operation
               mode for a port of modem control, non-modem control, or out-
               put only.  If a card for a port is not installed, an attempt
               to open it will fail.

               If the port was opened with the modem control bit present in
               the minor device number (see below), modem control will be
               enabled.  If enabled, the driver will wait in open until
               Data Carrier Detect (DCD) is present.  Once opened, if DCD
               drops, the driver will return errors on any subsequent read
               or write of an asynchronous port by the user.  If the port
               was opened as a controlling teletype, signal SIGHUP will be
               generated to the process which did the open.

               Each port can be independently programmed for speed (50-
               38400 baud), character length, and parity.  Output speed is
               always the same as input speed.  The ports behave as
               described in termio(7).  Setting B0 will cause a disconnect,
               setting EXTA will set 19200 baud, and setting EXTB will set
               38400 baud.

             Minor Device Numbers
               The device minor number is the low-order 8 bits of the dev-
               ice number (see mknod(1M)).  The low-order 5 bits (bits 0-4)
               of the minor device number are used to identify the asyn-
               chronous port number (0-23).  Bit 7 enables modem control on
               the port.  Thus, minor device 0 corresponds to the ICC board
               0 serial port 0 with no modem control, while minor device
               128 corresponds to the same port with modem control enabled.
               In a similar manner, bit 6 is used to indicate an output-
               only device.

               A special case of the device minor number is the ICC control
               process that uses device number 255.  Through this device
               number, the ICC control process downloads the board control
               program.

             Ioctl Calls
               The standard tty device ioctl calls are supported (see ter-
               mio(7)).  One exception is the use of XMT1EN in the c_cflag
               field which is redefined in /usr/include/sys/iccioctl.h as
               CTSRTS.  Setting the CTSRTS indicator causes the port to
               utilize the ``auto-enable'' mode of operation in the SCC
               8350/51 chip on the ICC board.  In this mode, the UART is


          Rev. 386/ix                                                Page 1





          icc(7)               INTERACTIVE UNIX System               icc(7)



               controlled by external signals to partially implement an
               RTS/CTS handshaking.  The ``auto-enable'' mode simply stated
               means that the UART can transmit only if the CTS signal is
               true and can receive only when the DCD signal is true.  For
               additional information on the operation in this mode, refer
               to the chip documentation.

             Configuration
               The ICC board provides for the selection of IRQ number, I/O
               space beginning address, and the starting address of the
               dual port RAM.  Instructions for setting the board switches
               can be found in the User's Manual for the board.  These
               switch settings for the board I/O address range, the dual-
               ported RAM, and the IRQ value must be communicated to the
               driver, which is done by modifying the files
               /etc/conf/pack.d/icc/space.c and /etc/conf/sdevice.d/icc.
               The /etc/conf/pack.d/icc/config file contains a definition
               for structure icconf, where field port contains the base I/O
               address for each ICC card defined by the board's dip switch
               setting, which is located on block S2 of the board itself,
               and field sw contains the hex value of the dip switch set-
               ting on the board located at block S1.  The sw field speci-
               fies two characteristics of the board.  Bits 0-2 of this
               field specify the ICC-to-system memory DMA channel selected,
               while bits 3-7 specify the base address for the ICC card's
               dual-ported memory.  Board switch block S1 defines the
               dual-port RAM starting address for the 0.5 MB RAM.  Switch
               S1 value should be at least 1 to establish a starting
               address above minimal motherboard 512KB RAM.  Any changes to
               these dip switches on the ICC card must be reflected in the
               /etc/conf/pack.d/icc/space.c file or your driver will not
               work.

               The file /etc/conf/sdevice.d/icc contains 10 entries.  Each
               entry specifies an important specification regarding the ICC
               driver.  The IRQ is specified in field 6.  If the IRQ level
               for the board is changed, which is done by selecting 1 of 10
               possible switch positions on the dip switch located on block
               S3 of the board.  Field 6 of this file must reflect the
               corresponding IRQ level.  The default IRQ level for ICC
               cards is 6.  The I/O address ranges of the ICC cards are
               also specified in the file /etc/conf/sdevice.d/icc.  The
               seventh and eighth entries in the icc file specify the
               beginning and ending addresses on the I/O bus through which
               the device communicates.  These two fields specify the I/O
               address ranges for all cards (0-3).  The default values for
               these two fields are 348 and 357, respectively.  For infor-
               mation on other fields in this file, refer to sdevice(4).
               Board switch block S1 defines the dual-port RAM starting
               address for the 0.5 MB RAM.  Switch S1 value should be at
               least 1 to establish a starting address above minimal moth-
               erboard 512KB RAM.  On some machines, especially those with
               cache controllers, it may be necessary to select a starting


          Rev. 386/ix                                                Page 2





          icc(7)               INTERACTIVE UNIX System               icc(7)



               address that will place the board in a non-cached area of
               RAM.  It is not necessary to set a different dual-port
               address for each card installed; however, each card must
               have a unique I/O address.

               The shell script mkicc found at /etc/icc provides a con-
               venient means of establishing the port path names.  When
               executed, mkicc accepts as arguments the board numbers
               (blank separated) for which port paths are to be esta-
               blished.

          FILES
               /dev/ttyi[A-X]
                    Serial port with modem control

               /dev/ttyi[a-x]
                    Serial port without modem control

               /dev/ttyo[a-x]
                    Serial output port without modem control

               /dev/icc
                    ICC control device

          SEE ALSO
               termio(7).
               signal(2), sdevice(4) in the INTERACTIVE SDS Guide and
               Programmer's Reference Manual.
               The user's manual for your equipment.

          BUGS
               The VP/ix support provided allows text mode DOS applications
               and does not support the use of ICC ports as COM1 or COM2.
               Use of the CTSRTS mode does not fully implement a hardware
               CTSRTS handshaking.

          ADDED VALUE
               This entry, supplied by INTERACTIVE Systems Corporation, is
               an extension of UNIX System V.
















          Rev. 386/ix                                                Page 3



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026