David Fries | 6cd1597 | 2008-10-15 22:04:43 -0700 | [diff] [blame] | 1 | Kernel driver w1_therm |
| 2 | ==================== |
| 3 | |
| 4 | Supported chips: |
| 5 | * Maxim ds18*20 based temperature sensors. |
Raphael Assenat | f3261df | 2012-08-16 12:56:40 -0400 | [diff] [blame] | 6 | * Maxim ds1825 based temperature sensors. |
David Fries | 6cd1597 | 2008-10-15 22:04:43 -0700 | [diff] [blame] | 7 | |
| 8 | Author: Evgeniy Polyakov <johnpol@2ka.mipt.ru> |
| 9 | |
| 10 | |
| 11 | Description |
| 12 | ----------- |
| 13 | |
| 14 | w1_therm provides basic temperature conversion for ds18*20 devices. |
| 15 | supported family codes: |
| 16 | W1_THERM_DS18S20 0x10 |
| 17 | W1_THERM_DS1822 0x22 |
| 18 | W1_THERM_DS18B20 0x28 |
Raphael Assenat | f3261df | 2012-08-16 12:56:40 -0400 | [diff] [blame] | 19 | W1_THERM_DS1825 0x3B |
David Fries | 6cd1597 | 2008-10-15 22:04:43 -0700 | [diff] [blame] | 20 | |
| 21 | Support is provided through the sysfs w1_slave file. Each open and |
| 22 | read sequence will initiate a temperature conversion then provide two |
| 23 | lines of ASCII output. The first line contains the nine hex bytes |
| 24 | read along with a calculated crc value and YES or NO if it matched. |
| 25 | If the crc matched the returned values are retained. The second line |
| 26 | displays the retained values along with a temperature in millidegrees |
| 27 | Centigrade after t=. |
| 28 | |
| 29 | Parasite powered devices are limited to one slave performing a |
| 30 | temperature conversion at a time. If none of the devices are parasite |
| 31 | powered it would be possible to convert all the devices at the same |
| 32 | time and then go back to read individual sensors. That isn't |
| 33 | currently supported. The driver also doesn't support reduced |
| 34 | precision (which would also reduce the conversion time). |
| 35 | |
| 36 | The module parameter strong_pullup can be set to 0 to disable the |
Michael Arndt | 29e5507 | 2013-02-17 20:51:20 +0100 | [diff] [blame] | 37 | strong pullup, 1 to enable autodetection or 2 to force strong pullup. |
| 38 | In case of autodetection, the driver will use the "READ POWER SUPPLY" |
| 39 | command to check if there are pariste powered devices on the bus. |
| 40 | If so, it will activate the master's strong pullup. |
| 41 | In case the detection of parasite devices using this command fails |
| 42 | (seems to be the case with some DS18S20) the strong pullup can |
| 43 | be force-enabled. |
| 44 | If the strong pullup is enabled, the master's strong pullup will be |
| 45 | driven when the conversion is taking place, provided the master driver |
| 46 | does support the strong pullup (or it falls back to a pullup |
David Fries | 6cd1597 | 2008-10-15 22:04:43 -0700 | [diff] [blame] | 47 | resistor). The DS18b20 temperature sensor specification lists a |
| 48 | maximum current draw of 1.5mA and that a 5k pullup resistor is not |
| 49 | sufficient. The strong pullup is designed to provide the additional |
| 50 | current required. |