Commit 87438c2c5483a7ab445c14a8855fd309ae79b4e6
Committed by
Guenter Roeck
1 parent
260f81ffc1
Exists in
smarc-imx_3.14.28_1.0.0_ga
and in
1 other branch
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: |