ELANSC(4)            NetBSD/i386 Kernel Interfaces Manual            ELANSC(4)

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 fol-
     lowing are supported by the elansc driver:

     o   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.

     o   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).

     o   RAM write-protection.  The SC520 microcontroller can designate write-
         protected regions of RAM using the Programmable Address Regions reg-
         isters.  See elanpar(4).

     o   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 out-
         puts.  Pins can be accessed through the gpio(4) framework.  The
         gpioctl(8) program allows easy manipulation of pins from userland.

     o   PCI host-bridge optimization.  elansc takes advantage of a sus-
         pend/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 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 report-
     ing and for RAM write-protection using the Programmable Address Regions.

NetBSD 5.0_STABLE              January 21, 2005              NetBSD 5.0_STABLE
