Home | History | Annotate | Line # | Download | only in ic
      1 /* $NetBSD: ugreg.h,v 1.2 2024/09/07 06:17:37 andvar Exp $ */
      2 
      3 /*
      4  * Copyright (c) 2007 Mihai Chelaru <kefren (at) netbsd.ro>
      5  * All rights reserved.
      6  *
      7  * Redistribution and use in source and binary forms, with or without
      8  * modification, are permitted provided that the following conditions
      9  * are met:
     10  * 1. Redistributions of source code must retain the above copyright
     11  *    notice, this list of conditions and the following disclaimer.
     12  * 2. The name of the author may not be used to endorse or promote products
     13  *    derived from this software without specific prior written permission.
     14  *
     15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     16  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     17  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     18  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     19  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
     20  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     21  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
     22  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     23  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     24  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     25  * SUCH DAMAGE.
     26  */
     27 
     28 #ifndef _UGREG_H_
     29 #define _UGREG_H_
     30 
     31 #define UG_DRV_VERSION  1000
     32 
     33 /*
     34  * Abit uGuru (first version)
     35  */
     36 
     37 #define UG_DELAY_CYCLES 5000
     38 #define UG_NUM_SENSORS  19
     39 #define UG_MAX_SENSORS  32
     40 
     41 /* Data and Cmd offsets - Base is usually 0xE0 */
     42 #define UG_CMD          0
     43 #define UG_DATA         4
     44 
     45 /* Temp and Voltage Sensors */
     46 #define UG_CPUTEMP      0x2100
     47 #define UG_SYSTEMP      0x2101
     48 #define UG_HTV          0x2102
     49 #define UG_VCORE        0x2103
     50 #define UG_DDRVDD       0x2104
     51 #define UG_3V3          0x2105
     52 #define UG_5V           0x2106
     53 #define UG_NBVDD        0x2108
     54 #define UG_AGP          0x2109
     55 #define UG_DDRVTT       0x210A
     56 #define UG_5VSB         0x210B
     57 #define UG_3VDUAL       0x210D
     58 #define UG_SBVDD        0x210E
     59 #define UG_PWMTEMP      0x210F
     60 
     61 /* Fans */
     62 #define UG_CPUFAN       0x2600
     63 #define UG_NBFAN        0x2601
     64 #define UG_SYSFAN       0x2602
     65 #define UG_AUXFAN1      0x2603
     66 #define UG_AUXFAN2      0x2604
     67 
     68 /* RFacts */
     69 #define UG_RFACT        1000
     70 #define UG_RFACT3       3490 * UG_RFACT / 255
     71 #define UG_RFACT4       4360 * UG_RFACT / 255
     72 #define UG_RFACT6       6250 * UG_RFACT / 255
     73 #define UG_RFACT_FAN    15300/255
     74 
     75 /* Voltage and Fan sensors offsets */
     76 #define UG_VOLT_MIN     3
     77 #define UG_FAN_MIN      14
     78 
     79 /*
     80  * Abit uGuru2 or uGuru 2005 settings
     81  */
     82 
     83 /* Sensor banks */
     84 #define UG2_SETTINGS_BANK               0x01
     85 #define UG2_SENSORS_BANK                0x08
     86 #define UG2_MISC_BANK                   0x09
     87 
     88 /* Sensor offsets */
     89 #define UG2_ALARMS_OFFSET               0x1E
     90 #define UG2_SETTINGS_OFFSET             0x24
     91 #define UG2_VALUES_OFFSET               0x80
     92 
     93 /* Misc Sensor */
     94 #define UG2_BOARD_ID                    0x0A
     95 
     96 /* sensor types */
     97 #define UG2_VOLTAGE_SENSOR              0
     98 #define UG2_TEMP_SENSOR                 1
     99 #define UG2_FAN_SENSOR                  2
    100 
    101 /* uGuru status flags */
    102 #define UG2_STATUS_READY_FOR_READ       0x01
    103 #define UG2_STATUS_BUSY                 0x02
    104 /* No more than 32 sensors */
    105 #define UG2_MAX_NO_SENSORS 32
    106 
    107 /* Unknown board should be the last. Now is 0x0016 */
    108 #define UG_MAX_MSB_BOARD 0x00
    109 #define UG_MAX_LSB_BOARD 0x16
    110 #define UG_MIN_LSB_BOARD 0x0c
    111 
    112 #endif		/* _UGREG_H_ */
    113