Home | History | Annotate | Line # | Download | only in i2c
      1  1.1  soren /*	$NetBSD: w83795greg.h,v 1.1 2013/08/06 15:58:25 soren Exp $	*/
      2  1.1  soren 
      3  1.1  soren /*
      4  1.1  soren  * Copyright (c) 2013 Soren S. Jorvang.  All rights reserved.
      5  1.1  soren  *
      6  1.1  soren  * Redistribution and use in source and binary forms, with or without
      7  1.1  soren  * modification, are permitted provided that the following conditions
      8  1.1  soren  * are met:
      9  1.1  soren  * 1. Redistributions of source code must retain the above copyright
     10  1.1  soren  *    notice, this list of conditions, and the following disclaimer.
     11  1.1  soren  * 2. Redistributions in binary form must reproduce the above copyright
     12  1.1  soren  *    notice, this list of conditions and the following disclaimer in the
     13  1.1  soren  *    documentation and/or other materials provided with the distribution.
     14  1.1  soren  *
     15  1.1  soren  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
     16  1.1  soren  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     17  1.1  soren  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     18  1.1  soren  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
     19  1.1  soren  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     20  1.1  soren  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     21  1.1  soren  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     22  1.1  soren  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     23  1.1  soren  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     24  1.1  soren  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     25  1.1  soren  * SUCH DAMAGE.
     26  1.1  soren  */
     27  1.1  soren 
     28  1.1  soren /*
     29  1.1  soren  * Nuvoton_W83795G_W83795ADG_Datasheet_V1.43.pdf
     30  1.1  soren  */
     31  1.1  soren 
     32  1.1  soren #define W83795G_BANKSEL	0x00		/* Bank Selection */
     33  1.1  soren #define BANKSEL_HBACS		0x80
     34  1.1  soren #define BANKSEL_BANK		0x07
     35  1.1  soren 
     36  1.1  soren /*
     37  1.1  soren  * Bank 0 registers
     38  1.1  soren  */
     39  1.1  soren #define W83795G_CONFIG	0x01		/* Configuration */
     40  1.1  soren #define CONFIG_START		0x01
     41  1.1  soren #define CONFIG_INT_CLEAR	0x02
     42  1.1  soren #define CONFIG_CONFIG48		0x04
     43  1.1  soren #define CONFIG_CLKSEL		0x18
     44  1.1  soren #define CONFIG_RST_VDD_MD	0x20
     45  1.1  soren #define CONFIG_SYS_RST_MD	0x40
     46  1.1  soren #define CONFIG_INIT		0x80
     47  1.1  soren 
     48  1.1  soren #define W83795G_V_CTRL1	0x02		/* Voltage monitoring control */
     49  1.1  soren #define W83795G_V_CTRL2	0x03		/* Voltage monitoring control */
     50  1.1  soren #define W83795G_T_CTRL1	0x04		/* Temp monitoring control */
     51  1.1  soren #define W83795G_T_CTRL2	0x05		/* Temp monitoring control */
     52  1.1  soren #define W83795G_F_CTRL1	0x06		/* FANIN monitoring control */
     53  1.1  soren #define W83795G_F_CTRL2	0x07		/* FANIN monitoring control */
     54  1.1  soren #define W83795G_VMIGB_C	0x08		/* 8x voltage input gain control */
     55  1.1  soren #define VMIGB_C_GAIN_VDSEN14	0x01
     56  1.1  soren #define VMIGB_C_GAIN_VDSEN15	0x02
     57  1.1  soren #define VMIGB_C_GAIN_VDSEN16	0x04
     58  1.1  soren #define VMIGB_C_GAIN_VDSEN17	0x08
     59  1.1  soren #define W83795G_GPIO_M	0x09		/* GPIO I/O mode control */
     60  1.1  soren #define W83795G_GPIO_I	0x0a		/* GPIO input data */
     61  1.1  soren #define W83795G_GPIO_O	0x0b		/* GPIO output data */
     62  1.1  soren 
     63  1.1  soren #define W83795G_WDTLOCK	0x0c		/* Lock Watch Dog */
     64  1.1  soren #define WDTLOCK_ENABLE_SOFT	0x55
     65  1.1  soren #define WDTLOCK_DISABLE_SOFT	0xaa
     66  1.1  soren #define WDTLOCK_ENABLE_HARD	0x33
     67  1.1  soren #define WDTLOCK_DISABLE_HARD	0xcc
     68  1.1  soren 
     69  1.1  soren #define W83795G_WDT_ENA	0x0d		/* Watch Dog Enable */
     70  1.1  soren #define WDT_ENA_SOFT		0x01
     71  1.1  soren #define WDT_ENA_HARD		0x02
     72  1.1  soren #define WDT_ENA_ENWDT		0x04
     73  1.1  soren 
     74  1.1  soren #define W83795G_WDT_STS	0x0e		/* Watch Dog Status */
     75  1.1  soren #define WDT_STS_SOFT_TO		0x01
     76  1.1  soren #define WDT_STS_HARD_TO		0x02
     77  1.1  soren #define WDT_STS_WDT_ST		0x0c
     78  1.1  soren 
     79  1.1  soren #define W83795G_WDT_CNT	0x0f		/* Watch Dog Timeout Counter */
     80  1.1  soren 
     81  1.1  soren #define W83795G_VSEN1	0x10
     82  1.1  soren #define W83795G_VSEN2	0x11
     83  1.1  soren #define W83795G_VSEN3	0x12
     84  1.1  soren #define W83795G_VSEN4	0x13
     85  1.1  soren #define W83795G_VSEN5	0x14
     86  1.1  soren #define W83795G_VSEN6	0x15
     87  1.1  soren #define W83795G_VSEN7	0x16
     88  1.1  soren #define W83795G_VSEN8	0x17
     89  1.1  soren #define W83795G_VSEN9	0x18
     90  1.1  soren #define W83795G_VSEN10	0x19
     91  1.1  soren #define W83795G_VSEN11	0x1a
     92  1.1  soren #define W83795G_VTT	0x1b
     93  1.1  soren #define W83795G_3VDD	0x1c
     94  1.1  soren #define W83795G_3VSB	0x1d
     95  1.1  soren #define W83795G_VBAT	0x1e
     96  1.1  soren #define W83795G_TR5	0x1f
     97  1.1  soren #define W83795G_VSEN12	W83795G_TR5
     98  1.1  soren #define W83795G_TR6	0x20
     99  1.1  soren #define W83795G_VSEN13	W83795G_TR6
    100  1.1  soren #define W83795G_TD1	0x21
    101  1.1  soren #define W83795G_TR1	W83795G_TD1
    102  1.1  soren #define W83795G_VDSEN14	W83795G_TD1
    103  1.1  soren #define W83795G_TD2	0x22
    104  1.1  soren #define W83795G_TR2	W83795G_TD2
    105  1.1  soren #define W83795G_VDSEN15	W83795G_TD2
    106  1.1  soren #define W83795G_TD3	0x23
    107  1.1  soren #define W83795G_TR3	W83795G_TD3
    108  1.1  soren #define W83795G_VDSEN16	W83795G_TD3
    109  1.1  soren #define W83795G_TD4	0x24
    110  1.1  soren #define W83795G_TR4	W83795G_TD4
    111  1.1  soren #define W83795G_VDSEN17	W83795G_TD4
    112  1.1  soren #define W83795G_DTS1	0x26
    113  1.1  soren #define W83795G_DTS2	0x27
    114  1.1  soren #define W83795G_DTS3	0x28
    115  1.1  soren #define W83795G_DTS4	0x29
    116  1.1  soren #define W83795G_DTS5	0x2a
    117  1.1  soren #define W83795G_DTS6	0x2b
    118  1.1  soren #define W83795G_DTS7	0x2c
    119  1.1  soren #define W83795G_DTS8	0x2d
    120  1.1  soren #define W83795G_FANIN1	0x2e
    121  1.1  soren #define W83795G_FANIN2	0x2f
    122  1.1  soren #define W83795G_FANIN3	0x30
    123  1.1  soren #define W83795G_FANIN4	0x31
    124  1.1  soren #define W83795G_FANIN5	0x32
    125  1.1  soren #define W83795G_FANIN6	0x33
    126  1.1  soren #define W83795G_FANIN7	0x34
    127  1.1  soren #define W83795G_FANIN8	0x35
    128  1.1  soren #define W83795G_FANIN9	0x36
    129  1.1  soren #define W83795G_FANIN10	0x37
    130  1.1  soren #define W83795G_FANIN11	0x38
    131  1.1  soren #define W83795G_FANIN12	0x39
    132  1.1  soren #define W83795G_FANIN13	0x3a
    133  1.1  soren #define W83795G_FANIN14	0x3b
    134  1.1  soren #define W83795G_VR_LSB	0x3c		/* Monitored Channel Readout Low Byte */
    135  1.1  soren 
    136  1.1  soren #define W83795G_SMICTRL	0x40		/* SMI Control */
    137  1.1  soren #define W83795G_SMISTS1	0x41		/* SMI Status 1 */
    138  1.1  soren #define W83795G_SMISTS2	0x42		/* SMI Status 2 */
    139  1.1  soren #define W83795G_SMISTS3	0x43		/* SMI Status 3 */
    140  1.1  soren #define W83795G_SMISTS4	0x44		/* SMI Status 4 */
    141  1.1  soren #define W83795G_SMISTS5	0x45		/* SMI Status 5 */
    142  1.1  soren #define W83795G_SMISTS6	0x46		/* SMI Status 6 */
    143  1.1  soren #define W83795G_SMISTS7	0x47		/* SMI Status 7 */
    144  1.1  soren #define W83795G_SMIMSK1	0x48		/* SMI Mask 1 */
    145  1.1  soren #define W83795G_SMIMSK2	0x49		/* SMI Mask 2 */
    146  1.1  soren #define W83795G_SMIMSK3	0x4a		/* SMI Mask 3 */
    147  1.1  soren #define W83795G_SMIMSK4	0x4b		/* SMI Mask 4 */
    148  1.1  soren #define W83795G_SMIMSK5	0x4c		/* SMI Mask 5 */
    149  1.1  soren #define W83795G_SMIMSK6	0x4d		/* SMI Mask 6 */
    150  1.1  soren #define W83795G_SMIMSK7	0x4e		/* SMI Mask 7 */
    151  1.1  soren #define W83795G_BEEP1	0x50		/* BEEP Control 1 */
    152  1.1  soren #define W83795G_BEEP2	0x51		/* BEEP Control 1 */
    153  1.1  soren #define W83795G_BEEP3	0x52		/* BEEP Control 2 */
    154  1.1  soren #define W83795G_BEEP4	0x53		/* BEEP Control 3 */
    155  1.1  soren #define W83795G_BEEP5	0x54		/* BEEP Control 4 */
    156  1.1  soren #define W83795G_BEEP6	0x55		/* BEEP Control 5 */
    157  1.1  soren #define W83795G_OVT_GLB	0x58		/* OVT Global Enable */
    158  1.1  soren #define W83795G_OVT1_C1	0x59		/* OVT1 Control 1 */
    159  1.1  soren #define W83795G_OVT1_C2	0x5a		/* OVT1 Control 1 */
    160  1.1  soren #define W83795G_OVT2_C1	0x5b		/* OVT2 Control 1 */
    161  1.1  soren #define W83795G_OVT2_C2	0x5c		/* OVT2 Control 1 */
    162  1.1  soren #define W83795G_OVT3_C1	0x5d		/* OVT3 Control 1 */
    163  1.1  soren #define W83795G_OVT3_C2	0x5e		/* OVT3 Control 1 */
    164  1.1  soren #define W83795G_THERM	0x5f		/* THERMTRIP Control/Status */
    165  1.1  soren #define W83795G_PROCSTS	0x60		/* PROCHOT Processor Hot Status */
    166  1.1  soren #define W83795G_PROC1	0x61		/* PROCHOT1# Processor Hot Control */
    167  1.1  soren #define W83795G_PROC2	0x62		/* PROCHOT2# Processor Hot Control */
    168  1.1  soren #define W83795G_PROC3	0x63		/* PROCHOT3# Processor Hot Control */
    169  1.1  soren #define W83795G_PROC4	0x64		/* PROCHOT4# Processor Hot Control */
    170  1.1  soren #define W83795G_VFAULT1	0x65		/* VOLT_FAULT# Control 1 */
    171  1.1  soren #define W83795G_VFAULT2	0x66		/* VOLT_FAULT# Control 2 */
    172  1.1  soren #define W83795G_VFAULT3	0x67		/* VOLT_FAULT# Control 3 */
    173  1.1  soren #define W83795G_FFAULT1	0x68		/* FAN_FAULT# Control 1 */
    174  1.1  soren #define W83795G_FFAULT2	0x69		/* FAN_FAULT# Control 2 */
    175  1.1  soren #define W83795G_VIDCTRL	0x6a		/* VID Control */
    176  1.1  soren #define W83795G_DVID_HI	0x6b		/* Dynamic VID High Tolerance */
    177  1.1  soren #define W83795G_DVID_LO	0x6c		/* Dynamic VID Low Tolerance */
    178  1.1  soren #define W83795G_V1VIDIN	0x6d		/* VSEN1 VID Input Value */
    179  1.1  soren #define W83795G_V2VIDIN	0x6e		/* VSEN2 VID Input Value */
    180  1.1  soren #define W83795G_V3VIDIN	0x6f		/* VSEN3 VID Input Value */
    181  1.1  soren 
    182  1.1  soren #define W83795G_VSEN1HL	0x70
    183  1.1  soren #define W83795G_VSEN1LL	0x71
    184  1.1  soren #define W83795G_VSEN2HL	0x72
    185  1.1  soren #define W83795G_VSEN2LL	0x73
    186  1.1  soren #define W83795G_VSEN3HL	0x74
    187  1.1  soren #define W83795G_VSEN3LL	0x75
    188  1.1  soren #define W83795G_VSEN4HL	0x76
    189  1.1  soren #define W83795G_VSEN4LL	0x77
    190  1.1  soren #define W83795G_VSEN5HL	0x78
    191  1.1  soren #define W83795G_VSEN5LL	0x79
    192  1.1  soren #define W83795G_VSEN6HL	0x7a
    193  1.1  soren #define W83795G_VSEN6LL	0x7b
    194  1.1  soren #define W83795G_VSEN7HL	0x7c
    195  1.1  soren #define W83795G_VSEN7LL	0x7d
    196  1.1  soren #define W83795G_VSEN8HL	0x7e
    197  1.1  soren #define W83795G_VSEN8LL	0x7f
    198  1.1  soren #define W83795G_VSEN9HL	0x80
    199  1.1  soren #define W83795G_VSEN9LL	0x81
    200  1.1  soren #define W83795G_VSEN10H	0x82
    201  1.1  soren #define W83795G_VSEN10L	0x83
    202  1.1  soren #define W83795G_VSEN11H	0x84
    203  1.1  soren #define W83795G_VSEN11L	0x85
    204  1.1  soren #define W83795G_VTT_HL	0x86
    205  1.1  soren #define W83795G_VTT_LL	0x87
    206  1.1  soren #define W83795G_3VDD_HL	0x88
    207  1.1  soren #define W83795G_3VDD_LL	0x89
    208  1.1  soren #define W83795G_3VSB_HL	0x8a
    209  1.1  soren #define W83795G_3VSB_LL	0x8b
    210  1.1  soren #define W83795G_VBAT_HL	0x8c
    211  1.1  soren #define W83795G_VBAT_LL	0x8d
    212  1.1  soren #define W83795G_V1H_LSB	0x8e
    213  1.1  soren #define W83795G_V1L_LSB	0x8f
    214  1.1  soren #define W83795G_V2H_LSB	0x90
    215  1.1  soren #define W83795G_V2L_LSB	0x91
    216  1.1  soren #define W83795G_V3H_LSB	0x92
    217  1.1  soren #define W83795G_V3L_LSB	0x93
    218  1.1  soren #define W83795G_V4H_LSB	0x94
    219  1.1  soren #define W83795G_V4L_LSB	0x95
    220  1.1  soren #define W83795G_TD1CRIT	0x96
    221  1.1  soren #define W83795G_VD14_HL	W83795G_TD1CRIT
    222  1.1  soren #define W83795G_TD1CRTH	0x97
    223  1.1  soren #define W83795G_VD14_LL	W83795G_TD1CRTH
    224  1.1  soren #define W83795G_TD1WARN	0x98
    225  1.1  soren #define W83795G_VD14HLL	W83795G_TD1WARN
    226  1.1  soren #define W83795G_TD1WRNH	0x99
    227  1.1  soren #define W83795G_VD14LLL	W83795G_TD1WRNH
    228  1.1  soren #define W83795G_TD2CRIT	0x9a
    229  1.1  soren #define W83795G_VD15_HL	W83795G_TD2CRIT
    230  1.1  soren #define W83795G_TD2CRTH	0x9b
    231  1.1  soren #define W83795G_VD15_LL	W83795G_TD2CRTH
    232  1.1  soren #define W83795G_TD2WARN	0x9c
    233  1.1  soren #define W83795G_VD15HLL	W83795G_TD2WARN
    234  1.1  soren #define W83795G_TD2WRNH	0x9d
    235  1.1  soren #define W83795G_VD15LLL	W83795G_TD2WRNH
    236  1.1  soren #define W83795G_TD3CRIT	0x9e
    237  1.1  soren #define W83795G_VD16_HL	W83795G_TD3CRIT
    238  1.1  soren #define W83795G_TD3CRTH	0x9f
    239  1.1  soren #define W83795G_VD16_LL	W83795G_TD3CRTH
    240  1.1  soren #define W83795G_TD3WARN	0xa0
    241  1.1  soren #define W83795G_VD16HLL	W83795G_TD3WARN
    242  1.1  soren #define W83795G_TD3WRNH	0xa1
    243  1.1  soren #define W83795G_VD16LLL	W83795G_TD3WRNH
    244  1.1  soren #define W83795G_TD4CRIT	0xa2
    245  1.1  soren #define W83795G_VD17_HL	W83795G_TD4CRIT
    246  1.1  soren #define W83795G_TD4CRTH	0xa3
    247  1.1  soren #define W83795G_VD17_LL	W83795G_TD4CRTH
    248  1.1  soren #define W83795G_TD4WARN	0xa4
    249  1.1  soren #define W83795G_VD17HLL	W83795G_TD4WARN
    250  1.1  soren #define W83795G_TD4WRNH	0xa5
    251  1.1  soren #define W83795G_VD17LLL	W83795G_TD4WRNH
    252  1.1  soren #define W83795G_TR5CRIT	0xa6
    253  1.1  soren #define W83795G_VS12_HL	W83795G_TR5CRIT
    254  1.1  soren #define W83795G_TR5CRTH	0xa7
    255  1.1  soren #define W83795G_VS12_LL	W83795G_TR5CRIH
    256  1.1  soren #define W83795G_TR5WARN	0xa8
    257  1.1  soren #define W83795G_VS12HLL	W83795G_TR5WARN
    258  1.1  soren #define W83795G_TR5WRNH	0xa9
    259  1.1  soren #define W83795G_VS12LLL	W83795G_TR5WRNH
    260  1.1  soren #define W83795G_TR6CRIT	0xaa
    261  1.1  soren #define W83795G_VS13_HL	W83795G_TR6CRIT
    262  1.1  soren #define W83795G_TR6CRTH	0xab
    263  1.1  soren #define W83795G_VS13_LL	W83795G_TR6CRIH
    264  1.1  soren #define W83795G_TR6WARN	0xac
    265  1.1  soren #define W83795G_VS13HLL	W83795G_TR6WARN
    266  1.1  soren #define W83795G_TR6WRNH	0xad
    267  1.1  soren #define W83795G_VS13LLL	W83795G_TR6WRNH
    268  1.1  soren #define W83795G_DTSCRIT	0xb2
    269  1.1  soren #define W83795G_DTSCRTH	0xb3
    270  1.1  soren #define W83795G_DTSWARN	0xb4
    271  1.1  soren #define W83795G_DTSWRNH	0xb5
    272  1.1  soren #define W83795G_FAN1HL	0xb6
    273  1.1  soren #define W83795G_FAN2HL	0xb7
    274  1.1  soren #define W83795G_FAN3HL	0xb8
    275  1.1  soren #define W83795G_FAN4HL	0xb9
    276  1.1  soren #define W83795G_FAN5HL	0xba
    277  1.1  soren #define W83795G_FAN6HL	0xbb
    278  1.1  soren #define W83795G_FAN7HL	0xbc
    279  1.1  soren #define W83795G_FAN8HL	0xbd
    280  1.1  soren #define W83795G_FAN9HL	0xbe
    281  1.1  soren #define W83795G_FAN10HL	0xbf
    282  1.1  soren #define W83795G_FAN11HL	0xc0
    283  1.1  soren #define W83795G_FAN12HL	0xc1
    284  1.1  soren #define W83795G_FAN13HL	0xc2
    285  1.1  soren #define W83795G_FAN14HL	0xc3
    286  1.1  soren #define W83795G_FHL1LSB	0xc4
    287  1.1  soren #define W83795G_FHL2LSB	0xc5
    288  1.1  soren #define W83795G_FHL3LSB	0xc6
    289  1.1  soren #define W83795G_FHL4LSB	0xc7
    290  1.1  soren #define W83795G_FHL5LSB	0xc8
    291  1.1  soren #define W83795G_FHL6LSB	0xc9
    292  1.1  soren #define W83795G_FHL7LSB	0xca
    293  1.1  soren 
    294  1.1  soren #define W83795G_TD1_OFF	0xd0
    295  1.1  soren #define W83795G_TD2_OFF	0xd1
    296  1.1  soren #define W83795G_TD3_OFF	0xd2
    297  1.1  soren #define W83795G_TD4_OFF	0xd3
    298  1.1  soren #define W83795G_TD56OFF	0xd4
    299  1.1  soren 
    300  1.1  soren #define W83795G_DEVICE	0xfb		/* Nuvoton Device ID */
    301  1.1  soren #define DEVICE_B		0x51
    302  1.1  soren #define DEVICE_C		0x52
    303  1.1  soren 
    304  1.1  soren #define W83795G_I2CADDR	0xfc		/* I2C Address */
    305  1.1  soren #define I2CADDR_MINADDR		0x2c	/* Datasheet says 0x58 ! */
    306  1.1  soren #define I2CADDR_MAXADDR		0x2f	/* Datasheet says 0x5e ! */
    307  1.1  soren 
    308  1.1  soren #define W83795G_VENDOR	0xfd		/* Nuvoton Vendor ID */
    309  1.1  soren #define VENDOR_NUVOTON		0x5c
    310  1.1  soren #define VENDOR_NUVOTON_ID_HI    0x5c
    311  1.1  soren #define VENDOR_NUVOTON_ID_LO    0xa3
    312  1.1  soren 
    313  1.1  soren #define W83795G_CHIP	0xfe		/* Nuvoton Chip ID */
    314  1.1  soren #define CHIP_W83795G		0x79
    315  1.1  soren 
    316  1.1  soren #define W83795G_DEVICEA	0xff
    317  1.1  soren #define DEVICEA_A		0x50
    318  1.1  soren 
    319  1.1  soren /*
    320  1.1  soren  * Bank 1 registers
    321  1.1  soren  *
    322  1.1  soren  * UDID/ASF
    323  1.1  soren  */
    324  1.1  soren 
    325  1.1  soren /*
    326  1.1  soren  * Bank 2 registers
    327  1.1  soren  */
    328  1.1  soren #define W83795G_FCMS1	0x01		/* Fan Control Mode Selection */
    329  1.1  soren #define W83795G_T1FMR	0x02		/* Temperature to Fan Mapping */
    330  1.1  soren #define W83795G_T2FMR	0x03		/* Temperature to Fan Mapping */
    331  1.1  soren #define W83795G_T3FMR	0x04		/* Temperature to Fan Mapping */
    332  1.1  soren #define W83795G_T4FMR	0x05		/* Temperature to Fan Mapping */
    333  1.1  soren #define W83795G_T5FMR	0x06		/* Temperature to Fan Mapping */
    334  1.1  soren #define W83795G_T6FMR	0x07		/* Temperature to Fan Mapping */
    335  1.1  soren #define W83795G_FCMS2	0x08		/* Fan Control Mode Selection */
    336  1.1  soren #define W83795G_T12TSS	0x09		/* Temperature Source Selection */
    337  1.1  soren #define W83795G_T34TSS	0x0a		/* Temperature Source Selection */
    338  1.1  soren #define W83795G_T56TSS	0x0b		/* Temperature Source Selection */
    339  1.1  soren #define W83795G_DFSP	0x0c		/* Default Fan Speed at Power-on */
    340  1.1  soren #define W83795G_SFOSUT	0x0d		/* SmartFan Output Step Up Time */
    341  1.1  soren #define W83795G_SFOSDT	0x0e		/* SmartFan Output Step Down Time */
    342  1.1  soren #define W83795G_FOMC	0x0f		/* Fan Output Mode Control */
    343  1.1  soren #define W83795G_F1OV	0x10		/* Fan Output Value */
    344  1.1  soren #define W83795G_F2OV	0x11		/* Fan Output Value */
    345  1.1  soren #define W83795G_F3OV	0x12		/* Fan Output Value */
    346  1.1  soren #define W83795G_F4OV	0x13		/* Fan Output Value */
    347  1.1  soren #define W83795G_F5OV	0x14		/* Fan Output Value */
    348  1.1  soren #define W83795G_F6OV	0x15		/* Fan Output Value */
    349  1.1  soren #define W83795G_F7OV	0x16		/* Fan Output Value */
    350  1.1  soren #define W83795G_F8OV	0x17		/* Fan Output Value */
    351  1.1  soren #define W83795G_F1PFP	0x18		/* Fan Output PWM Frequency Prescalar */
    352  1.1  soren #define W83795G_F2PFP	0x19		/* Fan Output PWM Frequency Prescalar */
    353  1.1  soren #define W83795G_F3PFP	0x1a		/* Fan Output PWM Frequency Prescalar */
    354  1.1  soren #define W83795G_FdPFP	0x1b		/* Fan Output PWM Frequency Prescalar */
    355  1.1  soren #define W83795G_F5PFP	0x1c		/* Fan Output PWM Frequency Prescalar */
    356  1.1  soren #define W83795G_F6PFP	0x1d		/* Fan Output PWM Frequency Prescalar */
    357  1.1  soren #define W83795G_F7PFP	0x1e		/* Fan Output PWM Frequency Prescalar */
    358  1.1  soren #define W83795G_F8PFP	0x1f		/* Fan Output PWM Frequency Prescalar */
    359  1.1  soren #define W83795G_F1OSV	0x20		/* Fan Output Start-up Value */
    360  1.1  soren #define W83795G_F2OSV	0x21		/* Fan Output Start-up Value */
    361  1.1  soren #define W83795G_F3OSV	0x22		/* Fan Output Start-up Value */
    362  1.1  soren #define W83795G_F4OSV	0x23		/* Fan Output Start-up Value */
    363  1.1  soren #define W83795G_F5OSV	0x24		/* Fan Output Start-up Value */
    364  1.1  soren #define W83795G_F6OSV	0x25		/* Fan Output Start-up Value */
    365  1.1  soren #define W83795G_F7OSV	0x26		/* Fan Output Start-up Value */
    366  1.1  soren #define W83795G_F8OSV	0x27		/* Fan Output Start-up Value */
    367  1.1  soren #define W83795G_F1ONV	0x28		/* Fan Output Nonstop Value */
    368  1.1  soren #define W83795G_F2ONV	0x29		/* Fan Output Nonstop Value */
    369  1.1  soren #define W83795G_F3ONV	0x2a		/* Fan Output Nonstop Value */
    370  1.1  soren #define W83795G_F4ONV	0x2b		/* Fan Output Nonstop Value */
    371  1.1  soren #define W83795G_F5ONV	0x2c		/* Fan Output Nonstop Value */
    372  1.1  soren #define W83795G_F6ONV	0x2d		/* Fan Output Nonstop Value */
    373  1.1  soren #define W83795G_F7ONV	0x2e		/* Fan Output Nonstop Value */
    374  1.1  soren #define W83795G_F8ONV	0x2f		/* Fan Output Nonstop Value */
    375  1.1  soren #define W83795G_F1OST	0x30		/* Fan Output Stop Time */
    376  1.1  soren #define W83795G_F2OST	0x31		/* Fan Output Stop Time */
    377  1.1  soren #define W83795G_F3OST	0x32		/* Fan Output Stop Time */
    378  1.1  soren #define W83795G_F4OST	0x33		/* Fan Output Stop Time */
    379  1.1  soren #define W83795G_F5OST	0x34		/* Fan Output Stop Time */
    380  1.1  soren #define W83795G_F6OST	0x35		/* Fan Output Stop Time */
    381  1.1  soren #define W83795G_F7OST	0x36		/* Fan Output Stop Time */
    382  1.1  soren #define W83795G_F8OST	0x37		/* Fan Output Stop Time */
    383  1.1  soren #define W83795G_FOPPC	0x38		/* Fan Output PWM Polarity Control */
    384  1.1  soren #define W83795G_F1TSH	0x40		/* FANIN Target Speed */
    385  1.1  soren #define W83795G_F1TSL	0x41		/* FANIN Target Speed */
    386  1.1  soren #define W83795G_F2TSH	0x42		/* FANIN Target Speed */
    387  1.1  soren #define W83795G_F2TSL	0x43		/* FANIN Target Speed */
    388  1.1  soren #define W83795G_F3TSH	0x44		/* FANIN Target Speed */
    389  1.1  soren #define W83795G_F3TSL	0x45		/* FANIN Target Speed */
    390  1.1  soren #define W83795G_F4TSH	0x46		/* FANIN Target Speed */
    391  1.1  soren #define W83795G_F4TSL	0x47		/* FANIN Target Speed */
    392  1.1  soren #define W83795G_F5TSH	0x48		/* FANIN Target Speed */
    393  1.1  soren #define W83795G_F5TSL	0x49		/* FANIN Target Speed */
    394  1.1  soren #define W83795G_F6TSH	0x4a		/* FANIN Target Speed */
    395  1.1  soren #define W83795G_F6TSL	0x4b		/* FANIN Target Speed */
    396  1.1  soren #define W83795G_F7TSH	0x4c		/* FANIN Target Speed */
    397  1.1  soren #define W83795G_F7TSL	0x4d		/* FANIN Target Speed */
    398  1.1  soren #define W83795G_F8TSH	0x4e		/* FANIN Target Speed */
    399  1.1  soren #define W83795G_F8TSL	0x4f		/* FANIN Target Speed */
    400  1.1  soren #define W83795G_TFTS	0x50		/* Tolerance of FANIN Target Speed */
    401  1.1  soren #define W83795G_T1TTI	0x60		/* Target Temperature of Inputs */
    402  1.1  soren #define W83795G_T2TTI	0x61		/* Target Temperature of Inputs */
    403  1.1  soren #define W83795G_T3TTI	0x62		/* Target Temperature of Inputs */
    404  1.1  soren #define W83795G_T4TTI	0x63		/* Target Temperature of Inputs */
    405  1.1  soren #define W83795G_T5TTI	0x64		/* Target Temperature of Inputs */
    406  1.1  soren #define W83795G_T6TTI	0x65		/* Target Temperature of Inputs */
    407  1.1  soren #define W83795G_T1CTFS	0x68		/* Critical Temperature to Full Speed */
    408  1.1  soren #define W83795G_T2CTFS	0x69		/* Critical Temperature to Full Speed */
    409  1.1  soren #define W83795G_T3CTFS	0x6a		/* Critical Temperature to Full Speed */
    410  1.1  soren #define W83795G_T4CTFS	0x6b		/* Critical Temperature to Full Speed */
    411  1.1  soren #define W83795G_T5CTFS	0x6c		/* Critical Temperature to Full Speed */
    412  1.1  soren #define W83795G_HT1	0x70		/* Hysteresis of Temperature */
    413  1.1  soren #define W83795G_HT2	0x71		/* Hysteresis of Temperature */
    414  1.1  soren #define W83795G_HT3	0x72		/* Hysteresis of Temperature */
    415  1.1  soren #define W83795G_HT4	0x73		/* Hysteresis of Temperature */
    416  1.1  soren #define W83795G_HT5	0x74		/* Hysteresis of Temperature */
    417  1.1  soren #define W83795G_HT6	0x75		/* Hysteresis of Temperature */
    418  1.1  soren #define W83795G_SFIV	0x80		/* SMART FAN IV Temperature Maps */
    419  1.1  soren #define W83795G_CRPE1	0xe0		/* Configuration of PECI Error */
    420  1.1  soren #define W83795G_CRPE2	0xe1		/* Configuration of PECI Error */
    421  1.1  soren #define W83795G_F1OMV	0xe2		/* Fan Output Min Value on PECI Error */
    422  1.1  soren #define W83795G_F2OMV	0xe3		/* Fan Output Min Value on PECI Error */
    423  1.1  soren #define W83795G_F3OMV	0xe4		/* Fan Output Min Value on PECI Error */
    424  1.1  soren #define W83795G_F4OMV	0xe5		/* Fan Output Min Value on PECI Error */
    425  1.1  soren #define W83795G_F5OMV	0xe6		/* Fan Output Min Value on PECI Error */
    426  1.1  soren #define W83795G_F6OMV	0xe7		/* Fan Output Min Value on PECI Error */
    427  1.1  soren #define W83795G_F7OMV	0xe8		/* Fan Output Min Value on PECI Error */
    428  1.1  soren #define W83795G_F8OMV	0xe9		/* Fan Output Min Value on PECI Error */
    429  1.1  soren 
    430  1.1  soren /*
    431  1.1  soren  * Bank 3 registers
    432  1.1  soren  *
    433  1.1  soren  * PECI/SB-TSI
    434  1.1  soren  */
    435