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
i386/elanpex(4).
- RAM write-protection. The SC520 microcontroller can
designate write-protected regions of RAM using the Programmable Address
Regions registers. See
i386/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
gpio(4),
i386/elanpar(4),
i386/elanpex(4),
gpioctl(8),
wdogctl(8)
HISTORY
The
elansc device first appeared in
NetBSD
2.0. PIO function support was added in
OpenBSD
3.6, and subsequently ported to
NetBSD 4.0.
Support for PCI exceptions reporting and for RAM write-protection first
appeared in
NetBSD 5.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
OpenBSD 3.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.