ATPPC(4) NetBSD programmer's Manual ATPPC(4)


driver for AT-style parallel port chip-sets


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


The atppc device 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. This driver is designed to be one of many possible implementations supporting machine independent parallel device support via ppbus(4). The flags have the following values:

disables interrupt probing/configuration
disables dma probing/configuration

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.

Software Interfaces

The driver provides some generic methods that can apply to many AT-like parallel port devices (such as non-generic chip-sets). atppc implements the parport interface defined in parport(9).

Supported Devices

Atppc supports only generic chip-sets on the ISA bus. The original FreeBSD ppc(4) driver included support for other chip-sets, but this driver is still under development. Generic chip-sets configured by other means besides ISA are also not supported, but are being planned.


acpi(4), isa(4), isapnp(4), lp(4), lpbb(4), lpt(4), pnpbios(4), ppbus(4), ppi(4), puc(4), vpo(4), parport(9)


The atppc driver is based on the ppc(4) driver, which originally appeared in FreeBSD.


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


January 14, 2004