Linux Device Drivers

Linux Device Drivers

Character drivers
IO & Memory
Linux Kernel
Process Management
Process Address space

Linux Scheduler
Memory Management
System Calls
Kernel Synchronization
Linux Inter Process Communications

Serial Ports
Parallel Ports
Introduction to Hardware
Linux Timers
DMA in Linux
Linux Threads
Linux Thread Synchronization

Linux Multi Threading
Debugging in Linux
GDB GNU Debugger
KDB Kernel Debugger
KGDB Kernel GNU Debugger
Example Ethernet Driver

Interfacing the standard parallel port


Interfacing the standard parallel port


Port Addresses




Data Port




Status Port



Control Port




Writing to Data Port


The base address, usually called the Data Port or Data Register is simply used for outputting data on the Parallel Port's data lines (Pins 2-9).


Using Parallel Portís IRQ


The Parallel Port's interrupt request is normally IRQ5 or IRQ7 but may be something else if these are in use.

The Parallel Port interrupt can be disabled and enabled using bit 4 of the control register, Enable IRQ Via AckLine. Once enabled, an interrupt will occur upon a low to high transition (rising edge) of the nACK.