Changeset 533
- Timestamp:
- 08/23/99 00:58:52 (9 years ago)
- Files:
-
- lm-sensors/trunk/CONTRIBUTORS (modified) (1 diff)
- lm-sensors/trunk/README (modified) (1 diff)
- lm-sensors/trunk/doc/chips/SUMMARY (modified) (3 diffs)
- lm-sensors/trunk/doc/chips/adm1021 (modified) (4 diffs)
- lm-sensors/trunk/kernel/chips/adm1021.c (modified) (5 diffs)
- lm-sensors/trunk/prog/detect/sensors-detect (modified) (3 diffs)
- lm-sensors/trunk/prog/sensors/main.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
lm-sensors/trunk/CONTRIBUTORS
r532 r533 26 26 Author of the i2c-ali15x3 bus driver and the i2c-i810 bus driver. 27 27 Added w83782d, w83783s, and w83627hf support to the w83781d driver. 28 Added max1617 support to the adm1021 driver.28 Added max1617 and thmc10 support to the adm1021 driver. 29 29 Added lm81 support to the adm9240 driver. 30 30 Author of the decode-xeon.pl xeon EEPROM decoder. lm-sensors/trunk/README
r532 r533 39 39 Hewlett Packard Maxilife (several revisions) 40 40 Intel Xeon processor embedded sensors 41 TI THMC10 41 42 42 43 We also support some miscellaneous chips: lm-sensors/trunk/doc/chips/SUMMARY
r532 r533 28 28 max1617 2 - - - yes no 29 29 max1617a 2 - - - yes no 30 thmc10 2 - - - yes no 30 31 xeon 1 - - - yes no 31 32 … … 74 75 75 76 Driver Chips 76 ------ -------77 ------ ----- 77 78 78 79 bt869 … … 89 90 ltc1710 two switches only 90 91 92 matorb 93 Matrox Orbital LCD displays lm-sensors/trunk/doc/chips/adm1021
r395 r533 2 2 ========================= 3 3 4 Status: Complete; tested for the ADM1021 and MAX1617, untested for the MAX1617A. 4 Status: Complete; tested for the ADM1021 and MAX1617, 5 untested for the MAX1617A and the THMC10. 5 6 6 7 Supported chips: … … 17 18 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e (inclusive) 18 19 Datasheet: Publicly available at the Maxim website 20 * TI THMC10 21 Prefix `thmc10' 22 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e (inclusive) 23 Datasheet: Publicly available at the TI website 19 24 20 25 … … 53 58 is the oldest; it has the problem that it is not very well detectable. 54 59 The MAX1617A solves that. The ADM1021 is a straight clone of the MAX1617A. 60 Ditto for the THMC10. 55 61 From here on, we will refer to all these chips as ADM1021-clones. 56 62 … … 82 88 83 89 Chip `adm1021' 90 LABEL LABEL CLASS COMPUTE CLASS ACCESS MAGNITUDE 91 temp NONE NONE R 0 92 temp_low temp temp RW 0 93 temp_over temp temp RW 0 94 remote_temp NONE NONE R 0 95 remote_temp_low remote_temp remote_temp RW 0 96 remote_temp_over remote_temp remote_temp RW 0 97 alarms NONE NONE R 0 98 die_code NONE NONE R 0 99 100 LABEL FEATURE SYMBOL SYSCTL FILE:NR 101 temp SENSORS_ADM1021_TEMP temp:3 102 temp_low SENSORS_ADM1021_TEMP_HYST temp:2 103 temp_over SENSORS_ADM1021_TEMP_OVER temp:1 104 remote_temp SENSORS_ADM1021_REMOTE_TEMP remote_temp:3 105 remote_temp_low SENSORS_ADM1021_REMOTE_TEMP_HYST remote_temp:2 106 remote_temp_over SENSORS_ADM1021_REMOTE_TEMP_OVER remote_temp:1 107 alarms SENSORS_ADM1021_ALARMS alarms:1 108 die_code SENSORS_ADM1021_DIE_CODE die_code:1 109 110 111 Chip `thmc10' 84 112 LABEL LABEL CLASS COMPUTE CLASS ACCESS MAGNITUDE 85 113 temp NONE NONE R 0 lm-sensors/trunk/kernel/chips/adm1021.c
r516 r533 43 43 44 44 /* Insmod parameters */ 45 SENSORS_INSMOD_ 3(adm1021,max1617,max1617a);45 SENSORS_INSMOD_4(adm1021,max1617,max1617a,thmc10); 46 46 47 47 /* adm1021 constants specified below */ … … 52 52 #define ADM1021_REG_REMOTE_TEMP 0x01 53 53 #define ADM1021_REG_STATUS 0x02 54 #define ADM1021_REG_MAN_ID 0x0FE /* should always read 0x41*/54 #define ADM1021_REG_MAN_ID 0x0FE /* 0x41 = AMD, 0x49 = TI, 0x4D = Maxim */ 55 55 #define ADM1021_REG_DEV_ID 0x0FF /* ADM1021 */ 56 56 #define ADM1021_REG_DIE_CODE 0x0FF /* MAX1617A */ … … 139 139 /* This is the driver that will be inserted */ 140 140 static struct i2c_driver adm1021_driver = { 141 /* name */ " adm1021, MAX1617 sensor driver",141 /* name */ "ADM1021, MAX1617 sensor driver", 142 142 /* id */ I2C_DRIVERID_ADM1021, 143 143 /* flags */ I2C_DF_NOTIFY, … … 243 243 if (i == 0x41) 244 244 kind = adm1021; 245 if (i == 0x49) 246 kind = thmc10; 245 247 else if ((i== 0x4d) && 246 248 (adm1021_read_value(new_client,ADM1021_REG_DEV_ID) == 0x01)) … … 259 261 type_name = "adm1021"; 260 262 client_name = "ADM1021 chip"; 263 } else if (kind == thmc10) { 264 type_name = "thmc10"; 265 client_name = "THMC10 chip"; 261 266 } else { 262 267 #ifdef DEBUG lm-sensors/trunk/prog/detect/sensors-detect
r532 r533 284 284 }, 285 285 { 286 name => "TI THMC10", 287 driver => "adm1021", 288 i2c_addrs => [0x18..0x1a,0x29..0x2b,0x4c..0x4e], 289 i2c_detect => sub { adm1021_detect 3, @_ }, 290 }, 291 { 286 292 name => "Silicon Integrated Systems SIS5595", 287 293 driver => "sis5595", … … 1377 1383 } 1378 1384 1379 # $_[0]: Chip to detect (0 = ADM1021, 1 = MAX1617, 2 = MAX1617A )1385 # $_[0]: Chip to detect (0 = ADM1021, 1 = MAX1617, 2 = MAX1617A, 3 = THMC10) 1380 1386 # $_[1]: A reference to the file descriptor to access this chip. 1381 1387 # We may assume an i2c_set_slave_addr was already done. … … 1392 1398 my ($chip, $file,$addr) = @_; 1393 1399 return if $chip == 0 and i2c_smbus_read_byte_data($file,0xfe) != 0x41; 1400 return if $chip == 3 and i2c_smbus_read_byte_data($file,0xfe) != 0x49; 1394 1401 return if $chip == 2 and i2c_smbus_read_byte_data($file,0xfe) != 0x4d and 1395 1402 i2c_smbus_read_byte_data($file,0xff) != 0x01; lm-sensors/trunk/prog/sensors/main.c
r532 r533 251 251 print_lm75(&name); 252 252 else if (!strcmp(name.prefix,"adm1021") || !strcmp(name.prefix,"max1617") || 253 !strcmp(name.prefix,"max1617a") )253 !strcmp(name.prefix,"max1617a") || !strcmp(name.prefix, "thmc10")) 254 254 print_adm1021(&name); 255 255 else if (!strcmp(name.prefix,"adm9240") ||
