1ccc5f62fSPoul-Henning Kamp.\" Copyright (c) 2003 Poul-Henning Kamp <phk@FreeBSD.org> 2ccc5f62fSPoul-Henning Kamp.\" All rights reserved. 3ccc5f62fSPoul-Henning Kamp.\" 4ccc5f62fSPoul-Henning Kamp.\" Redistribution and use in source and binary forms, with or without 5ccc5f62fSPoul-Henning Kamp.\" modification, are permitted provided that the following conditions 6ccc5f62fSPoul-Henning Kamp.\" are met: 7ccc5f62fSPoul-Henning Kamp.\" 1. Redistributions of source code must retain the above copyright 8ccc5f62fSPoul-Henning Kamp.\" notice, this list of conditions and the following disclaimer. 9ccc5f62fSPoul-Henning Kamp.\" 2. Redistributions in binary form must reproduce the above copyright 10ccc5f62fSPoul-Henning Kamp.\" notice, this list of conditions and the following disclaimer in the 11ccc5f62fSPoul-Henning Kamp.\" documentation and/or other materials provided with the distribution. 12ccc5f62fSPoul-Henning Kamp.\" 13ccc5f62fSPoul-Henning Kamp.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 14ccc5f62fSPoul-Henning Kamp.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15ccc5f62fSPoul-Henning Kamp.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16ccc5f62fSPoul-Henning Kamp.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 17ccc5f62fSPoul-Henning Kamp.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18ccc5f62fSPoul-Henning Kamp.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19ccc5f62fSPoul-Henning Kamp.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20ccc5f62fSPoul-Henning Kamp.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21ccc5f62fSPoul-Henning Kamp.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22ccc5f62fSPoul-Henning Kamp.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23ccc5f62fSPoul-Henning Kamp.\" SUCH DAMAGE. 24ccc5f62fSPoul-Henning Kamp.\" 25ccc5f62fSPoul-Henning Kamp.Dd November 23, 2003 261cd908beSSimon L. B. Nielsen.Dt CPU_ELAN 4 i386 27ccc5f62fSPoul-Henning Kamp.Os 28ccc5f62fSPoul-Henning Kamp.Sh NAME 29ccc5f62fSPoul-Henning Kamp.Nm CPU_ELAN 30ccc5f62fSPoul-Henning Kamp.Nd AMD Elan 520 CPU support 31ccc5f62fSPoul-Henning Kamp.Sh SYNOPSIS 321cd908beSSimon L. B. Nielsen.Cd "options CPU_ELAN" 331cd908beSSimon L. B. Nielsen.Cd "options CPU_ELAN_PPS" 341cd908beSSimon L. B. Nielsen.Cd "options CPU_ELAN_XTAL" 351cd908beSSimon L. B. Nielsen.Bl -item -compact 361cd908beSSimon L. B. Nielsen.It 371cd908beSSimon L. B. Nielsen.Va machdep.elan_gpio_config 381cd908beSSimon L. B. Nielsen.It 391cd908beSSimon L. B. Nielsen.Va machdep.elan_freq 401cd908beSSimon L. B. Nielsen.El 411cd908beSSimon L. B. Nielsen.Cd "options CPU_SOEKRIS" 42ccc5f62fSPoul-Henning Kamp.Sh DESCRIPTION 431cd908beSSimon L. B. NielsenThe 441cd908beSSimon L. B. Nielsen.Cd "options CPU_ELAN" 451cd908beSSimon L. B. Nielsenenables support for the AMD Elan 520 CPU. 46ccc5f62fSPoul-Henning Kamp.Pp 471cd908beSSimon L. B. NielsenA device 481cd908beSSimon L. B. Nielsen.Pa /dev/elan-mmcr 491cd908beSSimon L. B. Nielsenexports the MMCR register bank to userland 50ccc5f62fSPoul-Henning Kampusing 51ccc5f62fSPoul-Henning Kamp.Xr mmap 2 . 52ccc5f62fSPoul-Henning Kamp.Pp 531cd908beSSimon L. B. NielsenThe 541cd908beSSimon L. B. Nielsen.Tn i8254 551cd908beSSimon L. B. Nielsentimer will be adjusted to the slightly unorthodox 56ccc5f62fSPoul-Henning Kampfrequency 1189161 Hz (32768 * 45 * 25 / 31) employed by the Elan. 57ccc5f62fSPoul-Henning Kamp.Pp 581cd908beSSimon L. B. NielsenA timecounter named 591cd908beSSimon L. B. Nielsen.Dq Li ELAN 601cd908beSSimon L. B. Nielsenis implemented using the general purpose timer 2, 61ccc5f62fSPoul-Henning Kampbut it will not be usable unless HZ is configured at 150 or higher. 621cd908beSSimon L. B. NielsenThis timecounter is much better than the 631cd908beSSimon L. B. Nielsen.Dq Li i8254 641cd908beSSimon L. B. Nielsentimecounter and should be 65ccc5f62fSPoul-Henning Kampused at all times. 66ccc5f62fSPoul-Henning Kamp.Pp 67ccc5f62fSPoul-Henning KampThe 681cd908beSSimon L. B. Nielsen.Va machdep.elan_gpio_config 691cd908beSSimon L. B. Nielsen.Xr sysctl 8 701cd908beSSimon L. B. Nielsenvariable 71ccc5f62fSPoul-Henning Kampenables configuration of the GPIO pins of the CPU. 72ccc5f62fSPoul-Henning KampThe string must be exactly 32 characters long. 731cd908beSSimon L. B. NielsenA 741cd908beSSimon L. B. Nielsen.Ql - 751cd908beSSimon L. B. Nielsenmeans the GPIO is unavailable. 761cd908beSSimon L. B. NielsenA 771cd908beSSimon L. B. Nielsen.Ql l 781cd908beSSimon L. B. Nielsen(lower-case ell) configures a 79ccc5f62fSPoul-Henning Kamp.Xr led 4 80ccc5f62fSPoul-Henning Kampdevice (active low). 811cd908beSSimon L. B. NielsenA 821cd908beSSimon L. B. Nielsen.Ql L 831cd908beSSimon L. B. Nielsenconfigures a 84ccc5f62fSPoul-Henning Kamp.Xr led 4 851cd908beSSimon L. B. Nielsendevice (active high). 861cd908beSSimon L. B. NielsenA 871cd908beSSimon L. B. Nielsen.Ql \&. 881cd908beSSimon L. B. Nielsenmeans no configuration for this GPIO. 89ccc5f62fSPoul-Henning KampThese 90ccc5f62fSPoul-Henning Kamp.Xr led 4 911cd908beSSimon L. B. Nielsendevices will be named 921cd908beSSimon L. B. Nielsen.Pa /dev/led/gpio%d . 931cd908beSSimon L. B. NielsenFor meaning of 941cd908beSSimon L. B. Nielsen.Ql P , 951cd908beSSimon L. B. Nielsen.Ql e 961cd908beSSimon L. B. Nielsenand 971cd908beSSimon L. B. Nielsen.Ql E , 981cd908beSSimon L. B. Nielsensee under 991cd908beSSimon L. B. Nielsen.Cd "options CPU_ELAN_PPS" . 100ccc5f62fSPoul-Henning Kamp.Pp 101ccc5f62fSPoul-Henning KampThe 1021cd908beSSimon L. B. Nielsen.Cd "options CPU_ELAN_XTAL" 1031cd908beSSimon L. B. Nielsenand the 1041cd908beSSimon L. B. Nielsen.Va machdep.elan_freq 1051cd908beSSimon L. B. Nielsen.Xr sysctl 8 1061cd908beSSimon L. B. Nielsenvariable 107ccc5f62fSPoul-Henning Kampcan be used to set the CPU clock crystal frequency in Hz. 108ccc5f62fSPoul-Henning KampThe default is 33333333 Hz. 109ccc5f62fSPoul-Henning Kamp.Pp 110ccc5f62fSPoul-Henning KampThe 1111cd908beSSimon L. B. Nielsen.Cd "options CPU_ELAN_PPS" 112ccc5f62fSPoul-Henning Kampenables precision timestamping using the RFC2783 PPS-API via the 1131cd908beSSimon L. B. Nielsen.Pa /dev/elan-mmcr 1141cd908beSSimon L. B. Nielsendevice. 1151cd908beSSimon L. B. NielsenThe resolution will be approximately 125 nsec 1161cd908beSSimon L. B. Nielsenand the precision \(+- 125 nsec. 1171cd908beSSimon L. B. Nielsen(For 125 nsec read 1181cd908beSSimon L. B. Nielsen.Dq "4 / CPU clock crystal frequency" . ) 119ccc5f62fSPoul-Henning Kamp.Pp 120ccc5f62fSPoul-Henning KampThe input signal must be connected to the TMR1IN pin and 121ccc5f62fSPoul-Henning Kampa GPIO pin. 1221cd908beSSimon L. B. NielsenThe GPIO pin must be configured with a 1231cd908beSSimon L. B. Nielsen.Ql P 1241cd908beSSimon L. B. Nielsenin 1251cd908beSSimon L. B. Nielsen.Va machdep.elan_gpio_config . 126ccc5f62fSPoul-Henning Kamp.Pp 1271cd908beSSimon L. B. NielsenIn addition, one GPIO pin can be configured with either 1281cd908beSSimon L. B. Nielsen.Ql e 1291cd908beSSimon L. B. Nielsen(active low) 1301cd908beSSimon L. B. Nielsenor 1311cd908beSSimon L. B. Nielsen.Ql E 1321cd908beSSimon L. B. Nielsen(active high) to become a 1331cd908beSSimon L. B. Nielsen.Dq echo 1341cd908beSSimon L. B. Nielsenoutput of the input signal. 135ccc5f62fSPoul-Henning KampPlease notice that this signal is not suitable for calibration. 136ccc5f62fSPoul-Henning Kamp.Pp 137ccc5f62fSPoul-Henning KampIf the 1381cd908beSSimon L. B. Nielsen.Cd "options CPU_SOEKRIS" 1391cd908beSSimon L. B. Nielsenis given, the support will additionally be tailored to the 140ccc5f62fSPoul-Henning KampSoekris Engineering 45xx series of embedded computers. 1411cd908beSSimon L. B. NielsenThe 1421cd908beSSimon L. B. Nielsen.Dq error 1431cd908beSSimon L. B. Nielsenled will be configured (as 1441cd908beSSimon L. B. Nielsen.Pa /dev/led/error ) 1451cd908beSSimon L. B. Nielsenand the GPIO pins which are not 146ccc5f62fSPoul-Henning Kampavailable will be disabled. 147ccc5f62fSPoul-Henning Kamp.Sh SEE ALSO 1481cd908beSSimon L. B. Nielsen.Xr led 4 , 149e3bf726bSAlexander Motin.Xr timecounters 4 , 1501cd908beSSimon L. B. Nielsen.Xr sysctl 8 151ccc5f62fSPoul-Henning Kamp.Sh HISTORY 152ccc5f62fSPoul-Henning KampThe 153ccc5f62fSPoul-Henning Kamp.Nm 154ccc5f62fSPoul-Henning Kampcode first appeared in 1551cd908beSSimon L. B. Nielsen.Fx 4.7 . 156ccc5f62fSPoul-Henning Kamp.Sh AUTHORS 1576c899950SBaptiste Daroussin.An Poul-Henning Kamp Aq Mt phk@FreeBSD.org 158