Manual browser: atppc(4)

ATPPC(4) Kernel Interfaces Manual ATPPC(4)


atppcdriver for AT-style parallel port chip sets


atppc* at acpi?
atppc* at isa? port 0x378 irq 7 drq 3 flags 0x00
atppc* at isapnp?
atppc* at ofisa?
atppc* at pnpbios? index ?
atppc* at puc? port ?


atppc supports parallel ports and provides the low level support needed by higher level drivers such as ppbus(4). This driver attaches where the traditional NetBSD lpt(4) driver would ordinarily. It provides the data transport and chip set manipulation needed by higher driver layers, such as ppbus(4) and lpt(4). This driver is designed to be one of many possible implementations supporting machine independent parallel device support via ppbus(4).

IEEE 1284 support

atppc is intended to provide to data-link like services to higher level IEEE 1284 device drivers (such as ppbus(4)). atppc does not directly support IEEE 1284 features such as mode negotiation but rather provides the necessary infrastructure to allow a higher level driver to provide these services.

atppc does provide chip set manipulation, device handshakes (where appropriate), low-level error detection, and data transfer.

Supported data transfer modes

atppc supports the following data transfer modes: Centronics Compatible (Standard), Nibble, Byte (PS2), Fast Centronics, ECP, and EPP. Standard and Fast Centronics modes are write only, Nibble and Byte modes are read only, and ECP and EPP modes are bidirectional.


The atppc driver is based on the ppc driver, which originally appeared in FreeBSD. The driver was ported over in NetBSD 2.0.


This manual page is based on the FreeBSD ppc manual page. The information has been updated for the NetBSD port by Gary Thorpe.


The FreeBSD driver includes support for some specific chip sets, specifically detection of some non-standard device I/O locations on the ISA bus. This support was not ported over to the NetBSD version of the driver yet.
January 30, 2004 NetBSD 7.0