1Kernel driver ds1621 2==================== 3 4Supported chips: 5 * Dallas Semiconductor DS1621 6 Prefix: 'ds1621' 7 Addresses scanned: I2C 0x48 - 0x4f 8 Datasheet: Publicly available at the Dallas Semiconductor website 9 http://www.dalsemi.com/ 10 * Dallas Semiconductor DS1625 11 Prefix: 'ds1621' 12 Addresses scanned: I2C 0x48 - 0x4f 13 Datasheet: Publicly available at the Dallas Semiconductor website 14 http://www.dalsemi.com/ 15 16Authors: 17 Christian W. Zuckschwerdt <zany@triq.net> 18 valuable contributions by Jan M. Sendler <sendler@sendler.de> 19 ported to 2.6 by Aurelien Jarno <aurelien@aurel32.net> 20 with the help of Jean Delvare <khali@linux-fr.org> 21 22Module Parameters 23------------------ 24 25* polarity int 26 Output's polarity: 0 = active high, 1 = active low 27 28Description 29----------- 30 31The DS1621 is a (one instance) digital thermometer and thermostat. It has 32both high and low temperature limits which can be user defined (i.e. 33programmed into non-volatile on-chip registers). Temperature range is -55 34degree Celsius to +125 in 0.5 increments. You may convert this into a 35Fahrenheit range of -67 to +257 degrees with 0.9 steps. If polarity 36parameter is not provided, original value is used. 37 38As for the thermostat, behavior can also be programmed using the polarity 39toggle. On the one hand ("heater"), the thermostat output of the chip, 40Tout, will trigger when the low limit temperature is met or underrun and 41stays high until the high limit is met or exceeded. On the other hand 42("cooler"), vice versa. That way "heater" equals "active low", whereas 43"conditioner" equals "active high". Please note that the DS1621 data sheet 44is somewhat misleading in this point since setting the polarity bit does 45not simply invert Tout. 46 47A second thing is that, during extensive testing, Tout showed a tolerance 48of up to +/- 0.5 degrees even when compared against precise temperature 49readings. Be sure to have a high vs. low temperature limit gap of al least 501.0 degree Celsius to avoid Tout "bouncing", though! 51 52The alarm bits are set when the high or low limits are met or exceeded and 53are reset by the module as soon as the respective temperature ranges are 54left. 55 56The alarm registers are in no way suitable to find out about the actual 57status of Tout. They will only tell you about its history, whether or not 58any of the limits have ever been met or exceeded since last power-up or 59reset. Be aware: When testing, it showed that the status of Tout can change 60with neither of the alarms set. 61 62Temperature conversion of the DS1621 takes up to 1000ms; internal access to 63non-volatile registers may last for 10ms or below. 64