Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


NTWOC(4)                     Device Drivers Manual                    NTWOC(4)

NAME
     ntwoc - Riscom/N2, N2pci, WANic 400 synchronous serial interfaces

SYNOPSIS
     ntwoc* at pci? dev ? function ? flags 0
     ntwoc0 at isa? port 0x300 irq 5 iomem 0xc8000 flags 1

DESCRIPTION
     The ntwoc device driver supports bit-synchronous serial communication
     using Cisco HDLC framing.  The cards are capable of being driven by the
     line clock or from an internal baud rate generator.  The devices all use
     the Hitachi hd64570 serial chip.  The hd64570 supports 2
     asynchronous/byte-synchronous/bit-synchronous serial ports, and has a
     4-channel DMA controller for loading the serial port FIFOs.

     The ISA Riscom/N2 card has a jumper block to set the IRQ and a DIP switch
     to set the port address the card will use.  The values programmed into
     the card must be specified with the port and irq locators in the kernel
     configuration line.  The iomem locator must be specified and must occur
     on a 16k boundary.  The driver uses a 16k region of io memory.  Bit 0 of
     the flags locator indicates if there is a second serial port available on
     the card.

     Currently clock source and speed information is specified with the flags
     locator in the kernel configuration file.  The flags field has the
     following format.

       3                   2                   1
     1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
     +-------------+ +-----+ +-----+ + +---+ +-+     + +---+ +-+   +
           tmc         tdiv    rdiv  e1 rxs1 ts1    e0 rxs0  txs0  np(*)

     tmc        Defines the timer constant.  The base clock frequency is
                divided by tmc to generate the main clock for receiving and
                sending.  Further division is possible with the tdiv and rdiv
                divisor options.  A value of 0 is treated as 256.

     tdiv       Defines the transmit divisor as 2^(tdiv).  The internal
                transmit clock frequency is determined by dividing the base
                clock frequency by tmc and then dividing by 2^(tdiv).

     rdiv       Defines the receive divisor as 2^(rdiv).  The internal receive
                clock frequency is determined by dividing the base clock
                frequency by tmc and then dividing by 2^(rdiv).

     e0 e1      If true the internal clock source is used to drive the line
                clock for port 0 or port 1 respectively.

     rxs0 rxs1  Specifies which clock source to use for receiving data on port
                0 and port 1 respectively.  The following values are accepted:

                0    Line clock.
                1    Line clock with noise suppression.
                2    Internal clock.

     txs0 txs1  Specifies which clock source to use for transmitting data on
                port 0 and port 1 respectively.  The following values are
                accepted:

                0    Line clock.
                1    Internal clock.
                2    Receive clock.

     np         (For the ISA card only) A value of 1 indicates there is a
                second serial port present on the card.  This is auto-detected
                on the PCI card and need not be specified.

HARDWARE
     Cards supported by the ntwoc driver include:

     SDL Communications Riscom/N2
     SDL Communications N2pci
     SDL Communications WANic 400 (untested)

DIAGNOSTICS
     ntwoc0: TXDMA underrun - fifo depth maxed  Indicates that the serial
     port's FIFO is being drained faster than DMA can fill it.  The driver
     automatically increases the low-water mark at which to begin DMA
     transfers when underruns occur.  This diagnostic is issued when the low-
     water mark is maximized (i.e., 1 less than the depth of the FIFO).

     ntwoc0: RXDMA buffer overflow  Indicates that a frame is being received
     by the card, but there are no free receive buffers.

SEE ALSO
     intro(4), isa(4), pci(4), ifconfig(8)

HISTORY
     The PCI driver first appeared in NetBSD 1.4.  Much of the ISA driver was
     adapted from the FreeBSD sr driver and first appeared in NetBSD 1.5.

BUGS
     Use of the flags locator for setting the clock sources and speeds should
     be replaced with ioctl's and a control program.

NetBSD 10.99                    October 2, 1998                   NetBSD 10.99