PUC(4)                    OpenBSD Programmer's Manual                   PUC(4)

NAME
     puc - PCI ``universal'' communications card driver

SYNOPSIS
     puc* at pci?
     pccom* at puc? port ?
     lpt* at puc? port ?

DESCRIPTION
     The puc driver provides support for PCI communications cards containing
     simple communications ports, such as NS16550-family (com) serial ports
     and standard PC-like (lpt) parallel ports.  The driver is called
     ``universal'' because the interfaces to these devices aren't nearly as
     well defined and standard as they should be.

     The driver currently supports the following cards:

           Dolphin Peripherals 4014 (dual parallel)
           Dolphin Peripherals 4035 (dual serial)
           SIIG Cyber 2P1S PCI (dual parallel and single serial)
           SIIG Cyber 2S1P PCI (dual serial and single parallel)
           SIIG Cyber 4S PCI (quad serial)
           SIIG Cyber I/O PCI (single serial and single parallel)
           SIIG Cyber Parallel Dual PCI (dual parallel)
           SIIG Cyber Parallel PCI (single parallel)
           SIIG Cyber Serial Dual PCI (dual serial)
           SIIG Cyber Serial PCI (single serial)
           SIIG Cyber 8S PCI 16C850
           VScom PCI-800 (8 port serial, probably OEM)
           AT&T/Lucent Venus Modem (found on IBM 33L4618 card, Actiontec 56K,
                    and others)
           US Robotics 3CP5609 PCI (modem)
           Lava Computers 2SP-PCI (parallel port)
           Lava Computers 2SP-PCI and Quattro-PCI (dual serial)
           Lava Computers Octopus-550
           Lava LavaPort-650
           NEC PK-UG-X008 (serial)
           NEC PK-UG-X001 K56flex PCI (modem)
           Koutech IOFLEX-2S (dual serial)

     The driver does not support these cards:

           Dolphin Peripherals 4006 (single parallel)
           Dolphin Peripherals 4025 (single serial)
           Dolphin Peripherals 4078 (dual serial and single parallel)

     but support for them (and for similar cards) should be trivial to add.

     The port locator is used to identify the port (starting from 0) on the
     communications card that a subdevice is supposed to attach to.  Typical-
     ly, the numbering of ports is explained in a card's hardware documenta-
     tion, and the port numbers used by the driver are the same as (or one off
     from, e.g., the manual uses ports numbered starting from 1) those de-
     scribed in the documentation.

SEE ALSO
     com(4), lpt(4), pci(4)

HISTORY
     The puc driver first appeared in NetBSD 1.4.  OpenBSD support was added
     in OpenBSD 2.7.

AUTHORS
     The puc driver was written by Chris Demetriou.

BUGS
     The current design of this driver keeps any com ports on these cards from
     easily being used as console.  Of course, because boards with those are
     PCI boards, they also suffer from dynamic address assignment, which also
     means that they can't easily be used as console.

     Some of cards supported by this driver have jumper-selectable com port
     clock multipliers, which are unsupported by this driver.  Those can be
     easily accommodated with driver flags, or by using a properly scaled baud
     rate when talking to the card.

     Some of the cards supported by this driver, e.g., the VScom PCI-800, have
     software-selectable com port clock multipliers, which are unsupported by
     this driver.  Those can be accommodated using internal driver flags, or
     by using a properly scaled baud rate when talking to the card.

     Some ports use an lpt driver other than the machine-independent driver.
     Those ports will not be able to use lpt ports attached to puc devices.

OpenBSD 2.9                      July 11, 1998                               2
