11d03db02SHasso Tepper /* 21d03db02SHasso Tepper * Copyright (c) 2003 Julien Bordet <zejames@greyhats.org> 31d03db02SHasso Tepper * All rights reserved. 41d03db02SHasso Tepper * 51d03db02SHasso Tepper * Redistribution and use in source and binary forms, with or without 61d03db02SHasso Tepper * modification, are permitted provided that the following conditions 71d03db02SHasso Tepper * are met: 81d03db02SHasso Tepper * 1. Redistributions of source code must retain the above copyright 91d03db02SHasso Tepper * notice, this list of conditions and the following disclaimer. 101d03db02SHasso Tepper * 2. Redistributions in binary form must reproduce the above copyright 111d03db02SHasso Tepper * notice, this list of conditions and the following disclaimer in the 121d03db02SHasso Tepper * documentation and/or other materials provided with the distribution. 131d03db02SHasso Tepper * 141d03db02SHasso Tepper * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 151d03db02SHasso Tepper * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 161d03db02SHasso Tepper * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 171d03db02SHasso Tepper * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 181d03db02SHasso Tepper * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 191d03db02SHasso Tepper * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 201d03db02SHasso Tepper * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 211d03db02SHasso Tepper * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 221d03db02SHasso Tepper * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 231d03db02SHasso Tepper * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 241d03db02SHasso Tepper * 251d03db02SHasso Tepper * $OpenBSD: itvar.h,v 1.4 2007/03/22 16:55:31 deraadt Exp $ 261d03db02SHasso Tepper * $DragonFly: src/sys/dev/powermng/it/itvar.h,v 1.1 2007/10/02 13:37:38 hasso Exp $ 271d03db02SHasso Tepper */ 281d03db02SHasso Tepper 291d03db02SHasso Tepper #ifndef _DEV_ISA_ITVAR_H 301d03db02SHasso Tepper #define _DEV_ISA_ITVAR_H 311d03db02SHasso Tepper 321d03db02SHasso Tepper #define IT_NUM_SENSORS 15 331d03db02SHasso Tepper 341d03db02SHasso Tepper /* chip ids */ 351d03db02SHasso Tepper #define IT_ID_IT87 0x90 361d03db02SHasso Tepper 371d03db02SHasso Tepper /* ctl registers */ 381d03db02SHasso Tepper 391d03db02SHasso Tepper #define ITC_ADDR 0x05 401d03db02SHasso Tepper #define ITC_DATA 0x06 411d03db02SHasso Tepper 421d03db02SHasso Tepper /* data registers */ 431d03db02SHasso Tepper 441d03db02SHasso Tepper #define ITD_CONFIG 0x00 451d03db02SHasso Tepper #define ITD_ISR1 0x01 461d03db02SHasso Tepper #define ITD_ISR2 0x02 471d03db02SHasso Tepper #define ITD_ISR3 0x03 481d03db02SHasso Tepper #define ITD_SMI1 0x04 491d03db02SHasso Tepper #define ITD_SMI2 0x05 501d03db02SHasso Tepper #define ITD_SMI3 0x06 511d03db02SHasso Tepper #define ITD_IMR1 0x07 521d03db02SHasso Tepper #define ITD_IMR2 0x08 531d03db02SHasso Tepper #define ITD_IMR3 0x09 541d03db02SHasso Tepper #define ITD_VID 0x0a 551d03db02SHasso Tepper #define ITD_FAN 0x0b 561d03db02SHasso Tepper 571d03db02SHasso Tepper #define ITD_FANMINBASE 0x10 581d03db02SHasso Tepper #define ITD_FANENABLE 0x13 591d03db02SHasso Tepper 601d03db02SHasso Tepper #define ITD_SENSORFANBASE 0x0d /* Fan from 0x0d to 0x0f */ 611d03db02SHasso Tepper #define ITD_SENSORVOLTBASE 0x20 /* Fan from 0x20 to 0x28 */ 621d03db02SHasso Tepper #define ITD_SENSORTEMPBASE 0x29 /* Fan from 0x29 to 0x2b */ 631d03db02SHasso Tepper 641d03db02SHasso Tepper #define ITD_VOLTMAXBASE 0x30 651d03db02SHasso Tepper #define ITD_VOLTMINBASE 0x31 661d03db02SHasso Tepper 671d03db02SHasso Tepper #define ITD_TEMPMAXBASE 0x40 681d03db02SHasso Tepper #define ITD_TEMPMINBASE 0x41 691d03db02SHasso Tepper 701d03db02SHasso Tepper #define ITD_SBUSADDR 0x48 711d03db02SHasso Tepper #define ITD_VOLTENABLE 0x50 721d03db02SHasso Tepper #define ITD_TEMPENABLE 0x51 731d03db02SHasso Tepper 741d03db02SHasso Tepper #define ITD_CHIPID 0x58 751d03db02SHasso Tepper 761d03db02SHasso Tepper #define IT_VREF (4096) /* Vref = 4.096 V */ 771d03db02SHasso Tepper 781d03db02SHasso Tepper struct it_softc { 79*5d302545SFrançois Tigeot device_t sc_dev; 801d03db02SHasso Tepper 811d03db02SHasso Tepper struct resource *sc_iores; 821d03db02SHasso Tepper int sc_iorid; 831d03db02SHasso Tepper bus_space_tag_t sc_iot; 841d03db02SHasso Tepper bus_space_handle_t sc_ioh; 851d03db02SHasso Tepper 861d03db02SHasso Tepper struct ksensor sensors[IT_NUM_SENSORS]; 871d03db02SHasso Tepper struct ksensordev sensordev; 881d03db02SHasso Tepper u_int numsensors; 891d03db02SHasso Tepper void (*refresh_sensor_data)(struct it_softc *); 901d03db02SHasso Tepper 911d03db02SHasso Tepper u_int8_t (*it_readreg)(struct it_softc *, int); 921d03db02SHasso Tepper void (*it_writereg)(struct it_softc *, int, int); 931d03db02SHasso Tepper }; 941d03db02SHasso Tepper 951d03db02SHasso Tepper #endif 96