2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-17 17:53:56 +08:00

docs: w1: w1_therm: Fix broken xref, mistakes, clarify text

sysfs attribute names are mixed with the same normal text terms.
Use ReST to distinguish.

Fix typos and mistakes.

Reported-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Ivan Zaentsev <ivan.zaentsev@wirenboard.ru>
Link: https://lore.kernel.org/r/20201008054259.5461-1-ivan.zaentsev@wirenboard.ru
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Ivan Zaentsev 2020-10-08 08:42:59 +03:00 committed by Greg Kroah-Hartman
parent 51fbad388c
commit 78eef5d952
2 changed files with 43 additions and 46 deletions

View File

@ -146,7 +146,7 @@ Date: July 2020
Contact: Ivan Zaentsev <ivan.zaentsev@wirenboard.ru> Contact: Ivan Zaentsev <ivan.zaentsev@wirenboard.ru>
Description: Description:
(RW) Control optional driver settings. (RW) Control optional driver settings.
Bit masks to read/write (logical OR): Bit masks to read/write (bitwise OR):
1: Enable check for conversion success. If byte 6 of 1: Enable check for conversion success. If byte 6 of
scratchpad memory is 0xC after conversion, and scratchpad memory is 0xC after conversion, and
@ -157,7 +157,7 @@ Description:
after the conversion start and wait for 1's. In parasite after the conversion start and wait for 1's. In parasite
power mode this feature is not available. power mode this feature is not available.
*read*: Currently selected features, bitwise OR. *read*: Currently selected features.
*write*: Select features, bitwise OR. *write*: Select features.
Users: An application using the w1_term device Users: An application using the w1_term device

View File

@ -27,75 +27,72 @@ W1_THERM_DS1825 0x3B
W1_THERM_DS28EA00 0x42 W1_THERM_DS28EA00 0x42
==================== ==== ==================== ====
Support is provided through the sysfs w1_slave file. Each open and Support is provided through the sysfs entry ``w1_slave``. Each open and
read sequence will initiate a temperature conversion then provide two read sequence will initiate a temperature conversion, then provide two
lines of ASCII output. The first line contains the nine hex bytes lines of ASCII output. The first line contains the nine hex bytes
read along with a calculated crc value and YES or NO if it matched. read along with a calculated crc value and YES or NO if it matched.
If the crc matched the returned values are retained. The second line If the crc matched the returned values are retained. The second line
displays the retained values along with a temperature in millidegrees displays the retained values along with a temperature in millidegrees
Centigrade after t=. Centigrade after t=.
Alternatively, temperature can be read using temperature sysfs, it Alternatively, temperature can be read using ``temperature`` sysfs, it
return only temperature in millidegrees Centigrade. returns only the temperature in millidegrees Centigrade.
A bulk read of all devices on the bus could be done writing 'trigger' A bulk read of all devices on the bus could be done writing ``trigger``
in the therm_bulk_read sysfs entry at w1_bus_master level. This will to ``therm_bulk_read`` entry at w1_bus_master level. This will
sent the convert command on all devices on the bus, and if parasite send the convert command to all devices on the bus, and if parasite
powered devices are detected on the bus (and strong pullup is enable powered devices are detected on the bus (and strong pullup is enabled
in the module), it will drive the line high during the longer conversion in the module), it will drive the line high during the longer conversion
time required by parasited powered device on the line. Reading time required by parasited powered device on the line. Reading
therm_bulk_read will return 0 if no bulk conversion pending, ``therm_bulk_read`` will return 0 if no bulk conversion pending,
-1 if at least one sensor still in conversion, 1 if conversion is complete -1 if at least one sensor still in conversion, 1 if conversion is complete
but at least one sensor value has not been read yet. Result temperature is but at least one sensor value has not been read yet. Result temperature is
then accessed by reading the temperature sysfs entry of each device, which then accessed by reading the ``temperature`` entry of each device, which
may return empty if conversion is still in progress. Note that if a bulk may return empty if conversion is still in progress. Note that if a bulk
read is sent but one sensor is not read immediately, the next access to read is sent but one sensor is not read immediately, the next access to
temperature on this device will return the temperature measured at the ``temperature`` on this device will return the temperature measured at the
time of issue of the bulk read command (not the current temperature). time of issue of the bulk read command (not the current temperature).
A strong pullup will be applied during the conversion if required. A strong pullup will be applied during the conversion if required.
``conv_time`` sysfs entry is used to get current conversion time (read), and ``conv_time`` is used to get current conversion time (read), and
adjust it (write). A temperature conversion time depends on the device type and adjust it (write). A temperature conversion time depends on the device type and
it's current resolution. Default conversion time is set by the driver according it's current resolution. Default conversion time is set by the driver according
to the device datasheet. A conversion time for many original device clones to the device datasheet. A conversion time for many original device clones
deviate from datasheet specs. There are three options: 1) manually set the deviate from datasheet specs. There are three options: 1) manually set the
correct conversion time by writing a value in milliseconds to ``conv_time``; 2) correct conversion time by writing a value in milliseconds to ``conv_time``; 2)
auto measure and set a conversion time by writing ``1`` to auto measure and set a conversion time by writing ``1`` to
``conv_time``; 3) use ``features`` entry to enable poll for conversion ``conv_time``; 3) use ``features`` to enable poll for conversion
completion. Options 2, 3 can't be used in parasite power mode. To get back to completion. Options 2, 3 can't be used in parasite power mode. To get back to
the default conversion time write ``0`` to ``conv_time``. the default conversion time write ``0`` to ``conv_time``.
Writing a value between 9 and 12 to the sysfs w1_slave file will change the Writing a resolution value (in bits) to ``w1_slave`` will change the
precision of the sensor for the next readings. This value is in (volatile) precision of the sensor for the next readings. Allowed resolutions are defined by
SRAM, so it is reset when the sensor gets power-cycled. the sensor. Resolution is reset when the sensor gets power-cycled.
To store the current precision configuration into EEPROM, the value 0 To store the current resolution in EEPROM, write ``0`` to ``w1_slave``.
has to be written to the sysfs w1_slave file. Since the EEPROM has a limited Since the EEPROM has a limited amount of writes (>50k), this command should be
amount of writes (>50k), this command should be used wisely. used wisely.
Alternatively, resolution can be set or read (value from 9 to 12) using the Alternatively, resolution can be read or written using the dedicated
dedicated resolution sysfs entry on each device. This sysfs entry is not present ``resolution`` entry on each device, if supported by the sensor.
for devices not supporting this feature.
Some non-genuine DS18B20 chips are Some non-genuine DS18B20 chips are fixed in 12-bit mode only, so the actual
fixed in 12-bit mode only, so the actual resolution is read back from the chip resolution is read back from the chip and verified.
and verified by the driver.
Note: Changing the resolution reverts the conversion time to default. Note: Changing the resolution reverts the conversion time to default.
The write-only sysfs entry eeprom is an alternative for EEPROM operations: The write-only sysfs entry ``eeprom`` is an alternative for EEPROM operations.
* 'save': will save device RAM to EEPROM Write ``save`` to save device RAM to EEPROM. Write ``restore`` to restore EEPROM
* 'restore': will restore EEPROM data in device RAM. data in device RAM.
ext_power syfs entry allow tho check the power status of each device. ``ext_power`` entry allows checking the power state of each device. Reads
* '0': device parasite powered ``0`` if the device is parasite powered, ``1`` if the device is externally powered.
* '1': device externally powered
sysfs alarms allow read or write TH and TL (Temperature High an Low) alarms. Sysfs ``alarms`` allow read or write TH and TL (Temperature High an Low) alarms.
Values shall be space separated and in the device range (typical -55 degC Values shall be space separated and in the device range (typical -55 degC
to 125 degC). Values are integer as they are store in a 8bit register in to 125 degC). Values are integer as they are store in a 8bit register in
the device. Lowest value is automatically put to TL.Once set, alarms could the device. Lowest value is automatically put to TL. Once set, alarms could
be search at master level. be search at master level.
The module parameter strong_pullup can be set to 0 to disable the The module parameter strong_pullup can be set to 0 to disable the
@ -119,24 +116,24 @@ The DS28EA00 provides an additional two pins for implementing a sequence
detection algorithm. This feature allows you to determine the physical detection algorithm. This feature allows you to determine the physical
location of the chip in the 1-wire bus without needing pre-existing location of the chip in the 1-wire bus without needing pre-existing
knowledge of the bus ordering. Support is provided through the sysfs knowledge of the bus ordering. Support is provided through the sysfs
w1_seq file. The file will contain a single line with an integer value ``w1_seq``. The file will contain a single line with an integer value
representing the device index in the bus starting at 0. representing the device index in the bus starting at 0.
``features`` sysfs entry controls optional driver settings per device. ``features`` sysfs entry controls optional driver settings per device.
Insufficient power in parasite mode, line noise and insufficient conversion time Insufficient power in parasite mode, line noise and insufficient conversion
may lead to conversion failure. Original DS18B20 and some clones allow for time may lead to conversion failure. Original DS18B20 and some clones allow for
detection of invalid conversion. Write bit mask ``1`` to ``features`` to enable detection of invalid conversion. Write bit mask ``1`` to ``features`` to enable
checking the conversion success. If byte 6 of scratchpad memory is 0xC after checking the conversion success. If byte 6 of scratchpad memory is 0xC after
conversion and temperature reads 85.00 (powerup value) or 127.94 (insufficient conversion and temperature reads 85.00 (powerup value) or 127.94 (insufficient
power), the driver returns a conversion error. Bit mask ``2`` enables poll for power), the driver returns a conversion error. Bit mask ``2`` enables poll for
conversion completion (normal power only) by generating read cycles on the bus conversion completion (normal power only) by generating read cycles on the bus
after conversion starts. In parasite power mode this feature is not available. after conversion starts. In parasite power mode this feature is not available.
Feature bit masks may be combined (OR). See accompanying sysfs documentation: Feature bit masks may be combined (OR). More details in
:ref:`Documentation/w1/slaves/w1_therm.rst <w1_therm>` Documentation/ABI/testing/sysfs-driver-w1_therm
GX20MH01 device shares family number 0x28 with DS18*20. The device is generally GX20MH01 device shares family number 0x28 with DS18*20. The device is generally
compatible with DS18B20. Added are lowest 2^-5, 2^-6 temperature bits in Config compatible with DS18B20. Added are lowest 2\ :sup:`-5`, 2\ :sup:`-6` temperature
register; R2 bit in Config register enabling 13 and 14 bit resolutions. The bits in Config register; R2 bit in Config register enabling 13 and 14 bit
device is powered up in 14-bit resolution mode. The conversion times specified resolutions. The device is powered up in 14-bit resolution mode. The conversion
in the datasheet are too low and have to be increased. The device supports times specified in the datasheet are too low and have to be increased. The
driver features ``1`` and ``2``. device supports driver features ``1`` and ``2``.