blob: d66f76f9d85d306618e6458a92b9d0bdf8581504 [file] [log] [blame]
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +00001Kernel driver ds1621
2====================
3
4Supported chips:
Robert Coulsoncd6c8a42013-05-08 22:45:53 -07005 * Dallas Semiconductor / Maxim Integrated DS1621
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +00006 Prefix: 'ds1621'
7 Addresses scanned: I2C 0x48 - 0x4f
Robert Coulsoncd6c8a42013-05-08 22:45:53 -07008 Datasheet: Publicly available from www.maximintegrated.com
9
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000010 * Dallas Semiconductor DS1625
Robert Coulsoncd6c8a42013-05-08 22:45:53 -070011 Prefix:
12 'ds1621' - if binding via _detect function
13 'ds1625' - explicit instantiation
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000014 Addresses scanned: I2C 0x48 - 0x4f
Robert Coulsoncd6c8a42013-05-08 22:45:53 -070015 Datasheet: Publicly available from www.datasheetarchive.com
16
17 * Maxim Integrated DS1721
18 Prefix: 'ds1721'
19 Addresses scanned: I2C 0x48 - 0x4f
20 Datasheet: Publicly available from www.maximintegrated.com
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000021
22Authors:
23 Christian W. Zuckschwerdt <zany@triq.net>
24 valuable contributions by Jan M. Sendler <sendler@sendler.de>
25 ported to 2.6 by Aurelien Jarno <aurelien@aurel32.net>
26 with the help of Jean Delvare <khali@linux-fr.org>
27
28Module Parameters
29------------------
30
31* polarity int
32 Output's polarity: 0 = active high, 1 = active low
33
34Description
35-----------
36
37The DS1621 is a (one instance) digital thermometer and thermostat. It has
38both high and low temperature limits which can be user defined (i.e.
39programmed into non-volatile on-chip registers). Temperature range is -55
40degree Celsius to +125 in 0.5 increments. You may convert this into a
41Fahrenheit range of -67 to +257 degrees with 0.9 steps. If polarity
42parameter is not provided, original value is used.
43
44As for the thermostat, behavior can also be programmed using the polarity
45toggle. On the one hand ("heater"), the thermostat output of the chip,
46Tout, will trigger when the low limit temperature is met or underrun and
47stays high until the high limit is met or exceeded. On the other hand
48("cooler"), vice versa. That way "heater" equals "active low", whereas
49"conditioner" equals "active high". Please note that the DS1621 data sheet
50is somewhat misleading in this point since setting the polarity bit does
51not simply invert Tout.
52
53A second thing is that, during extensive testing, Tout showed a tolerance
54of up to +/- 0.5 degrees even when compared against precise temperature
55readings. Be sure to have a high vs. low temperature limit gap of al least
561.0 degree Celsius to avoid Tout "bouncing", though!
57
Jean Delvare25f33112009-03-30 21:46:41 +020058The alarm bits are set when the high or low limits are met or exceeded and
59are reset by the module as soon as the respective temperature ranges are
60left.
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000061
62The alarm registers are in no way suitable to find out about the actual
63status of Tout. They will only tell you about its history, whether or not
64any of the limits have ever been met or exceeded since last power-up or
65reset. Be aware: When testing, it showed that the status of Tout can change
66with neither of the alarms set.
67
68Temperature conversion of the DS1621 takes up to 1000ms; internal access to
69non-volatile registers may last for 10ms or below.
Robert Coulsoncd6c8a42013-05-08 22:45:53 -070070
71The DS1625 is pin compatible and functionally equivalent with the DS1621,
72but the DS1621 is meant to replace it.
73
74The DS1721 is pin compatible with the DS1621, has an accuracy of +/- 1.0
75degree Celsius over a -10 to +85 degree range, a minimum/maximum alarm
76default setting of 75 and 80 degrees respectively, and a maximum conversion
77time of 750ms.