linux/Documentation/hwmon/asc7621.rst
<<
>>
Prefs
   1=====================
   2Kernel driver asc7621
   3=====================
   4
   5Supported chips:
   6
   7    Andigilog aSC7621 and aSC7621a
   8
   9    Prefix: 'asc7621'
  10
  11    Addresses scanned: I2C 0x2c, 0x2d, 0x2e
  12
  13    Datasheet: http://www.fairview5.com/linux/asc7621/asc7621.pdf
  14
  15Author:
  16                George Joseph
  17
  18Description provided by Dave Pivin @ Andigilog:
  19
  20Andigilog has both the PECI and pre-PECI versions of the Heceta-6, as
  21Intel calls them. Heceta-6e has high frequency PWM and Heceta-6p has
  22added PECI and a 4th thermal zone. The Andigilog aSC7611 is the
  23Heceta-6e part and aSC7621 is the Heceta-6p part. They are both in
  24volume production, shipping to Intel and their subs.
  25
  26We have enhanced both parts relative to the governing Intel
  27specification. First enhancement is temperature reading resolution. We
  28have used registers below 20h for vendor-specific functions in addition
  29to those in the Intel-specified vendor range.
  30
  31Our conversion process produces a result that is reported as two bytes.
  32The fan speed control uses this finer value to produce a "step-less" fan
  33PWM output. These two bytes are "read-locked" to guarantee that once a
  34high or low byte is read, the other byte is locked-in until after the
  35next read of any register. So to get an atomic reading, read high or low
  36byte, then the very next read should be the opposite byte. Our data
  37sheet says 10-bits of resolution, although you may find the lower bits
  38are active, they are not necessarily reliable or useful externally. We
  39chose not to mask them.
  40
  41We employ significant filtering that is user tunable as described in the
  42data sheet. Our temperature reports and fan PWM outputs are very smooth
  43when compared to the competition, in addition to the higher resolution
  44temperature reports. The smoother PWM output does not require user
  45intervention.
  46
  47We offer GPIO features on the former VID pins. These are open-drain
  48outputs or inputs and may be used as general purpose I/O or as alarm
  49outputs that are based on temperature limits. These are in 19h and 1Ah.
  50
  51We offer flexible mapping of temperature readings to thermal zones. Any
  52temperature may be mapped to any zone, which has a default assignment
  53that follows Intel's specs.
  54
  55Since there is a fan to zone assignment that allows for the "hotter" of
  56a set of zones to control the PWM of an individual fan, but there is no
  57indication to the user, we have added an indicator that shows which zone
  58is currently controlling the PWM for a given fan. This is in register
  5900h.
  60
  61Both remote diode temperature readings may be given an offset value such
  62that the reported reading as well as the temperature used to determine
  63PWM may be offset for system calibration purposes.
  64
  65PECI Extended configuration allows for having more than two domains per
  66PECI address and also provides an enabling function for each PECI
  67address. One could use our flexible zone assignment to have a zone
  68assigned to up to 4 PECI addresses. This is not possible in the default
  69Intel configuration. This would be useful in multi-CPU systems with
  70individual fans on each that would benefit from individual fan control.
  71This is in register 0Eh.
  72
  73The tachometer measurement system is flexible and able to adapt to many
  74fan types. We can also support pulse-stretched PWM so that 3-wire fans
  75may be used. These characteristics are in registers 04h to 07h.
  76
  77Finally, we have added a tach disable function that turns off the tach
  78measurement system for individual tachs in order to save power. That is
  79in register 75h.
  80
  81--------------------------------------------------------------------------
  82
  83aSC7621 Product Description
  84===========================
  85
  86The aSC7621 has a two wire digital interface compatible with SMBus 2.0.
  87Using a 10-bit ADC, the aSC7621 measures the temperature of two remote diode
  88connected transistors as well as its own die. Support for Platform
  89Environmental Control Interface (PECI) is included.
  90
  91Using temperature information from these four zones, an automatic fan speed
  92control algorithm is employed to minimize acoustic impact while achieving
  93recommended CPU temperature under varying operational loads.
  94
  95To set fan speed, the aSC7621 has three independent pulse width modulation
  96(PWM) outputs that are controlled by one, or a combination of three,
  97temperature zones. Both high- and low-frequency PWM ranges are supported.
  98
  99The aSC7621 also includes a digital filter that can be invoked to smooth
 100temperature readings for better control of fan speed and minimum acoustic
 101impact.
 102
 103The aSC7621 has tachometer inputs to measure fan speed on up to four fans.
 104Limit and status registers for all measured values are included to alert
 105the system host that any measurements are outside of programmed limits
 106via status registers.
 107
 108System voltages of VCCP, 2.5V, 3.3V, 5.0V, and 12V motherboard power are
 109monitored efficiently with internal scaling resistors.
 110
 111Features
 112--------
 113
 114- Supports PECI interface and monitors internal and remote thermal diodes
 115- 2-wire, SMBus 2.0 compliant, serial interface
 116- 10-bit ADC
 117- Monitors VCCP, 2.5V, 3.3V, 5.0V, and 12V motherboard/processor supplies
 118- Programmable autonomous fan control based on temperature readings
 119- Noise filtering of temperature reading for fan speed control
 120- 0.25C digital temperature sensor resolution
 121- 3 PWM fan speed control outputs for 2-, 3- or 4-wire fans and up to 4 fan
 122  tachometer inputs
 123- Enhanced measured temperature to Temperature Zone assignment.
 124- Provides high and low PWM frequency ranges
 125- 3 GPIO pins for custom use
 126- 24-Lead QSOP package
 127
 128Configuration Notes
 129===================
 130
 131Except where noted below, the sysfs entries created by this driver follow
 132the standards defined in "sysfs-interface".
 133
 134temp1_source
 135        =       ===============================================
 136        0       (default) peci_legacy = 0, Remote 1 Temperature
 137                peci_legacy = 1, PECI Processor Temperature 0
 138        1       Remote 1 Temperature
 139        2       Remote 2 Temperature
 140        3       Internal Temperature
 141        4       PECI Processor Temperature 0
 142        5       PECI Processor Temperature 1
 143        6       PECI Processor Temperature 2
 144        7       PECI Processor Temperature 3
 145        =       ===============================================
 146
 147temp2_source
 148        =       ===============================================
 149        0       (default) Internal Temperature
 150        1       Remote 1 Temperature
 151        2       Remote 2 Temperature
 152        3       Internal Temperature
 153        4       PECI Processor Temperature 0
 154        5       PECI Processor Temperature 1
 155        6       PECI Processor Temperature 2
 156        7       PECI Processor Temperature 3
 157        =       ===============================================
 158
 159temp3_source
 160        =       ===============================================
 161        0       (default) Remote 2 Temperature
 162        1       Remote 1 Temperature
 163        2       Remote 2 Temperature
 164        3       Internal Temperature
 165        4       PECI Processor Temperature 0
 166        5       PECI Processor Temperature 1
 167        6       PECI Processor Temperature 2
 168        7       PECI Processor Temperature 3
 169        =       ===============================================
 170
 171temp4_source
 172        =       ===============================================
 173        0       (default) peci_legacy = 0, PECI Processor Temperature 0
 174                peci_legacy = 1, Remote 1 Temperature
 175        1       Remote 1 Temperature
 176        2       Remote 2 Temperature
 177        3       Internal Temperature
 178        4       PECI Processor Temperature 0
 179        5       PECI Processor Temperature 1
 180        6       PECI Processor Temperature 2
 181        7       PECI Processor Temperature 3
 182        =       ===============================================
 183
 184temp[1-4]_smoothing_enable / temp[1-4]_smoothing_time
 185        Smooths spikes in temp readings caused by noise.
 186        Valid values in milliseconds are:
 187
 188        * 35000
 189        * 17600
 190        * 11800
 191        *  7000
 192        *  4400
 193        *  3000
 194        *  1600
 195        *   800
 196
 197temp[1-4]_crit
 198        When the corresponding zone temperature reaches this value,
 199        ALL pwm outputs will got to 100%.
 200
 201temp[5-8]_input / temp[5-8]_enable
 202        The aSC7621 can also read temperatures provided by the processor
 203        via the PECI bus.  Usually these are "core" temps and are relative
 204        to the point where the automatic thermal control circuit starts
 205        throttling.  This means that these are usually negative numbers.
 206
 207pwm[1-3]_enable
 208        =============== ========================================================
 209        0               Fan off.
 210        1               Fan on manual control.
 211        2               Fan on automatic control and will run at the minimum pwm
 212                        if the temperature for the zone is below the minimum.
 213        3               Fan on automatic control but will be off if the
 214                        temperature for the zone is below the minimum.
 215        4-254           Ignored.
 216        255             Fan on full.
 217        =============== ========================================================
 218
 219pwm[1-3]_auto_channels
 220        Bitmap as described in sysctl-interface with the following
 221        exceptions...
 222
 223        Only the following combination of zones (and their corresponding masks)
 224        are valid:
 225
 226        * 1
 227        * 2
 228        * 3
 229        * 2,3
 230        * 1,2,3
 231        * 4
 232        * 1,2,3,4
 233
 234        * Special values:
 235
 236          ==            ======================
 237          0             Disabled.
 238          16            Fan on manual control.
 239          31            Fan on full.
 240          ==            ======================
 241
 242
 243pwm[1-3]_invert
 244        When set, inverts the meaning of pwm[1-3].
 245        i.e.  when pwm = 0, the fan will be on full and
 246        when pwm = 255 the fan will be off.
 247
 248pwm[1-3]_freq
 249        PWM frequency in Hz
 250        Valid values in Hz are:
 251
 252        * 10
 253        * 15
 254        * 23
 255        * 30  (default)
 256        * 38
 257        * 47
 258        * 62
 259        * 94
 260        * 23000
 261        * 24000
 262        * 25000
 263        * 26000
 264        * 27000
 265        * 28000
 266        * 29000
 267        * 30000
 268
 269        Setting any other value will be ignored.
 270
 271peci_enable
 272        Enables or disables PECI
 273
 274peci_avg
 275        Input filter average time.
 276
 277        * 0     0 Sec. (no Smoothing) (default)
 278        * 1     0.25 Sec.
 279        * 2     0.5 Sec.
 280        * 3     1.0 Sec.
 281        * 4     2.0 Sec.
 282        * 5     4.0 Sec.
 283        * 6     8.0 Sec.
 284        * 7     0.0 Sec.
 285
 286peci_legacy
 287        =       ============================================
 288        0       Standard Mode (default)
 289                Remote Diode 1 reading is associated with
 290                Temperature Zone 1, PECI is associated with
 291                Zone 4
 292
 293        1       Legacy Mode
 294                PECI is associated with Temperature Zone 1,
 295                Remote Diode 1 is associated with Zone 4
 296        =       ============================================
 297
 298peci_diode
 299        Diode filter
 300
 301        =       ====================
 302        0       0.25 Sec.
 303        1       1.1 Sec.
 304        2       2.4 Sec.  (default)
 305        3       3.4 Sec.
 306        4       5.0 Sec.
 307        5       6.8 Sec.
 308        6       10.2 Sec.
 309        7       16.4 Sec.
 310        =       ====================
 311
 312peci_4domain
 313        Four domain enable
 314
 315        =       ===============================================
 316        0       1 or 2 Domains for enabled processors (default)
 317        1       3 or 4 Domains for enabled processors
 318        =       ===============================================
 319
 320peci_domain
 321        Domain
 322
 323        =       ==================================================
 324        0       Processor contains a single domain (0)   (default)
 325        1       Processor contains two domains (0,1)
 326        =       ==================================================
 327