Merge tag 'dma-mapping-6.5-2023-07-09' of git://git.infradead.org/users/hch/dma-mapping
[platform/kernel/linux-starfive.git] / Documentation / hwmon / max31827.rst
1 .. SPDX-License-Identifier: GPL-2.0
2
3 Kernel driver max31827
4 ======================
5
6 Supported chips:
7
8   * Maxim MAX31827
9
10     Prefix: 'max31827'
11
12     Addresses scanned: I2C 0x40 - 0x5f
13
14     Datasheet: Publicly available at the Analog Devices website
15
16   * Maxim MAX31828
17
18     Prefix: 'max31828'
19
20     Addresses scanned: I2C 0x40 - 0x5f
21
22     Datasheet: Publicly available at the Analog Devices website
23
24   * Maxim MAX31829
25
26     Prefix: 'max31829'
27
28     Addresses scanned: I2C 0x40 - 0x5f
29
30     Datasheet: Publicly available at the Analog Devices website
31
32
33 Authors:
34         - Daniel Matyas <daniel.matyas@analog.com>
35
36 Description
37 -----------
38
39 The chips supported by this driver are quite similar. The only difference
40 between them is found in the default power-on behaviour of the chips. While the
41 MAX31827's fault queue is set to 1, the other two chip's fault queue is set to
42 4. Besides this, the MAX31829's alarm active state is high, while the other two
43 chip's alarms are active on low. It is important to note that the chips can be
44 configured to operate in the same manner with 1 write operation to the
45 configuration register. From here on, we will refer to all these chips as
46 MAX31827.
47
48 MAX31827 implements a temperature sensor with a 6 WLP packaging scheme. This
49 sensor measures the temperature of the chip itself.
50
51 MAX31827 has low and over temperature alarms with an effective value and a
52 hysteresis value: -40 and -30 degrees for under temperature alarm and +100 and
53 +90 degrees for over temperature alarm.
54
55 The alarm can be configured in comparator and interrupt mode. Currently only
56 comparator mode is implemented. In Comparator mode, the OT/UT status bits have a
57 value of 1 when the temperature rises above the TH value or falls below TL,
58 which is also subject to the Fault Queue selection. OT status returns to 0 when
59 the temperature drops below the TH_HYST value or when shutdown mode is entered.
60 Similarly, UT status returns to 0 when the temperature rises above TL_HYST value
61 or when shutdown mode is entered.
62
63 Putting the MAX31827 into shutdown mode also resets the OT/UT status bits. Note
64 that if the mode is changed while OT/UT status bits are set, an OT/UT status
65 reset may be required before it begins to behave normally. To prevent this,
66 it is recommended to perform a read of the configuration/status register to
67 clear the status bits before changing the operating mode.
68
69 The conversions can be manual with the one-shot functionality and automatic with
70 a set frequency. When powered on, the chip measures temperatures with 1 conv/s.
71 Enabling the device when it is already enabled has the side effect of setting
72 the conversion frequency to 1 conv/s. The conversion time varies depending on
73 the resolution. The conversion time doubles with every bit of increased
74 resolution. For 10 bit resolution 35ms are needed, while for 12 bit resolution
75 (default) 140ms. When chip is in shutdown mode and a read operation is
76 requested, one-shot is triggered, the device waits for 140 (conversion time) + 1
77 (error) ms, and only after that is the temperature value register read.
78
79 The LSB of the temperature values is 0.0625 degrees Celsius, but the values of
80 the temperatures are displayed in milli-degrees. This means, that some data is
81 lost. The step between 2 consecutive values is 62 or 63. This effect can be seen
82 in the writing of alarm values too. For positive numbers the user-input value
83 will always be rounded down to the nearest possible value, for negative numbers
84 the user-input will always be rounded up to the nearest possible value.
85
86 Notes
87 -----
88
89 Currently fault queue, alarm polarity and resolution cannot be modified.
90 PEC is not implemented either.