1.\" $NetBSD: elansc.4,v 1.11 2008/04/30 13:10:56 martin Exp $ 2.\" 3.\" Copyright (c) 2002 The NetBSD Foundation, Inc. 4.\" All rights reserved. 5.\" 6.\" This code is derived from software contributed to The NetBSD Foundation 7.\" by Jason R. Thorpe. 8.\" 9.\" Redistribution and use in source and binary forms, with or without 10.\" modification, are permitted provided that the following conditions 11.\" are met: 12.\" 1. Redistributions of source code must retain the above copyright 13.\" notice, this list of conditions and the following disclaimer. 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in the 16.\" documentation and/or other materials provided with the distribution. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28.\" POSSIBILITY OF SUCH DAMAGE. 29.\" 30.Dd January 21, 2005 31.Dt ELANSC 4 i386 32.Os 33.Sh NAME 34.Nm elansc 35.Nd AMD Elan SC520 System Controller driver 36.Sh SYNOPSIS 37.Cd "elansc* at mainbus? bus ?" 38.Cd "gpio* at elansc?" 39.Cd "pci* at elansc?" 40.Cd "elanpar* at elansc?" 41.Cd "elanpex* at elansc?" 42.Sh DESCRIPTION 43The 44.Nm 45driver supports the system controller of the AMD Elan SC520 microcontroller. 46The SC520 consists of an AMD Am5x86 processor core, integrated PCI host 47controller, and several standard on-chip devices, such as NS16550-compatible 48UARTs, real-time clock, and timers. 49.Pp 50The Elan SC520 also provides several special on-chip devices. 51The following are supported by the 52.Nm 53driver: 54.Bl -bullet 55.It 56Watchdog timer. 57The watchdog timer may be configured for a 1 58second, 2 second, 4 second, 8 second, 16 second, or 32 second 59expiration period. 60.It 61PCI exceptions reporting. 62The SC520 microcontroller can report exceptions that occur as it 63acts as both a PCI bus master and a bus target. 64See 65.Xr elanpex 4 . 66.It 67RAM write-protection. 68The SC520 microcontroller can designate write-protected regions of RAM using 69the Programmable Address Regions registers. 70See 71.Xr elanpar 4 . 72.It 73Programmable Input/Output. 74The SC520 microcontroller supports 32 programmable I/O signals (PIOs) 75that can be used on the system board to monitor signals or control devices 76that are not handled by the other functions in the SC520 microcontroller. 77These signals can be programmed to be inputs or to be driven 78.Dq high 79or 80.Dq low 81as outputs. 82Pins can be accessed through the 83.Xr gpio 4 84framework. 85The 86.Xr gpioctl 8 87program allows easy manipulation of pins from userland. 88.It 89PCI host-bridge optimization. 90.Nm 91takes advantage of a suspend/resume cycle to tune the PCI host-bridge 92for higher performance. 93.El 94.Sh SEE ALSO 95.Xr elanpar 4 , 96.Xr elanpex 4 , 97.Xr gpio 4 , 98.Xr gpioctl 8 , 99.Xr wdogctl 8 100.Sh HISTORY 101The 102.Nm 103device first appeared in 104.Nx 2.0 . 105PIO function support was added in 106.Ox 3.6 , 107and subsequently ported to 108.Nx 4.0 . 109Support for PCI exceptions reporting and for RAM write-protection 110first appeared in 111.Nx 5.0 . 112.Sh AUTHORS 113The 114.Nm 115driver was written by 116.An Jason R. Thorpe Aq thorpej@NetBSD.org . 117.An Jasper Wallace 118provided the work-around for a hardware bug related to the watchdog timer 119in some steppings of the SC520 CPU. 120Support for the PIO function was added to 121.Ox 3.6 122by 123.An Alexander Yurchenko Aq grange@openbsd.org 124and was ported to 125.Nx 126by 127.An Jeff Rizzo Aq riz@NetBSD.org . 128.An David Young Aq dyoung@NetBSD.org 129added support for PCI exceptions reporting and for RAM write-protection 130using the Programmable Address Regions. 131