1 Kernel driver lm87 1 Kernel driver lm87 2 ================== 2 ================== 3 3 4 Supported chips: 4 Supported chips: 5 5 6 * National Semiconductor LM87 6 * National Semiconductor LM87 7 7 8 Prefix: 'lm87' 8 Prefix: 'lm87' 9 9 10 Addresses scanned: I2C 0x2c - 0x2e 10 Addresses scanned: I2C 0x2c - 0x2e 11 11 12 Datasheet: http://www.national.com/pf/LM/L 12 Datasheet: http://www.national.com/pf/LM/LM87.html 13 13 14 * Analog Devices ADM1024 14 * Analog Devices ADM1024 15 15 16 Prefix: 'adm1024' 16 Prefix: 'adm1024' 17 17 18 Addresses scanned: I2C 0x2c - 0x2e 18 Addresses scanned: I2C 0x2c - 0x2e 19 19 20 Datasheet: https://www.analog.com/en/prod/ 20 Datasheet: https://www.analog.com/en/prod/0,2877,ADM1024,00.html 21 21 22 22 23 Authors: 23 Authors: 24 - Frodo Looijaard <frodol@dds.nl>, 24 - Frodo Looijaard <frodol@dds.nl>, 25 - Philip Edelbrock <phil@netroedge.com> 25 - Philip Edelbrock <phil@netroedge.com>, 26 - Mark Studebaker <mdsxyz123@yahoo.com> 26 - Mark Studebaker <mdsxyz123@yahoo.com>, 27 - Stephen Rousset <stephen.rousset@rock 27 - Stephen Rousset <stephen.rousset@rocketlogix.com>, 28 - Dan Eaton <dan.eaton@rocketlogix.com> 28 - Dan Eaton <dan.eaton@rocketlogix.com>, 29 - Jean Delvare <jdelvare@suse.de>, 29 - Jean Delvare <jdelvare@suse.de>, 30 - Original 2.6 port Jeff Oliver 30 - Original 2.6 port Jeff Oliver 31 31 32 Description 32 Description 33 ----------- 33 ----------- 34 34 35 This driver implements support for the Nationa 35 This driver implements support for the National Semiconductor LM87 36 and the Analog Devices ADM1024. 36 and the Analog Devices ADM1024. 37 37 38 The LM87 implements up to three temperature se 38 The LM87 implements up to three temperature sensors, up to two fan 39 rotation speed sensors, up to seven voltage se 39 rotation speed sensors, up to seven voltage sensors, alarms, and some 40 miscellaneous stuff. The ADM1024 is fully comp 40 miscellaneous stuff. The ADM1024 is fully compatible. 41 41 42 Temperatures are measured in degrees Celsius. 42 Temperatures are measured in degrees Celsius. Each input has a high 43 and low alarm settings. A high limit produces 43 and low alarm settings. A high limit produces an alarm when the value 44 goes above it, and an alarm is also produced w 44 goes above it, and an alarm is also produced when the value goes below 45 the low limit. 45 the low limit. 46 46 47 Fan rotation speeds are reported in RPM (rotat 47 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is 48 triggered if the rotation speed has dropped be 48 triggered if the rotation speed has dropped below a programmable limit. Fan 49 readings can be divided by a programmable divi 49 readings can be divided by a programmable divider (1, 2, 4 or 8) to give 50 the readings more range or accuracy. Not all R 50 the readings more range or accuracy. Not all RPM values can accurately be 51 represented, so some rounding is done. With a 51 represented, so some rounding is done. With a divider of 2, the lowest 52 representable value is around 2600 RPM. 52 representable value is around 2600 RPM. 53 53 54 Voltage sensors (also known as IN sensors) rep 54 Voltage sensors (also known as IN sensors) report their values in 55 volts. An alarm is triggered if the voltage ha 55 volts. An alarm is triggered if the voltage has crossed a programmable 56 minimum or maximum limit. Note that minimum in 56 minimum or maximum limit. Note that minimum in this case always means 57 'closest to zero'; this is important for negat 57 'closest to zero'; this is important for negative voltage measurements. 58 58 59 If an alarm triggers, it will remain triggered 59 If an alarm triggers, it will remain triggered until the hardware register 60 is read at least once. This means that the cau 60 is read at least once. This means that the cause for the alarm may 61 already have disappeared! Note that in the cur 61 already have disappeared! Note that in the current implementation, all 62 hardware registers are read whenever any data 62 hardware registers are read whenever any data is read (unless it is less 63 than 1.0 seconds since the last update). This 63 than 1.0 seconds since the last update). This means that you can easily 64 miss once-only alarms. 64 miss once-only alarms. 65 65 66 The lm87 driver only updates its values each 1 66 The lm87 driver only updates its values each 1.0 seconds; reading it more 67 often will do no harm, but will return 'old' v 67 often will do no harm, but will return 'old' values. 68 68 69 69 70 Hardware Configurations 70 Hardware Configurations 71 ----------------------- 71 ----------------------- 72 72 73 The LM87 has four pins which can serve one of 73 The LM87 has four pins which can serve one of two possible functions, 74 depending on the hardware configuration. 74 depending on the hardware configuration. 75 75 76 Some functions share pins, so not all function 76 Some functions share pins, so not all functions are available at the same 77 time. Which are depends on the hardware setup. 77 time. Which are depends on the hardware setup. This driver normally 78 assumes that firmware configured the chip corr 78 assumes that firmware configured the chip correctly. Where this is not 79 the case, platform code must set the I2C clien 79 the case, platform code must set the I2C client's platform_data to point 80 to a u8 value to be written to the channel reg 80 to a u8 value to be written to the channel register. 81 81 82 For reference, here is the list of exclusive f 82 For reference, here is the list of exclusive functions: 83 - in0+in5 (default) or temp3 83 - in0+in5 (default) or temp3 84 - fan1 (default) or in6 84 - fan1 (default) or in6 85 - fan2 (default) or in7 85 - fan2 (default) or in7 86 - VID lines (default) or IRQ lines (not handl 86 - VID lines (default) or IRQ lines (not handled by this driver)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.