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