Commit 87438c2c5483a7ab445c14a8855fd309ae79b4e6

Authored by Robert Coulson
Committed by Guenter Roeck
1 parent 260f81ffc1

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 <rob.coulson@gmail.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>

Showing 1 changed file with 50 additions and 30 deletions Side-by-side Diff

Documentation/hwmon/ds1621
... ... @@ -73,38 +73,58 @@
73 73 reset. Be aware: When testing, it showed that the status of Tout can change
74 74 with neither of the alarms set.
75 75  
76   -Temperature conversion of the DS1621 takes up to 1000ms; internal access to
77   -non-volatile registers may last for 10ms or below.
  76 +Since there is no version or vendor identification register, there is
  77 +no unique identification for these devices. Therefore, explicit device
  78 +instantiation is required for correct device identification and functionality
  79 +(one device per address in this address range: 0x48..0x4f).
78 80  
79 81 The DS1625 is pin compatible and functionally equivalent with the DS1621,
80 82 but the DS1621 is meant to replace it. The DS1631, DS1721, and DS1731 are
81   -also pin compatible with the DS1621, but provide multi-resolution support.
  83 +also pin compatible with the DS1621 and provide multi-resolution support.
82 84  
83   -Since there is no version or vendor identification register, there is
84   -no unique identification for these devices. Therefore, explicit device
85   -instantiation is required for correct device identification and functionality.
  85 +Additionally, the DS1721 data sheet says the temperature flags (THF and TLF)
  86 +are used internally, however, these flags do get set and cleared as the actual
  87 +temperature crosses the min or max settings (which by default are set to 75
  88 +and 80 degrees respectively).
86 89  
87   -And, for correct identification and operation, each device must be
88   -explicitly instantiated, one device per address, in this address
89   -range: 0x48..0x4f.
  90 +Temperature Conversion:
  91 +-----------------------
  92 +DS1621 - 750ms (older devices may take up to 1000ms)
  93 +DS1625 - 500ms
  94 +DS1631 - 93ms..750ms for 9..12 bits resolution, respectively.
  95 +DS1721 - 93ms..750ms for 9..12 bits resolution, respectively.
  96 +DS1731 - 93ms..750ms for 9..12 bits resolution, respectively.
90 97  
91   -The DS1721 is pin compatible with the DS1621, has an accuracy of +/- 1.0
92   -degree Celsius (from -10 to +85 degrees), a minimum/maximum alarm default
93   -setting of 75 and 80 degrees, and a maximum conversion time of 750ms.
  98 +Note:
  99 +On the DS1621, internal access to non-volatile registers may last for 10ms
  100 +or less (unverified on the other devices).
94 101  
95   -In addition, the DS1721 supports four resolution settings from 9 to 12 bits
96   -(defined in degrees C per LSB: 0.5, 0.25, 0.125, and 0.0625, respectively),
97   -that are set at device power on to the highest resolution: 12-bits.
  102 +Temperature Accuracy:
  103 +---------------------
  104 +DS1621: +/- 0.5 degree Celsius (from 0 to +70 degrees)
  105 +DS1625: +/- 0.5 degree Celsius (from 0 to +70 degrees)
  106 +DS1631: +/- 0.5 degree Celsius (from 0 to +70 degrees)
  107 +DS1721: +/- 1.0 degree Celsius (from -10 to +85 degrees)
  108 +DS1731: +/- 1.0 degree Celsius (from -10 to +85 degrees)
98 109  
99   -One additional note about the ds1721 is that although the data sheet says
100   -the temperature flags (THF and TLF) are used internally, these flags do
101   -get set and cleared as the actual temperature crosses the min or max settings.
  110 +Note:
  111 +Please refer to the device datasheets for accuracy at other temperatures.
102 112  
103   -The DS1631 and DS1731 are pin compatible with the DS1621 and feature compatible
104   -with the DS1721. However, the DS1631 accuracy is +/- 0.5 degree Celsius (from 0
105   -to +70 degrees), while the DS1731 accuracy is +/-1 degree Celsius (from -10 to
106   -+85 degrees).
  113 +Temperature Resolution:
  114 +-----------------------
  115 +As mentioned above, the DS1631, DS1721, and DS1731 provide multi-resolution
  116 +support, which is achieved via the R0 and R1 config register bits, where:
107 117  
  118 +R0..R1
  119 +------
  120 + 0 0 => 9 bits, 0.5 degrees Celcius
  121 + 1 0 => 10 bits, 0.25 degrees Celcius
  122 + 0 1 => 11 bits, 0.125 degrees Celcius
  123 + 1 1 => 12 bits, 0.0625 degrees Celcius
  124 +
  125 +Note:
  126 +At initial device power-on, the default resolution is set to 12-bits.
  127 +
108 128 The resolution mode for the DS1631, DS1721, or DS1731 can be changed from
109 129 userspace, via the device 'update_interval' sysfs attribute. This attribute
110 130 will normalize the range of input values to the device maximum resolution
111 131  
... ... @@ -112,12 +132,12 @@
112 132  
113 133 Resolution Conversion Time Input Range
114 134 (C/LSB) (msec) (msec)
115   ---------------------------------------------
  135 +------------------------------------------------
116 136 0.5 93.75 0....94
117 137 0.25 187.5 95...187
118 138 0.125 375 188..375
119 139 0.0625 750 376..infinity
120   ---------------------------------------
  140 +------------------------------------------------
121 141  
122 142 The following examples show how the 'update_interval' attribute can be
123 143 used to change the conversion time: