From 87438c2c5483a7ab445c14a8855fd309ae79b4e6 Mon Sep 17 00:00:00 2001 From: Robert Coulson Date: Mon, 10 Jun 2013 18:46:03 -0700 Subject: [PATCH] hwmon: (ds1621) Update documentation Replace some written information with tables to improve readability and to simplify adding newer devices in the future. Signed-off-by: Robert Coulson Signed-off-by: Guenter Roeck --- Documentation/hwmon/ds1621 | 68 ++++++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 24 deletions(-) diff --git a/Documentation/hwmon/ds1621 b/Documentation/hwmon/ds1621 index c0817f7934e4..896cdc972ca8 100644 --- a/Documentation/hwmon/ds1621 +++ b/Documentation/hwmon/ds1621 @@ -73,37 +73,57 @@ any of the limits have ever been met or exceeded since last power-up or reset. Be aware: When testing, it showed that the status of Tout can change with neither of the alarms set. -Temperature conversion of the DS1621 takes up to 1000ms; internal access to -non-volatile registers may last for 10ms or below. +Since there is no version or vendor identification register, there is +no unique identification for these devices. Therefore, explicit device +instantiation is required for correct device identification and functionality +(one device per address in this address range: 0x48..0x4f). The DS1625 is pin compatible and functionally equivalent with the DS1621, but the DS1621 is meant to replace it. The DS1631, DS1721, and DS1731 are -also pin compatible with the DS1621, but provide multi-resolution support. +also pin compatible with the DS1621 and provide multi-resolution support. -Since there is no version or vendor identification register, there is -no unique identification for these devices. Therefore, explicit device -instantiation is required for correct device identification and functionality. +Additionally, the DS1721 data sheet says the temperature flags (THF and TLF) +are used internally, however, these flags do get set and cleared as the actual +temperature crosses the min or max settings (which by default are set to 75 +and 80 degrees respectively). -And, for correct identification and operation, each device must be -explicitly instantiated, one device per address, in this address -range: 0x48..0x4f. +Temperature Conversion: +----------------------- +DS1621 - 750ms (older devices may take up to 1000ms) +DS1625 - 500ms +DS1631 - 93ms..750ms for 9..12 bits resolution, respectively. +DS1721 - 93ms..750ms for 9..12 bits resolution, respectively. +DS1731 - 93ms..750ms for 9..12 bits resolution, respectively. -The DS1721 is pin compatible with the DS1621, has an accuracy of +/- 1.0 -degree Celsius (from -10 to +85 degrees), a minimum/maximum alarm default -setting of 75 and 80 degrees, and a maximum conversion time of 750ms. +Note: +On the DS1621, internal access to non-volatile registers may last for 10ms +or less (unverified on the other devices). -In addition, the DS1721 supports four resolution settings from 9 to 12 bits -(defined in degrees C per LSB: 0.5, 0.25, 0.125, and 0.0625, respectively), -that are set at device power on to the highest resolution: 12-bits. +Temperature Accuracy: +--------------------- +DS1621: +/- 0.5 degree Celsius (from 0 to +70 degrees) +DS1625: +/- 0.5 degree Celsius (from 0 to +70 degrees) +DS1631: +/- 0.5 degree Celsius (from 0 to +70 degrees) +DS1721: +/- 1.0 degree Celsius (from -10 to +85 degrees) +DS1731: +/- 1.0 degree Celsius (from -10 to +85 degrees) -One additional note about the ds1721 is that although the data sheet says -the temperature flags (THF and TLF) are used internally, these flags do -get set and cleared as the actual temperature crosses the min or max settings. +Note: +Please refer to the device datasheets for accuracy at other temperatures. -The DS1631 and DS1731 are pin compatible with the DS1621 and feature compatible -with the DS1721. However, the DS1631 accuracy is +/- 0.5 degree Celsius (from 0 -to +70 degrees), while the DS1731 accuracy is +/-1 degree Celsius (from -10 to -+85 degrees). +Temperature Resolution: +----------------------- +As mentioned above, the DS1631, DS1721, and DS1731 provide multi-resolution +support, which is achieved via the R0 and R1 config register bits, where: + +R0..R1 +------ + 0 0 => 9 bits, 0.5 degrees Celcius + 1 0 => 10 bits, 0.25 degrees Celcius + 0 1 => 11 bits, 0.125 degrees Celcius + 1 1 => 12 bits, 0.0625 degrees Celcius + +Note: +At initial device power-on, the default resolution is set to 12-bits. The resolution mode for the DS1631, DS1721, or DS1731 can be changed from userspace, via the device 'update_interval' sysfs attribute. This attribute @@ -112,12 +132,12 @@ values defined in the datasheet as follows: Resolution Conversion Time Input Range (C/LSB) (msec) (msec) --------------------------------------------- +------------------------------------------------ 0.5 93.75 0....94 0.25 187.5 95...187 0.125 375 188..375 0.0625 750 376..infinity --------------------------------------- +------------------------------------------------ The following examples show how the 'update_interval' attribute can be used to change the conversion time: