|
NAMEpbio —
8255 parallel peripheral interface basic I/O driver
SYNOPSISdevice pbio
In /boot/device.hints:
DESCRIPTIONThepbio driver supports direct access to the Intel
8255A programmable peripheral interface (PPI) chip running in mode 0 (simple
I/O). Such an interface provides 24 digital I/O lines. The driver is designed
for performing I/O under program control using peripherals such as the
Advantech PCL-724 card, which emulates the Intel 8255A PPI in mode 0. Other
8255A-based peripherals such as the BMC Messsysteme PIO24II card have also
been reported to work.
The PPI provides two 8-bit ports (port A and port B) and two 4-bit ports (port C upper, port C lower). Each port can be individually programmed for input and (latched) output, and appears at a different offset of the device's base I/O address. A separate register allows the configuration of ports for input or output. The device is so simple, that reliably probing for it when input data arrives at its terminals is impossible; therefore the kernel configuration has to specify the device's base address. The device driver provides four character devices that correspond to the peripheral's I/O ports. Opening a device for read or write automatically configures the corresponding hardware port for input or output. At boot time all ports are set configured for input to avoid damaging external circuitry. A set of ioctl(2) requests allow polled input and paced output to be efficiently performed at the driver level without expensive user/kernel context switching. The driver can perform I/O in three different ways:
The pacing interval is specified in Hz unit increments. Setting a pace of n seconds will result in no more than one value being read or written every n seconds. Single byte read/write operations will take at least n seconds to complete. The following ioctl(2) calls are supported:
FILES
SEE ALSODiomidis Spinellis, The information furnace: Consolidated home control, Personal and Ubiquitous Computing, 1, 7, 53-69, 2003. HISTORYThepbio device was first used under
FreeBSD 4.1.
AUTHORSDiomidis D. Spinellis <dds@aueb.gr>BUGSOne of the PCL-724 card's inputs can optionally be wired to generate an interrupt. This feature is not supported.
Visit the GSP FreeBSD Man Page Interface. |