xref: /linux/Documentation/hwmon/it87.rst (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
17ebd8b66SMauro Carvalho ChehabKernel driver it87
27ebd8b66SMauro Carvalho Chehab==================
37ebd8b66SMauro Carvalho Chehab
47ebd8b66SMauro Carvalho ChehabSupported chips:
57ebd8b66SMauro Carvalho Chehab
67ebd8b66SMauro Carvalho Chehab  * IT8603E/IT8623E
77ebd8b66SMauro Carvalho Chehab
87ebd8b66SMauro Carvalho Chehab    Prefix: 'it8603'
97ebd8b66SMauro Carvalho Chehab
107ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
117ebd8b66SMauro Carvalho Chehab
127ebd8b66SMauro Carvalho Chehab    Datasheet: Not publicly available
137ebd8b66SMauro Carvalho Chehab
147ebd8b66SMauro Carvalho Chehab  * IT8620E
157ebd8b66SMauro Carvalho Chehab
167ebd8b66SMauro Carvalho Chehab    Prefix: 'it8620'
177ebd8b66SMauro Carvalho Chehab
187ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
197ebd8b66SMauro Carvalho Chehab
207ebd8b66SMauro Carvalho Chehab  * IT8628E
217ebd8b66SMauro Carvalho Chehab
227ebd8b66SMauro Carvalho Chehab    Prefix: 'it8628'
237ebd8b66SMauro Carvalho Chehab
247ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
257ebd8b66SMauro Carvalho Chehab
267ebd8b66SMauro Carvalho Chehab    Datasheet: Not publicly available
277ebd8b66SMauro Carvalho Chehab
287ebd8b66SMauro Carvalho Chehab  * IT8705F
297ebd8b66SMauro Carvalho Chehab
307ebd8b66SMauro Carvalho Chehab    Prefix: 'it87'
317ebd8b66SMauro Carvalho Chehab
327ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
337ebd8b66SMauro Carvalho Chehab
347ebd8b66SMauro Carvalho Chehab    Datasheet: Once publicly available at the ITE website, but no longer
357ebd8b66SMauro Carvalho Chehab
367ebd8b66SMauro Carvalho Chehab  * IT8712F
377ebd8b66SMauro Carvalho Chehab
387ebd8b66SMauro Carvalho Chehab    Prefix: 'it8712'
397ebd8b66SMauro Carvalho Chehab
407ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
417ebd8b66SMauro Carvalho Chehab
427ebd8b66SMauro Carvalho Chehab    Datasheet: Once publicly available at the ITE website, but no longer
437ebd8b66SMauro Carvalho Chehab
447ebd8b66SMauro Carvalho Chehab  * IT8716F/IT8726F
457ebd8b66SMauro Carvalho Chehab
467ebd8b66SMauro Carvalho Chehab    Prefix: 'it8716'
477ebd8b66SMauro Carvalho Chehab
487ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
497ebd8b66SMauro Carvalho Chehab
507ebd8b66SMauro Carvalho Chehab    Datasheet: Once publicly available at the ITE website, but no longer
517ebd8b66SMauro Carvalho Chehab
527ebd8b66SMauro Carvalho Chehab  * IT8718F
537ebd8b66SMauro Carvalho Chehab
547ebd8b66SMauro Carvalho Chehab    Prefix: 'it8718'
557ebd8b66SMauro Carvalho Chehab
567ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
577ebd8b66SMauro Carvalho Chehab
587ebd8b66SMauro Carvalho Chehab    Datasheet: Once publicly available at the ITE website, but no longer
597ebd8b66SMauro Carvalho Chehab
607ebd8b66SMauro Carvalho Chehab  * IT8720F
617ebd8b66SMauro Carvalho Chehab
627ebd8b66SMauro Carvalho Chehab    Prefix: 'it8720'
637ebd8b66SMauro Carvalho Chehab
647ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
657ebd8b66SMauro Carvalho Chehab
667ebd8b66SMauro Carvalho Chehab    Datasheet: Not publicly available
677ebd8b66SMauro Carvalho Chehab
687ebd8b66SMauro Carvalho Chehab  * IT8721F/IT8758E
697ebd8b66SMauro Carvalho Chehab
707ebd8b66SMauro Carvalho Chehab    Prefix: 'it8721'
717ebd8b66SMauro Carvalho Chehab
727ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
737ebd8b66SMauro Carvalho Chehab
747ebd8b66SMauro Carvalho Chehab    Datasheet: Not publicly available
757ebd8b66SMauro Carvalho Chehab
767ebd8b66SMauro Carvalho Chehab  * IT8728F
777ebd8b66SMauro Carvalho Chehab
787ebd8b66SMauro Carvalho Chehab    Prefix: 'it8728'
797ebd8b66SMauro Carvalho Chehab
807ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
817ebd8b66SMauro Carvalho Chehab
827ebd8b66SMauro Carvalho Chehab    Datasheet: Not publicly available
837ebd8b66SMauro Carvalho Chehab
847ebd8b66SMauro Carvalho Chehab  * IT8732F
857ebd8b66SMauro Carvalho Chehab
867ebd8b66SMauro Carvalho Chehab    Prefix: 'it8732'
877ebd8b66SMauro Carvalho Chehab
887ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
897ebd8b66SMauro Carvalho Chehab
907ebd8b66SMauro Carvalho Chehab    Datasheet: Not publicly available
917ebd8b66SMauro Carvalho Chehab
927ebd8b66SMauro Carvalho Chehab  * IT8771E
937ebd8b66SMauro Carvalho Chehab
947ebd8b66SMauro Carvalho Chehab    Prefix: 'it8771'
957ebd8b66SMauro Carvalho Chehab
967ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
977ebd8b66SMauro Carvalho Chehab
987ebd8b66SMauro Carvalho Chehab    Datasheet: Not publicly available
997ebd8b66SMauro Carvalho Chehab
1007ebd8b66SMauro Carvalho Chehab  * IT8772E
1017ebd8b66SMauro Carvalho Chehab
1027ebd8b66SMauro Carvalho Chehab    Prefix: 'it8772'
1037ebd8b66SMauro Carvalho Chehab
1047ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
1057ebd8b66SMauro Carvalho Chehab
1067ebd8b66SMauro Carvalho Chehab    Datasheet: Not publicly available
1077ebd8b66SMauro Carvalho Chehab
1087ebd8b66SMauro Carvalho Chehab  * IT8781F
1097ebd8b66SMauro Carvalho Chehab
1107ebd8b66SMauro Carvalho Chehab    Prefix: 'it8781'
1117ebd8b66SMauro Carvalho Chehab
1127ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
1137ebd8b66SMauro Carvalho Chehab
1147ebd8b66SMauro Carvalho Chehab    Datasheet: Not publicly available
1157ebd8b66SMauro Carvalho Chehab
1167ebd8b66SMauro Carvalho Chehab  * IT8782F
1177ebd8b66SMauro Carvalho Chehab
1187ebd8b66SMauro Carvalho Chehab    Prefix: 'it8782'
1197ebd8b66SMauro Carvalho Chehab
1207ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
1217ebd8b66SMauro Carvalho Chehab
1227ebd8b66SMauro Carvalho Chehab    Datasheet: Not publicly available
1237ebd8b66SMauro Carvalho Chehab
1247ebd8b66SMauro Carvalho Chehab  * IT8783E/F
1257ebd8b66SMauro Carvalho Chehab
1267ebd8b66SMauro Carvalho Chehab    Prefix: 'it8783'
1277ebd8b66SMauro Carvalho Chehab
1287ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
1297ebd8b66SMauro Carvalho Chehab
1307ebd8b66SMauro Carvalho Chehab    Datasheet: Not publicly available
1317ebd8b66SMauro Carvalho Chehab
1327ebd8b66SMauro Carvalho Chehab  * IT8786E
1337ebd8b66SMauro Carvalho Chehab
1347ebd8b66SMauro Carvalho Chehab    Prefix: 'it8786'
1357ebd8b66SMauro Carvalho Chehab
1367ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
1377ebd8b66SMauro Carvalho Chehab
1387ebd8b66SMauro Carvalho Chehab    Datasheet: Not publicly available
1397ebd8b66SMauro Carvalho Chehab
1407ebd8b66SMauro Carvalho Chehab  * IT8790E
1417ebd8b66SMauro Carvalho Chehab
1427ebd8b66SMauro Carvalho Chehab    Prefix: 'it8790'
1437ebd8b66SMauro Carvalho Chehab
1447ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
1457ebd8b66SMauro Carvalho Chehab
1467ebd8b66SMauro Carvalho Chehab    Datasheet: Not publicly available
1477ebd8b66SMauro Carvalho Chehab
148*01189055SFrank Crawford  * IT8792E/IT8795E
149*01189055SFrank Crawford
150*01189055SFrank Crawford    Prefix: 'it8792'
151*01189055SFrank Crawford
152*01189055SFrank Crawford    Addresses scanned: from Super I/O config space (8 I/O ports)
153*01189055SFrank Crawford
154*01189055SFrank Crawford    Datasheet: Not publicly available
155*01189055SFrank Crawford
156*01189055SFrank Crawford  * IT87952E
157*01189055SFrank Crawford
158*01189055SFrank Crawford    Prefix: 'it87952'
159*01189055SFrank Crawford
160*01189055SFrank Crawford    Addresses scanned: from Super I/O config space (8 I/O ports)
161*01189055SFrank Crawford
162*01189055SFrank Crawford    Datasheet: Not publicly available
163*01189055SFrank Crawford
1647ebd8b66SMauro Carvalho Chehab  * SiS950   [clone of IT8705F]
1657ebd8b66SMauro Carvalho Chehab
1667ebd8b66SMauro Carvalho Chehab    Prefix: 'it87'
1677ebd8b66SMauro Carvalho Chehab
1687ebd8b66SMauro Carvalho Chehab    Addresses scanned: from Super I/O config space (8 I/O ports)
1697ebd8b66SMauro Carvalho Chehab
1707ebd8b66SMauro Carvalho Chehab    Datasheet: No longer be available
1717ebd8b66SMauro Carvalho Chehab
1727ebd8b66SMauro Carvalho Chehab
1737ebd8b66SMauro Carvalho ChehabAuthors:
1747ebd8b66SMauro Carvalho Chehab    - Christophe Gauthron
1757ebd8b66SMauro Carvalho Chehab    - Jean Delvare <jdelvare@suse.de>
1767ebd8b66SMauro Carvalho Chehab
1777ebd8b66SMauro Carvalho Chehab
1787ebd8b66SMauro Carvalho ChehabModule Parameters
1797ebd8b66SMauro Carvalho Chehab-----------------
1807ebd8b66SMauro Carvalho Chehab
181*01189055SFrank Crawford* update_vbat bool
1827ebd8b66SMauro Carvalho Chehab    0 if vbat should report power on value, 1 if vbat should be updated after
1837ebd8b66SMauro Carvalho Chehab    each read. Default is 0. On some boards the battery voltage is provided
1847ebd8b66SMauro Carvalho Chehab    by either the battery or the onboard power supply. Only the first reading
1857ebd8b66SMauro Carvalho Chehab    at power on will be the actual battery voltage (which the chip does
1867ebd8b66SMauro Carvalho Chehab    automatically). On other boards the battery voltage is always fed to
1877ebd8b66SMauro Carvalho Chehab    the chip so can be read at any time. Excessive reading may decrease
1887ebd8b66SMauro Carvalho Chehab    battery life but no information is given in the datasheet.
1897ebd8b66SMauro Carvalho Chehab
190*01189055SFrank Crawford* fix_pwm_polarity bool
1917ebd8b66SMauro Carvalho Chehab    Force PWM polarity to active high (DANGEROUS). Some chips are
1927ebd8b66SMauro Carvalho Chehab    misconfigured by BIOS - PWM values would be inverted. This option tries
1937ebd8b66SMauro Carvalho Chehab    to fix this. Please contact your BIOS manufacturer and ask him for fix.
1947ebd8b66SMauro Carvalho Chehab
195*01189055SFrank Crawford* force_id short, short
196*01189055SFrank Crawford
197*01189055SFrank Crawford  Force multiple chip ID to specified value, separated by ','.
198*01189055SFrank Crawford  For example "force_id=0x8689,0x8633".  A value of 0 is ignored
199*01189055SFrank Crawford  for that chip.
200*01189055SFrank Crawford  Note: A single force_id value (e.g. "force_id=0x8689") is used for
201*01189055SFrank Crawford  all chips, to only set the first chip use "force_id=0x8689,0".
202*01189055SFrank Crawford  Should only be used for testing.
203*01189055SFrank Crawford
204*01189055SFrank Crawford* ignore_resource_conflict bool
205*01189055SFrank Crawford
206*01189055SFrank Crawford  Similar to acpi_enforce_resources=lax, but only affects this driver.
207*01189055SFrank Crawford  ACPI resource conflicts are ignored if this parameter is provided and
208*01189055SFrank Crawford  set to 1.
209*01189055SFrank Crawford  Provided since there are reports that system-wide acpi_enfore_resources=lax
210*01189055SFrank Crawford  can result in boot failures on some systems.
211*01189055SFrank Crawford  Note: This is inherently risky since it means that both ACPI and this driver
212*01189055SFrank Crawford  may access the chip at the same time. This can result in race conditions and,
213*01189055SFrank Crawford  worst case, result in unexpected system reboots.
214*01189055SFrank Crawford
2157ebd8b66SMauro Carvalho Chehab
2167ebd8b66SMauro Carvalho ChehabHardware Interfaces
2177ebd8b66SMauro Carvalho Chehab-------------------
2187ebd8b66SMauro Carvalho Chehab
2197ebd8b66SMauro Carvalho ChehabAll the chips supported by this driver are LPC Super-I/O chips, accessed
2207ebd8b66SMauro Carvalho Chehabthrough the LPC bus (ISA-like I/O ports). The IT8712F additionally has an
2217ebd8b66SMauro Carvalho ChehabSMBus interface to the hardware monitoring functions. This driver no
2227ebd8b66SMauro Carvalho Chehablonger supports this interface though, as it is slower and less reliable
2237ebd8b66SMauro Carvalho Chehabthan the ISA access, and was only available on a small number of
2247ebd8b66SMauro Carvalho Chehabmotherboard models.
2257ebd8b66SMauro Carvalho Chehab
2267ebd8b66SMauro Carvalho Chehab
2277ebd8b66SMauro Carvalho ChehabDescription
2287ebd8b66SMauro Carvalho Chehab-----------
2297ebd8b66SMauro Carvalho Chehab
2307ebd8b66SMauro Carvalho ChehabThis driver implements support for the IT8603E, IT8620E, IT8623E, IT8628E,
2317ebd8b66SMauro Carvalho ChehabIT8705F, IT8712F, IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8732F,
232*01189055SFrank CrawfordIT8758E, IT8771E, IT8772E, IT8781F, IT8782F, IT8783E/F, IT8786E, IT8790E,
233*01189055SFrank CrawfordIT8792E/IT8795E, IT87952E and SiS950 chips.
2347ebd8b66SMauro Carvalho Chehab
2357ebd8b66SMauro Carvalho ChehabThese chips are 'Super I/O chips', supporting floppy disks, infrared ports,
2367ebd8b66SMauro Carvalho Chehabjoysticks and other miscellaneous stuff. For hardware monitoring, they
2377ebd8b66SMauro Carvalho Chehabinclude an 'environment controller' with 3 temperature sensors, 3 fan
2387ebd8b66SMauro Carvalho Chehabrotation speed sensors, 8 voltage sensors, associated alarms, and chassis
2397ebd8b66SMauro Carvalho Chehabintrusion detection.
2407ebd8b66SMauro Carvalho Chehab
2417ebd8b66SMauro Carvalho ChehabThe IT8712F and IT8716F additionally feature VID inputs, used to report
2427ebd8b66SMauro Carvalho Chehabthe Vcore voltage of the processor. The early IT8712F have 5 VID pins,
2437ebd8b66SMauro Carvalho Chehabthe IT8716F and late IT8712F have 6. They are shared with other functions
2447ebd8b66SMauro Carvalho Chehabthough, so the functionality may not be available on a given system.
2457ebd8b66SMauro Carvalho Chehab
2467ebd8b66SMauro Carvalho ChehabThe IT8718F and IT8720F also features VID inputs (up to 8 pins) but the value
2477ebd8b66SMauro Carvalho Chehabis stored in the Super-I/O configuration space. Due to technical limitations,
2487ebd8b66SMauro Carvalho Chehabthis value can currently only be read once at initialization time, so
2497ebd8b66SMauro Carvalho Chehabthe driver won't notice and report changes in the VID value. The two
2507ebd8b66SMauro Carvalho Chehabupper VID bits share their pins with voltage inputs (in5 and in6) so you
2517ebd8b66SMauro Carvalho Chehabcan't have both on a given board.
2527ebd8b66SMauro Carvalho Chehab
2537ebd8b66SMauro Carvalho ChehabThe IT8716F, IT8718F, IT8720F, IT8721F/IT8758E and later IT8712F revisions
2547ebd8b66SMauro Carvalho Chehabhave support for 2 additional fans. The additional fans are supported by the
2557ebd8b66SMauro Carvalho Chehabdriver.
2567ebd8b66SMauro Carvalho Chehab
2577ebd8b66SMauro Carvalho ChehabThe IT8716F, IT8718F, IT8720F, IT8721F/IT8758E, IT8732F, IT8781F, IT8782F,
2587ebd8b66SMauro Carvalho ChehabIT8783E/F, and late IT8712F and IT8705F also have optional 16-bit tachometer
2597ebd8b66SMauro Carvalho Chehabcounters for fans 1 to 3. This is better (no more fan clock divider mess) but
2607ebd8b66SMauro Carvalho Chehabnot compatible with the older chips and revisions. The 16-bit tachometer mode
2617ebd8b66SMauro Carvalho Chehabis enabled by the driver when one of the above chips is detected.
2627ebd8b66SMauro Carvalho Chehab
2637ebd8b66SMauro Carvalho ChehabThe IT8726F is just bit enhanced IT8716F with additional hardware
2647ebd8b66SMauro Carvalho Chehabfor AMD power sequencing. Therefore the chip will appear as IT8716F
2657ebd8b66SMauro Carvalho Chehabto userspace applications.
2667ebd8b66SMauro Carvalho Chehab
2677ebd8b66SMauro Carvalho ChehabThe IT8728F, IT8771E, and IT8772E are considered compatible with the IT8721F,
2687ebd8b66SMauro Carvalho Chehabuntil a datasheet becomes available (hopefully.)
2697ebd8b66SMauro Carvalho Chehab
2707ebd8b66SMauro Carvalho ChehabThe IT8603E/IT8623E is a custom design, hardware monitoring part is similar to
2717ebd8b66SMauro Carvalho ChehabIT8728F. It only supports 3 fans, 16-bit fan mode, and the full speed mode
2727ebd8b66SMauro Carvalho Chehabof the fan is not supported (value 0 of pwmX_enable).
2737ebd8b66SMauro Carvalho Chehab
2747ebd8b66SMauro Carvalho ChehabThe IT8620E and IT8628E are custom designs, hardware monitoring part is similar
2757ebd8b66SMauro Carvalho Chehabto IT8728F. It only supports 16-bit fan mode. Both chips support up to 6 fans.
2767ebd8b66SMauro Carvalho Chehab
277*01189055SFrank CrawfordThe IT8790E, IT8792E/IT8795E and IT87952E support up to 3 fans. 16-bit fan
278*01189055SFrank Crawfordmode is always enabled.
2797ebd8b66SMauro Carvalho Chehab
2807ebd8b66SMauro Carvalho ChehabThe IT8732F supports a closed-loop mode for fan control, but this is not
2817ebd8b66SMauro Carvalho Chehabcurrently implemented by the driver.
2827ebd8b66SMauro Carvalho Chehab
2837ebd8b66SMauro Carvalho ChehabTemperatures are measured in degrees Celsius. An alarm is triggered once
2847ebd8b66SMauro Carvalho Chehabwhen the Overtemperature Shutdown limit is crossed.
2857ebd8b66SMauro Carvalho Chehab
2867ebd8b66SMauro Carvalho ChehabFan rotation speeds are reported in RPM (rotations per minute). An alarm is
2877ebd8b66SMauro Carvalho Chehabtriggered if the rotation speed has dropped below a programmable limit. When
2887ebd8b66SMauro Carvalho Chehab16-bit tachometer counters aren't used, fan readings can be divided by
2897ebd8b66SMauro Carvalho Chehaba programmable divider (1, 2, 4 or 8) to give the readings more range or
2907ebd8b66SMauro Carvalho Chehabaccuracy. With a divider of 2, the lowest representable value is around
2917ebd8b66SMauro Carvalho Chehab2600 RPM. Not all RPM values can accurately be represented, so some rounding
2927ebd8b66SMauro Carvalho Chehabis done.
2937ebd8b66SMauro Carvalho Chehab
2947ebd8b66SMauro Carvalho ChehabVoltage sensors (also known as IN sensors) report their values in volts. An
2957ebd8b66SMauro Carvalho Chehabalarm is triggered if the voltage has crossed a programmable minimum or
2967ebd8b66SMauro Carvalho Chehabmaximum limit. Note that minimum in this case always means 'closest to
2977ebd8b66SMauro Carvalho Chehabzero'; this is important for negative voltage measurements. On most chips, all
2987ebd8b66SMauro Carvalho Chehabvoltage inputs can measure voltages between 0 and 4.08 volts, with a resolution
2997ebd8b66SMauro Carvalho Chehabof 0.016 volt.  IT8603E, IT8721F/IT8758E and IT8728F can measure between 0 and
3007ebd8b66SMauro Carvalho Chehab3.06 volts, with a resolution of 0.012 volt.  IT8732F can measure between 0 and
3017ebd8b66SMauro Carvalho Chehab2.8 volts with a resolution of 0.0109 volt.  The battery voltage in8 does not
3027ebd8b66SMauro Carvalho Chehabhave limit registers.
3037ebd8b66SMauro Carvalho Chehab
3047ebd8b66SMauro Carvalho ChehabOn the IT8603E, IT8620E, IT8628E, IT8721F/IT8758E, IT8732F, IT8781F, IT8782F,
3057ebd8b66SMauro Carvalho Chehaband IT8783E/F, some voltage inputs are internal and scaled inside the chip:
3067ebd8b66SMauro Carvalho Chehab* in3 (optional)
3077ebd8b66SMauro Carvalho Chehab* in7 (optional for IT8781F, IT8782F, and IT8783E/F)
3087ebd8b66SMauro Carvalho Chehab* in8 (always)
3097ebd8b66SMauro Carvalho Chehab* in9 (relevant for IT8603E only)
3107ebd8b66SMauro Carvalho ChehabThe driver handles this transparently so user-space doesn't have to care.
3117ebd8b66SMauro Carvalho Chehab
3127ebd8b66SMauro Carvalho ChehabThe VID lines (IT8712F/IT8716F/IT8718F/IT8720F) encode the core voltage value:
3137ebd8b66SMauro Carvalho Chehabthe voltage level your processor should work with. This is hardcoded by
3147ebd8b66SMauro Carvalho Chehabthe mainboard and/or processor itself. It is a value in volts.
3157ebd8b66SMauro Carvalho Chehab
3167ebd8b66SMauro Carvalho ChehabIf an alarm triggers, it will remain triggered until the hardware register
3177ebd8b66SMauro Carvalho Chehabis read at least once. This means that the cause for the alarm may already
3187ebd8b66SMauro Carvalho Chehabhave disappeared! Note that in the current implementation, all hardware
3197ebd8b66SMauro Carvalho Chehabregisters are read whenever any data is read (unless it is less than 1.5
3207ebd8b66SMauro Carvalho Chehabseconds since the last update). This means that you can easily miss
3217ebd8b66SMauro Carvalho Chehabonce-only alarms.
3227ebd8b66SMauro Carvalho Chehab
3237ebd8b66SMauro Carvalho ChehabOut-of-limit readings can also result in beeping, if the chip is properly
3247ebd8b66SMauro Carvalho Chehabwired and configured. Beeping can be enabled or disabled per sensor type
3257ebd8b66SMauro Carvalho Chehab(temperatures, voltages and fans.)
3267ebd8b66SMauro Carvalho Chehab
3277ebd8b66SMauro Carvalho ChehabThe IT87xx only updates its values each 1.5 seconds; reading it more often
3287ebd8b66SMauro Carvalho Chehabwill do no harm, but will return 'old' values.
3297ebd8b66SMauro Carvalho Chehab
3307ebd8b66SMauro Carvalho ChehabTo change sensor N to a thermistor, 'echo 4 > tempN_type' where N is 1, 2,
3317ebd8b66SMauro Carvalho Chehabor 3. To change sensor N to a thermal diode, 'echo 3 > tempN_type'.
3327ebd8b66SMauro Carvalho ChehabGive 0 for unused sensor. Any other value is invalid. To configure this at
3337ebd8b66SMauro Carvalho Chehabstartup, consult lm_sensors's /etc/sensors.conf. (4 = thermistor;
3347ebd8b66SMauro Carvalho Chehab3 = thermal diode)
3357ebd8b66SMauro Carvalho Chehab
3367ebd8b66SMauro Carvalho Chehab
3377ebd8b66SMauro Carvalho ChehabFan speed control
3387ebd8b66SMauro Carvalho Chehab-----------------
3397ebd8b66SMauro Carvalho Chehab
3407ebd8b66SMauro Carvalho ChehabThe fan speed control features are limited to manual PWM mode. Automatic
3417ebd8b66SMauro Carvalho Chehab"Smart Guardian" mode control handling is only implemented for older chips
3427ebd8b66SMauro Carvalho Chehab(see below.) However if you want to go for "manual mode" just write 1 to
3437ebd8b66SMauro Carvalho ChehabpwmN_enable.
3447ebd8b66SMauro Carvalho Chehab
3457ebd8b66SMauro Carvalho ChehabIf you are only able to control the fan speed with very small PWM values,
3467ebd8b66SMauro Carvalho Chehabtry lowering the PWM base frequency (pwm1_freq). Depending on the fan,
3477ebd8b66SMauro Carvalho Chehabit may give you a somewhat greater control range. The same frequency is
3487ebd8b66SMauro Carvalho Chehabused to drive all fan outputs, which is why pwm2_freq and pwm3_freq are
3497ebd8b66SMauro Carvalho Chehabread-only.
3507ebd8b66SMauro Carvalho Chehab
3517ebd8b66SMauro Carvalho Chehab
3527ebd8b66SMauro Carvalho ChehabAutomatic fan speed control (old interface)
3537ebd8b66SMauro Carvalho Chehab-------------------------------------------
3547ebd8b66SMauro Carvalho Chehab
3557ebd8b66SMauro Carvalho ChehabThe driver supports the old interface to automatic fan speed control
3567ebd8b66SMauro Carvalho Chehabwhich is implemented by IT8705F chips up to revision F and IT8712F
3577ebd8b66SMauro Carvalho Chehabchips up to revision G.
3587ebd8b66SMauro Carvalho Chehab
3597ebd8b66SMauro Carvalho ChehabThis interface implements 4 temperature vs. PWM output trip points.
3607ebd8b66SMauro Carvalho ChehabThe PWM output of trip point 4 is always the maximum value (fan running
3617ebd8b66SMauro Carvalho Chehabat full speed) while the PWM output of the other 3 trip points can be
3627ebd8b66SMauro Carvalho Chehabfreely chosen. The temperature of all 4 trip points can be freely chosen.
3637ebd8b66SMauro Carvalho ChehabAdditionally, trip point 1 has an hysteresis temperature attached, to
3647ebd8b66SMauro Carvalho Chehabprevent fast switching between fan on and off.
3657ebd8b66SMauro Carvalho Chehab
3667ebd8b66SMauro Carvalho ChehabThe chip automatically computes the PWM output value based on the input
3677ebd8b66SMauro Carvalho Chehabtemperature, based on this simple rule: if the temperature value is
3687ebd8b66SMauro Carvalho Chehabbetween trip point N and trip point N+1 then the PWM output value is
3697ebd8b66SMauro Carvalho Chehabthe one of trip point N. The automatic control mode is less flexible
3707ebd8b66SMauro Carvalho Chehabthan the manual control mode, but it reacts faster, is more robust and
3717ebd8b66SMauro Carvalho Chehabdoesn't use CPU cycles.
3727ebd8b66SMauro Carvalho Chehab
3737ebd8b66SMauro Carvalho ChehabTrip points must be set properly before switching to automatic fan speed
3747ebd8b66SMauro Carvalho Chehabcontrol mode. The driver will perform basic integrity checks before
3757ebd8b66SMauro Carvalho Chehabactually switching to automatic control mode.
3767ebd8b66SMauro Carvalho Chehab
3777ebd8b66SMauro Carvalho Chehab
3787ebd8b66SMauro Carvalho ChehabTemperature offset attributes
3797ebd8b66SMauro Carvalho Chehab-----------------------------
3807ebd8b66SMauro Carvalho Chehab
3817ebd8b66SMauro Carvalho ChehabThe driver supports temp[1-3]_offset sysfs attributes to adjust the reported
3827ebd8b66SMauro Carvalho Chehabtemperature for thermal diodes or diode-connected thermal transistors.
3837ebd8b66SMauro Carvalho ChehabIf a temperature sensor is configured for thermistors, the attribute values
3847ebd8b66SMauro Carvalho Chehabare ignored. If the thermal sensor type is Intel PECI, the temperature offset
3857ebd8b66SMauro Carvalho Chehabmust be programmed to the critical CPU temperature.
386