Changeset 2471
- Timestamp:
- 04/24/04 10:10:48 (5 years ago)
- Files:
-
- lm-sensors/trunk/doc/chips/SUMMARY (modified) (1 diff)
- lm-sensors/trunk/doc/chips/lm90 (modified) (10 diffs)
- lm-sensors/trunk/kernel/chips/lm90.c (modified) (6 diffs)
- lm-sensors/trunk/lib/chips.c (modified) (2 diffs)
- lm-sensors/trunk/lib/chips.h (modified) (1 diff)
- lm-sensors/trunk/mkpatch/Config.in (modified) (1 diff)
- lm-sensors/trunk/mkpatch/mkpatch.pl (modified) (1 diff)
- lm-sensors/trunk/prog/sensors/main.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
lm-sensors/trunk/doc/chips/SUMMARY
r2453 r2471 136 136 lm90 137 137 lm90 2 - - - yes no 138 lm99 2 - - - yes no 138 139 adm1032 2 - - - yes no 140 (lm89 is detected as an lm99) 141 lm89 2 - - - yes no 139 142 140 143 lm92 lm-sensors/trunk/doc/chips/lm90
r2213 r2471 1 1 Kernel driver `lm90.o' 2 ===================== 2 ====================== 3 3 4 Status: Complete and reasonablytested4 Status: Complete and well tested 5 5 6 6 Supported chips: … … 10 10 Datasheet: Publicly available at the National Semiconductor website 11 11 http://www.national.com/pf/LM/LM90.html 12 * National Semiconductor LM89 13 Prefix: `lm99' 14 Addresses scanned: I2C 0x4c and 0x4d 15 Datasheet: Publicly available at the National Semiconductor website 16 http://www.national.com/pf/LM/LM89.html 17 * National Semiconductor LM99 18 Prefix: `lm99' 19 Addresses scanned: I2C 0x4c and 0x4d 20 Datasheet: Publicly available at the National Semiconductor website 21 http://www.national.com/pf/LM/LM99.html 12 22 * Analog Devices ADM1032 13 23 Prefix: `adm1032' … … 33 43 List of adapter,address pairs which are unquestionably assumed to contain 34 44 a `adm1032' chip 45 * force_lm99: short array (min = 1, max = 48) 46 List of adapter,address pairs which are unquestionably assumed to contain 47 a `lm99' chip 35 48 * probe: short array (min = 1, max = 48) 36 49 List of adapter,address pairs to scan additionally … … 48 61 The LM90 is a digital temperature sensor. It senses its own temperature as 49 62 well as the temperature of up to one external diode. It is compatible 50 with many other devices such as the LM86, the LM89, the ADM1032, the51 MAX6657 and the MAX6658. Of these, only the ADM1032 is officially 52 supported for now, but the others can probably be successfully forced.63 with many other devices such as the LM86, the LM89, the LM99, the ADM1032, 64 the MAX6657 and the MAX6658. Of these, only the ADM1032, LM89 and LM99 are 65 supported for now, but the others can be forced (and later added). 53 66 54 67 The specificity of this family of chipsets over the ADM1021/LM84 … … 56 69 increased resolution of the remote temperature measurement. 57 70 58 The different chipsets of the family are not stric ly identical, although71 The different chipsets of the family are not strictly identical, although 59 72 very similar. This driver doesn't handle any specific feature for now, 60 73 but could if there ever was a need for it. For reference, here comes a … … 64 77 * Filter and alert configuration register at 0xBF. 65 78 * ALERT is triggered by temperatures over critical limits. 79 80 LM89: 81 * Same as LM90 82 * Better external channel accuracy 83 84 LM99: 85 * Same as LM89 86 * External temperature shifted by 16 degrees down 66 87 67 88 ADM1032: … … 73 94 All temperature values are given in degrees Celcius. Resolution 74 95 is 1.0 degree for the local temperature, 0.125 degree for the remote 75 temperature. According to the datasheets, the ADM1032 has a better 76 range and accuracy than the LM90 (but is also way more expensive). 77 See the datasheets for details. 96 temperature. 78 97 79 98 Each sensor has its own high and low limits, plus a critical limit. … … 92 111 ------------- 93 112 94 Chip 'lm90'113 Chips 'lm90', adm1032' and 'lm99' 95 114 96 115 LABEL LABEL CLASS COMPUTE CLASS MODE MAGN … … 103 122 tcrit1 temp1 temp1 RW 0 104 123 tcrit2 temp2 temp2 RW 0 105 hyst1 t crit1 tcrit1RW 0106 hyst2 t crit2 tcrit2R- 0124 hyst1 temp1 temp1 RW 0 125 hyst2 temp2 temp2 R- 0 107 126 alarms - - R- 0 108 127 … … 119 138 hyst2 SENSORS_LM90_REMOTE_TCRIT_HYST hyst2:1 120 139 alarms SENSORS_LM90_ALARMS alarms:1 121 122 Chip 'adm1032'123 124 LABEL LABEL CLASS COMPUTE CLASS MODE MAGN125 temp1 - - R- 0126 temp1_high temp1 temp1 RW 0127 temp1_low temp1 temp1 RW 0128 temp2 - - R- 1129 temp2_high temp2 temp2 RW 1130 temp2_low temp2 temp2 RW 1131 tcrit1 temp1 temp1 RW 0132 tcrit2 temp2 temp2 RW 0133 hyst1 tcrit1 tcrit1 RW 0134 hyst2 tcrit2 tcrit2 R- 0135 alarms - - R- 0136 137 LABEL FEATURE SYMBOL SYSCTL FILE:N138 temp1 SENSORS_LM90_LOCAL_TEMP temp1:3139 temp1_high SENSORS_LM90_LOCAL_HIGH temp1:1140 temp1_low SENSORS_LM90_LOCAL_LOW temp1:2141 temp2 SENSORS_LM90_REMOTE_TEMP temp2:3142 temp2_high SENSORS_LM90_REMOTE_HIGH temp2:1143 temp2_low SENSORS_LM90_REMOTE_LOW temp2:2144 tcrit1 SENSORS_LM90_LOCAL_TCRIT tcrit1:1145 tcrit2 SENSORS_LM90_REMOTE_TCRIT tcrit2:1146 hyst1 SENSORS_LM90_LOCAL_TCRIT_HYST hyst1:1147 hyst2 SENSORS_LM90_REMOTE_TCRIT_HYST hyst2:1148 alarms SENSORS_LM90_ALARMS alarms:1lm-sensors/trunk/kernel/chips/lm90.c
r2445 r2471 2 2 * lm90.c - Part of lm_sensors, Linux kernel modules for hardware 3 3 * monitoring 4 * Copyright (C) 2003 Jean Delvare <khali@linux-fr.org>4 * Copyright (C) 2003-2004 Jean Delvare <khali@linux-fr.org> 5 5 * 6 6 * Based on the lm83 driver. The LM90 is a sensor chip made by National … … 10 10 * obtained from National's website at: 11 11 * http://www.national.com/pf/LM/LM90.html 12 * 13 * This driver also supports the LM89 and LM99, two other sensor chips 14 * made by National Semiconductor. Both have an increased remote 15 * temperature measurement accuracy (1 degree), and the LM99 16 * additionally shifts remote temperatures (measured and limits) by 16 17 * degrees, which allows for higher temperatures measurement. The 18 * driver doesn't handle it since it can be done easily in user-space. 19 * Complete datasheets can be obtained from National's website at: 20 * http://www.national.com/pf/LM/LM89.html 21 * http://www.national.com/pf/LM/LM99.html 22 * Note that there is no way to differenciate between both chips. 12 23 * 13 24 * This driver also supports the ADM1032, a sensor chip made by Analog … … 50 61 * Addresses to scan 51 62 * Address is fully defined internally and cannot be changed. 52 */ 53 54 static unsigned short normal_i2c[] = { 0x4c, SENSORS_I2C_END }; 63 * LM89, LM90, LM99 and ADM1032 have address 0x4c. 64 * LM89-1, and LM99-1 have address 0x4d. 65 */ 66 67 static unsigned short normal_i2c[] = { 0x4c, 0x4d, SENSORS_I2C_END }; 55 68 static unsigned short normal_i2c_range[] = { SENSORS_I2C_END }; 56 69 static unsigned int normal_isa[] = { SENSORS_ISA_END }; … … 61 74 */ 62 75 63 SENSORS_INSMOD_ 2(lm90, adm1032);76 SENSORS_INSMOD_3(lm90, adm1032, lm99); 64 77 65 78 /* … … 326 339 if (man_id == 0x01) /* National Semiconductor */ 327 340 { 328 if (chip_id >= 0x21 && chip_id < 0x30 /* LM90 */ 329 && (kind == 0 /* skip detection */ 330 || ((i2c_smbus_read_byte_data(new_client, 331 LM90_REG_R_CONFIG2) & 0xF8) == 0x00 332 && reg_convrate <= 0x09))) 341 u8 reg_config2; 342 343 reg_config2 = i2c_smbus_read_byte_data(new_client, 344 LM90_REG_R_CONFIG2); 345 346 if (kind == 0 /* skip detection */ 347 || ((reg_config2 & 0xF8) == 0x00 348 && reg_convrate <= 0x09)) 333 349 { 334 kind = lm90; 350 if (address == 0x4C 351 && (chip_id & 0xF0) == 0x20) /* LM90 */ 352 { 353 kind = lm90; 354 } 355 else if ((chip_id & 0xF0) == 0x30) /* LM89/LM99 */ 356 { 357 kind = lm99; 358 } 335 359 } 336 360 } 337 361 else if (man_id == 0x41) /* Analog Devices */ 338 362 { 339 if ((chip_id & 0xF0) == 0x40 /* ADM1032 */ 363 if (address == 0x4C 364 && (chip_id & 0xF0) == 0x40 /* ADM1032 */ 340 365 && (kind == 0 /* skip detection */ 341 366 || (reg_config1 & 0x3F) == 0x00)) … … 361 386 type_name = "adm1032"; 362 387 client_name = "ADM1032 chip"; 388 } 389 else if (kind == lm99) 390 { 391 type_name = "lm99"; 392 client_name = "LM99 chip"; 363 393 } 364 394 else lm-sensors/trunk/lib/chips.c
r2453 r2471 729 729 RW, LM90_SYSCTL_REMOTE_TCRIT, VALUE(1), 0, "temp2_crit", 3 }, 730 730 { SENSORS_LM90_LOCAL_TCRIT_HYST, "hyst1", 731 SENSORS_LM90_LOCAL_T CRIT, SENSORS_LM90_LOCAL_TCRIT,731 SENSORS_LM90_LOCAL_TEMP, SENSORS_LM90_LOCAL_TEMP, 732 732 RW, LM90_SYSCTL_LOCAL_HYST, VALUE(1), 0, "temp1_crit_hyst", 3 }, 733 733 { SENSORS_LM90_REMOTE_TCRIT_HYST, "hyst2", 734 SENSORS_LM90_REMOTE_T CRIT, SENSORS_LM90_REMOTE_TCRIT,734 SENSORS_LM90_REMOTE_TEMP, SENSORS_LM90_REMOTE_TEMP, 735 735 R, LM90_SYSCTL_REMOTE_HYST, VALUE(1), 0, "temp2_crit_hyst", 3 }, 736 736 { SENSORS_LM90_ALARMS, "alarms", … … 5032 5032 { SENSORS_LM90_PREFIX, lm90_features }, 5033 5033 { SENSORS_ADM1032_PREFIX, lm90_features }, 5034 { SENSORS_LM99_PREFIX, lm90_features }, 5034 5035 { SENSORS_XEONTEMP_PREFIX, xeontemp_features }, 5035 5036 { SENSORS_MAX6650_PREFIX, max6650_features }, lm-sensors/trunk/lib/chips.h
r2453 r2471 444 444 #define SENSORS_LM85_ZONE3_SMOOTH 101 /* RW -- zone3_smooth */ 445 445 446 /* LM 90/ADM1032 chips */446 /* LM89/LM90/LM99/ADM1032 chips */ 447 447 448 448 #define SENSORS_LM90_PREFIX "lm90" 449 449 #define SENSORS_ADM1032_PREFIX "adm1032" 450 #define SENSORS_LM99_PREFIX "lm99" 450 451 451 452 #define SENSORS_LM90_LOCAL_TEMP 51 /* R */ lm-sensors/trunk/mkpatch/Config.in
r2241 r2471 34 34 dep_tristate ' National Semiconductor LM85, Analog Devices ADM1027' CONFIG_SENSORS_LM85 $CONFIG_I2C $CONFIG_I2C_PROC 35 35 dep_tristate ' National Semiconductor LM87' CONFIG_SENSORS_LM87 $CONFIG_I2C $CONFIG_I2C_PROC 36 dep_tristate ' National Semiconductor LM90 , Analog Devices ADM1032' CONFIG_SENSORS_LM90 $CONFIG_I2C $CONFIG_I2C_PROC36 dep_tristate ' National Semiconductor LM90 and compatibles' CONFIG_SENSORS_LM90 $CONFIG_I2C $CONFIG_I2C_PROC 37 37 dep_tristate ' National Semiconductor LM92' CONFIG_SENSORS_LM92 $CONFIG_I2C $CONFIG_I2C_PROC 38 38 dep_tristate ' Silicon Integrated Systems Corp. SiS5595' CONFIG_SENSORS_SIS5595 $CONFIG_I2C $CONFIG_I2C_PROC $CONFIG_I2C_ISA lm-sensors/trunk/mkpatch/mkpatch.pl
r2441 r2471 489 489 CONFIG_SENSORS_LM90 490 490 If you say yes here you get support for the National Semiconductor 491 LM90 and Analog Devices ADM1032 sensor chips. This can also be492 built as a module.491 LM90, LM89 and LM99, and Analog Devices ADM1032 sensor chips. This 492 can also be built as a module. 493 493 494 494 You will also need the latest user-space utilities: you can find lm-sensors/trunk/prog/sensors/main.c
r2453 r2471 423 423 { "lm90", print_lm90 }, 424 424 { "adm1032", print_lm90 }, 425 { "lm99", print_lm90 }, 425 426 { "xeontemp", print_xeontemp }, 426 427 { "max6650", print_max6650 },
