~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/w1/slaves/w1_therm.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/w1/slaves/w1_therm.rst (Architecture ppc) and /Documentation/w1/slaves/w1_therm.rst (Architecture m68k)


  1 ======================                              1 ======================
  2 Kernel driver w1_therm                              2 Kernel driver w1_therm
  3 ======================                              3 ======================
  4                                                     4 
  5 Supported chips:                                    5 Supported chips:
  6                                                     6 
  7   * Maxim ds18*20 based temperature sensors.        7   * Maxim ds18*20 based temperature sensors.
  8   * Maxim ds1825 based temperature sensors.         8   * Maxim ds1825 based temperature sensors.
  9   * GXCAS GX20MH01 temperature sensor.              9   * GXCAS GX20MH01 temperature sensor.
 10   * Maxim MAX31850 thermoelement interface.        10   * Maxim MAX31850 thermoelement interface.
 11                                                    11 
 12 Author: Evgeniy Polyakov <johnpol@2ka.mipt.ru>      12 Author: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
 13                                                    13 
 14                                                    14 
 15 Description                                        15 Description
 16 -----------                                        16 -----------
 17                                                    17 
 18 w1_therm provides basic temperature conversion     18 w1_therm provides basic temperature conversion for ds18*20, ds28ea00, GX20MH01
 19 and MAX31850 devices.                              19 and MAX31850 devices.
 20                                                    20 
 21 Supported family codes:                            21 Supported family codes:
 22                                                    22 
 23 ====================    ====                       23 ====================    ====
 24 W1_THERM_DS18S20        0x10                       24 W1_THERM_DS18S20        0x10
 25 W1_THERM_DS1822         0x22                       25 W1_THERM_DS1822         0x22
 26 W1_THERM_DS18B20        0x28                       26 W1_THERM_DS18B20        0x28
 27 W1_THERM_DS1825         0x3B                       27 W1_THERM_DS1825         0x3B
 28 W1_THERM_DS28EA00       0x42                       28 W1_THERM_DS28EA00       0x42
 29 ====================    ====                       29 ====================    ====
 30                                                    30 
 31 Support is provided through the sysfs entry ``     31 Support is provided through the sysfs entry ``w1_slave``. Each open and
 32 read sequence will initiate a temperature conv     32 read sequence will initiate a temperature conversion, then provide two
 33 lines of ASCII output. The first line contains     33 lines of ASCII output. The first line contains the nine hex bytes
 34 read along with a calculated crc value and YES     34 read along with a calculated crc value and YES or NO if it matched.
 35 If the crc matched the returned values are ret     35 If the crc matched the returned values are retained. The second line
 36 displays the retained values along with a temp     36 displays the retained values along with a temperature in millidegrees
 37 Centigrade after t=.                               37 Centigrade after t=.
 38                                                    38 
 39 Alternatively, temperature can be read using `     39 Alternatively, temperature can be read using ``temperature`` sysfs, it
 40 returns only the temperature in millidegrees C     40 returns only the temperature in millidegrees Centigrade.
 41                                                    41 
 42 A bulk read of all devices on the bus could be     42 A bulk read of all devices on the bus could be done writing ``trigger``
 43 to ``therm_bulk_read`` entry at w1_bus_master      43 to ``therm_bulk_read`` entry at w1_bus_master level. This will
 44 send the convert command to all devices on the     44 send the convert command to all devices on the bus, and if parasite
 45 powered devices are detected on the bus (and s     45 powered devices are detected on the bus (and strong pullup is enabled
 46 in the module), it will drive the line high du     46 in the module), it will drive the line high during the longer conversion
 47 time required by parasited powered device on t     47 time required by parasited powered device on the line. Reading
 48 ``therm_bulk_read`` will return 0 if no bulk c     48 ``therm_bulk_read`` will return 0 if no bulk conversion pending,
 49 -1 if at least one sensor still in conversion,     49 -1 if at least one sensor still in conversion, 1 if conversion is complete
 50 but at least one sensor value has not been rea     50 but at least one sensor value has not been read yet. Result temperature is
 51 then accessed by reading the ``temperature`` e     51 then accessed by reading the ``temperature`` entry of each device, which
 52 may return empty if conversion is still in pro     52 may return empty if conversion is still in progress. Note that if a bulk
 53 read is sent but one sensor is not read immedi     53 read is sent but one sensor is not read immediately, the next access to
 54 ``temperature`` on this device will return the     54 ``temperature`` on this device will return the temperature measured at the
 55 time of issue of the bulk read command (not th     55 time of issue of the bulk read command (not the current temperature).
 56                                                    56 
 57 A strong pullup will be applied during the con     57 A strong pullup will be applied during the conversion if required.
 58                                                    58 
 59 ``conv_time`` is used to get current conversio     59 ``conv_time`` is used to get current conversion time (read), and
 60 adjust it (write). A temperature conversion ti     60 adjust it (write). A temperature conversion time depends on the device type and
 61 its current resolution. Default conversion tim     61 its current resolution. Default conversion time is set by the driver according
 62 to the device datasheet. A conversion time for     62 to the device datasheet. A conversion time for many original device clones
 63 deviate from datasheet specs. There are three      63 deviate from datasheet specs. There are three options: 1) manually set the
 64 correct conversion time by writing a value in      64 correct conversion time by writing a value in milliseconds to ``conv_time``; 2)
 65 auto measure and set a conversion time by writ     65 auto measure and set a conversion time by writing ``1`` to
 66 ``conv_time``; 3) use ``features`` to enable p     66 ``conv_time``; 3) use ``features`` to enable poll for conversion
 67 completion. Options 2, 3 can't be used in para     67 completion. Options 2, 3 can't be used in parasite power mode. To get back to
 68 the default conversion time write ``0`` to ``c     68 the default conversion time write ``0`` to ``conv_time``.
 69                                                    69 
 70 Writing a resolution value (in bits) to ``w1_s     70 Writing a resolution value (in bits) to ``w1_slave`` will change the
 71 precision of the sensor for the next readings.     71 precision of the sensor for the next readings. Allowed resolutions are defined by
 72 the sensor. Resolution is reset when the senso     72 the sensor. Resolution is reset when the sensor gets power-cycled.
 73                                                    73 
 74 To store the current resolution in EEPROM, wri     74 To store the current resolution in EEPROM, write ``0`` to ``w1_slave``.
 75 Since the EEPROM has a limited amount of write     75 Since the EEPROM has a limited amount of writes (>50k), this command should be
 76 used wisely.                                       76 used wisely.
 77                                                    77 
 78 Alternatively, resolution can be read or writt     78 Alternatively, resolution can be read or written using the dedicated
 79 ``resolution`` entry on each device, if suppor     79 ``resolution`` entry on each device, if supported by the sensor.
 80                                                    80 
 81 Some non-genuine DS18B20 chips are fixed in 12     81 Some non-genuine DS18B20 chips are fixed in 12-bit mode only, so the actual
 82 resolution is read back from the chip and veri     82 resolution is read back from the chip and verified.
 83                                                    83 
 84 Note: Changing the resolution reverts the conv     84 Note: Changing the resolution reverts the conversion time to default.
 85                                                    85 
 86 The write-only sysfs entry ``eeprom_cmd`` is a     86 The write-only sysfs entry ``eeprom_cmd`` is an alternative for EEPROM operations.
 87 Write ``save`` to save device RAM to EEPROM. W     87 Write ``save`` to save device RAM to EEPROM. Write ``restore`` to restore EEPROM
 88 data in device RAM.                                88 data in device RAM.
 89                                                    89 
 90 ``ext_power`` entry allows checking the power      90 ``ext_power`` entry allows checking the power state of each device. Reads
 91 ``0`` if the device is parasite powered, ``1``     91 ``0`` if the device is parasite powered, ``1`` if the device is externally powered.
 92                                                    92 
 93 Sysfs ``alarms`` allow read or write TH and TL     93 Sysfs ``alarms`` allow read or write TH and TL (Temperature High an Low) alarms.
 94 Values shall be space separated and in the dev     94 Values shall be space separated and in the device range (typical -55 degC
 95 to 125 degC). Values are integer as they are s     95 to 125 degC). Values are integer as they are store in a 8bit register in
 96 the device. Lowest value is automatically put      96 the device. Lowest value is automatically put to TL. Once set, alarms could
 97 be search at master level.                         97 be search at master level.
 98                                                    98 
 99 The module parameter strong_pullup can be set      99 The module parameter strong_pullup can be set to 0 to disable the
100 strong pullup, 1 to enable autodetection or 2     100 strong pullup, 1 to enable autodetection or 2 to force strong pullup.
101 In case of autodetection, the driver will use     101 In case of autodetection, the driver will use the "READ POWER SUPPLY"
102 command to check if there are pariste powered     102 command to check if there are pariste powered devices on the bus.
103 If so, it will activate the master's strong pu    103 If so, it will activate the master's strong pullup.
104 In case the detection of parasite devices usin    104 In case the detection of parasite devices using this command fails
105 (seems to be the case with some DS18S20) the s    105 (seems to be the case with some DS18S20) the strong pullup can
106 be force-enabled.                                 106 be force-enabled.
107                                                   107 
108 If the strong pullup is enabled, the master's     108 If the strong pullup is enabled, the master's strong pullup will be
109 driven when the conversion is taking place, pr    109 driven when the conversion is taking place, provided the master driver
110 does support the strong pullup (or it falls ba    110 does support the strong pullup (or it falls back to a pullup
111 resistor).  The DS18b20 temperature sensor spe    111 resistor).  The DS18b20 temperature sensor specification lists a
112 maximum current draw of 1.5mA and that a 5k pu    112 maximum current draw of 1.5mA and that a 5k pullup resistor is not
113 sufficient.  The strong pullup is designed to     113 sufficient.  The strong pullup is designed to provide the additional
114 current required.                                 114 current required.
115                                                   115 
116 The DS28EA00 provides an additional two pins f    116 The DS28EA00 provides an additional two pins for implementing a sequence
117 detection algorithm.  This feature allows you     117 detection algorithm.  This feature allows you to determine the physical
118 location of the chip in the 1-wire bus without    118 location of the chip in the 1-wire bus without needing pre-existing
119 knowledge of the bus ordering.  Support is pro    119 knowledge of the bus ordering.  Support is provided through the sysfs
120 ``w1_seq``. The file will contain a single lin    120 ``w1_seq``. The file will contain a single line with an integer value
121 representing the device index in the bus start    121 representing the device index in the bus starting at 0.
122                                                   122 
123 ``features`` sysfs entry controls optional dri    123 ``features`` sysfs entry controls optional driver settings per device.
124 Insufficient power in parasite mode, line nois    124 Insufficient power in parasite mode, line noise and insufficient conversion
125 time may lead to conversion failure. Original     125 time may lead to conversion failure. Original DS18B20 and some clones allow for
126 detection of invalid conversion. Write bit mas    126 detection of invalid conversion. Write bit mask ``1`` to ``features`` to enable
127 checking the conversion success. If byte 6 of     127 checking the conversion success. If byte 6 of scratchpad memory is 0xC after
128 conversion and temperature reads 85.00 (poweru    128 conversion and temperature reads 85.00 (powerup value) or 127.94 (insufficient
129 power), the driver returns a conversion error.    129 power), the driver returns a conversion error. Bit mask ``2`` enables poll for
130 conversion completion (normal power only) by g    130 conversion completion (normal power only) by generating read cycles on the bus
131 after conversion starts. In parasite power mod    131 after conversion starts. In parasite power mode this feature is not available.
132 Feature bit masks may be combined (OR). More d    132 Feature bit masks may be combined (OR). More details in
133 Documentation/ABI/testing/sysfs-driver-w1_ther    133 Documentation/ABI/testing/sysfs-driver-w1_therm
134                                                   134 
135 GX20MH01 device shares family number 0x28 with    135 GX20MH01 device shares family number 0x28 with DS18*20. The device is generally
136 compatible with DS18B20. Added are lowest 2\ :    136 compatible with DS18B20. Added are lowest 2\ :sup:`-5`, 2\ :sup:`-6` temperature
137 bits in Config register; R2 bit in Config regi    137 bits in Config register; R2 bit in Config register enabling 13 and 14 bit
138 resolutions. The device is powered up in 14-bi    138 resolutions. The device is powered up in 14-bit resolution mode. The conversion
139 times specified in the datasheet are too low a    139 times specified in the datasheet are too low and have to be increased. The
140 device supports driver features ``1`` and ``2`    140 device supports driver features ``1`` and ``2``.
141                                                   141 
142 MAX31850 device shares family number 0x3B with    142 MAX31850 device shares family number 0x3B with DS1825. The device is generally
143 compatible with DS1825. The higher 4 bits of C    143 compatible with DS1825. The higher 4 bits of Config register read all 1,
144 indicating 15, but the device is always operat    144 indicating 15, but the device is always operating in 14-bit resolution mode.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php