NAME
elansc
- AMD Elan SC520 System Controller driver
SYNOPSIS
elansc* at mainbus? bus ?
gpio* at elansc?
pci* at elansc?
elanpar* at elansc?
elanpex* at elansc?
DESCRIPTION
The
elansc
driver supports the system controller of the AMD Elan SC520 microcontroller.
The SC520 consists of an AMD Am5x86 processor core, integrated PCI host
controller, and several standard on-chip devices, such as NS16550-compatible
UARTs, real-time clock, and timers.
The Elan SC520 also provides several special on-chip devices.
The following are supported by the
elansc
driver:
-
Watchdog timer.
The watchdog timer may be configured for a 1
second, 2 second, 4 second, 8 second, 16 second, or 32 second
expiration period.
-
PCI exceptions reporting.
The SC520 microcontroller can report exceptions that occur as it
acts as both a PCI bus master and a bus target.
See
elanpex(4).
-
RAM write-protection.
The SC520 microcontroller can designate write-protected regions of RAM using
the Programmable Address Regions registers.
See
elanpar(4).
-
Programmable Input/Output.
The SC520 microcontroller supports 32 programmable I/O signals (PIOs)
that can be used on the system board to monitor signals or control devices
that are not handled by the other functions in the SC520 microcontroller.
These signals can be programmed to be inputs or to be driven
``high''
or
``low''
as outputs.
Pins can be accessed through the
gpio(4)
framework.
The
gpioctl(8)
program allows easy manipulation of pins from userland.
-
PCI host-bridge optimization.
elansc
takes advantage of a suspend/resume cycle to tune the PCI host-bridge
for higher performance.
SEE ALSO
elanpar(4),
elanpex(4),
gpio(4),
gpioctl(8),
wdogctl(8)
HISTORY
The
elansc
device first appeared in
NetBSD2.0.
PIO function support was added in
OpenBSD3.6,
and subsequently ported to
NetBSD4.0.
Support for PCI exceptions reporting and for RAM write-protection
first appeared in
NetBSD5.0.
AUTHORS
The
elansc
driver was written by
Jason R. Thorpe <thorpej@NetBSD.org>
.
Jasper Wallace
provided the work-around for a hardware bug related to the watchdog timer
in some steppings of the SC520 CPU.
Support for the PIO function was added to
OpenBSD3.6
by
Alexander Yurchenko <grange@openbsd.org>
and was ported to
NetBSD
by
Jeff Rizzo <riz@NetBSD.org>
.
David Young <dyoung@NetBSD.org>
added support for PCI exceptions reporting and for RAM write-protection
using the Programmable Address Regions.