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