kernel
This commit is contained in:
parent
b59f84ee36
commit
cfab1d3ce7
83468 changed files with 37938688 additions and 0 deletions
137
linux-6.8.1/Documentation/hwmon/max31827.rst
Normal file
137
linux-6.8.1/Documentation/hwmon/max31827.rst
Normal file
|
@ -0,0 +1,137 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Kernel driver max31827
|
||||
======================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Maxim MAX31827
|
||||
|
||||
Prefix: 'max31827'
|
||||
|
||||
Addresses scanned: I2C 0x40 - 0x5f
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
|
||||
* Maxim MAX31828
|
||||
|
||||
Prefix: 'max31828'
|
||||
|
||||
Addresses scanned: I2C 0x40 - 0x5f
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
|
||||
* Maxim MAX31829
|
||||
|
||||
Prefix: 'max31829'
|
||||
|
||||
Addresses scanned: I2C 0x40 - 0x5f
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
|
||||
|
||||
Authors:
|
||||
- Daniel Matyas <daniel.matyas@analog.com>
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
The chips supported by this driver are quite similar. The only difference
|
||||
between them is found in the default power-on behaviour of the chips. While the
|
||||
MAX31827's fault queue is set to 1, the other two chip's fault queue is set to
|
||||
4. Besides this, the MAX31829's alarm active state is high, while the other two
|
||||
chip's alarms are active on low. It is important to note that the chips can be
|
||||
configured to operate in the same manner with 1 write operation to the
|
||||
configuration register. From here on, we will refer to all these chips as
|
||||
MAX31827.
|
||||
|
||||
MAX31827 implements a temperature sensor with a 6 WLP packaging scheme. This
|
||||
sensor measures the temperature of the chip itself.
|
||||
|
||||
MAX31827 has low and over temperature alarms with an effective value and a
|
||||
hysteresis value: -40 and -30 degrees for under temperature alarm and +100 and
|
||||
+90 degrees for over temperature alarm.
|
||||
|
||||
The alarm can be configured in comparator and interrupt mode from the
|
||||
devicetree. In Comparator mode, the OT/UT status bits have a value of 1 when the
|
||||
temperature rises above the TH value or falls below TL, which is also subject to
|
||||
the Fault Queue selection. OT status returns to 0 when the temperature drops
|
||||
below the TH_HYST value or when shutdown mode is entered. Similarly, UT status
|
||||
returns to 0 when the temperature rises above TL_HYST value or when shutdown
|
||||
mode is entered.
|
||||
|
||||
In interrupt mode exceeding TH also sets OT status to 1, which remains set until
|
||||
a read operation is performed on the configuration/status register (max or min
|
||||
attribute); at this point, it returns to 0. Once OT status is set to 1 from
|
||||
exceeding TH and reset, it is set to 1 again only when the temperature drops
|
||||
below TH_HYST. The output remains asserted until it is reset by a read. It is
|
||||
set again if the temperature rises above TH, and so on. The same logic applies
|
||||
to the operation of the UT status bit.
|
||||
|
||||
Putting the MAX31827 into shutdown mode also resets the OT/UT status bits. Note
|
||||
that if the mode is changed while OT/UT status bits are set, an OT/UT status
|
||||
reset may be required before it begins to behave normally. To prevent this,
|
||||
it is recommended to perform a read of the configuration/status register to
|
||||
clear the status bits before changing the operating mode.
|
||||
|
||||
The conversions can be manual with the one-shot functionality and automatic with
|
||||
a set frequency. When powered on, the chip measures temperatures with 1 conv/s.
|
||||
The conversion rate can be modified with update_interval attribute of the chip.
|
||||
Conversion/second = 1/update_interval. Thus, the available options according to
|
||||
the data sheet are:
|
||||
|
||||
- 64000 (ms) = 1 conv/64 sec
|
||||
- 32000 (ms) = 1 conv/32 sec
|
||||
- 16000 (ms) = 1 conv/16 sec
|
||||
- 4000 (ms) = 1 conv/4 sec
|
||||
- 1000 (ms) = 1 conv/sec (default)
|
||||
- 250 (ms) = 4 conv/sec
|
||||
- 125 (ms) = 8 conv/sec
|
||||
|
||||
Enabling the device when it is already enabled has the side effect of setting
|
||||
the conversion frequency to 1 conv/s. The conversion time varies depending on
|
||||
the resolution.
|
||||
|
||||
The conversion time doubles with every bit of increased resolution. The
|
||||
available resolutions are:
|
||||
|
||||
- 8 bit -> 8.75 ms conversion time
|
||||
- 9 bit -> 17.5 ms conversion time
|
||||
- 10 bit -> 35 ms conversion time
|
||||
- 12 bit (default) -> 140 ms conversion time
|
||||
|
||||
There is a temp1_resolution attribute which indicates the unit change in the
|
||||
input temperature in milli-degrees C.
|
||||
|
||||
- 1000 mC -> 8 bit
|
||||
- 500 mC -> 9 bit
|
||||
- 250 mC -> 10 bit
|
||||
- 62 mC -> 12 bit (default) - actually this is 62.5, but the fil returns 62
|
||||
|
||||
When chip is in shutdown mode and a read operation is requested, one-shot is
|
||||
triggered, the device waits for <conversion time> ms, and only after that is
|
||||
the temperature value register read. Note that the conversion times are rounded
|
||||
up to the nearest possible integer.
|
||||
|
||||
The LSB of the temperature values is 0.0625 degrees Celsius, but the values of
|
||||
the temperatures are displayed in milli-degrees. This means, that some data is
|
||||
lost. The step between 2 consecutive values is 62 or 63. This effect can be seen
|
||||
in the writing of alarm values too. For positive numbers the user-input value
|
||||
will always be rounded down to the nearest possible value, for negative numbers
|
||||
the user-input will always be rounded up to the nearest possible value.
|
||||
|
||||
Bus timeout resets the I2C-compatible interface when SCL is low for more than
|
||||
30ms (nominal).
|
||||
|
||||
Alarm polarity determines if the active state of the alarm is low or high. The
|
||||
behavior for both settings is dependent on the Fault Queue setting. The ALARM
|
||||
pin is an open-drain output and requires a pullup resistor to operate.
|
||||
|
||||
The Fault Queue bits select how many consecutive temperature faults must occur
|
||||
before overtemperature or undertemperature faults are indicated in the
|
||||
corresponding status bits.
|
||||
|
||||
Notes
|
||||
-----
|
||||
|
||||
PEC is not implemented.
|
Loading…
Add table
Add a link
Reference in a new issue