Merge remote-tracking branch 'stable/linux-5.10.y' into rpi-5.10.y
[platform/kernel/linux-rpi.git] / Documentation / hwmon / ltc2947.rst
1 Kernel drivers ltc2947-i2c and ltc2947-spi
2 ==========================================
3
4 Supported chips:
5
6   * Analog Devices LTC2947
7
8     Prefix: 'ltc2947'
9
10     Addresses scanned: -
11
12     Datasheet:
13
14         https://www.analog.com/media/en/technical-documentation/data-sheets/LTC2947.pdf
15
16 Author: Nuno Sá <nuno.sa@analog.com>
17
18 Description
19 ___________
20
21 The LTC2947 is a high precision power and energy monitor that measures current,
22 voltage, power, temperature, charge and energy. The device supports both SPI
23 and I2C depending on the chip configuration.
24 The device also measures accumulated quantities as energy. It has two banks of
25 register's to read/set energy related values. These banks can be configured
26 independently to have setups like: energy1 accumulates always and enrgy2 only
27 accumulates if current is positive (to check battery charging efficiency for
28 example). The device also supports a GPIO pin that can be configured as output
29 to control a fan as a function of measured temperature. Then, the GPIO becomes
30 active as soon as a temperature reading is higher than a defined threshold. The
31 temp2 channel is used to control this thresholds and to read the respective
32 alarms.
33
34 Sysfs entries
35 _____________
36
37 The following attributes are supported. Limits are read-write, reset_history
38 is write-only and all the other attributes are read-only.
39
40 ======================= ==========================================
41 in0_input               VP-VM voltage (mV).
42 in0_min                 Undervoltage threshold
43 in0_max                 Overvoltage threshold
44 in0_lowest              Lowest measured voltage
45 in0_highest             Highest measured voltage
46 in0_reset_history       Write 1 to reset in1 history
47 in0_min_alarm           Undervoltage alarm
48 in0_max_alarm           Overvoltage alarm
49 in0_label               Channel label (VP-VM)
50
51 in1_input               DVCC voltage (mV)
52 in1_min                 Undervoltage threshold
53 in1_max                 Overvoltage threshold
54 in1_lowest              Lowest measured voltage
55 in1_highest             Highest measured voltage
56 in1_reset_history       Write 1 to reset in2 history
57 in1_min_alarm           Undervoltage alarm
58 in1_max_alarm           Overvoltage alarm
59 in1_label               Channel label (DVCC)
60
61 curr1_input             IP-IM Sense current (mA)
62 curr1_min               Undercurrent threshold
63 curr1_max               Overcurrent threshold
64 curr1_lowest            Lowest measured current
65 curr1_highest           Highest measured current
66 curr1_reset_history     Write 1 to reset curr1 history
67 curr1_min_alarm         Undercurrent alarm
68 curr1_max_alarm         Overcurrent alarm
69 curr1_label             Channel label (IP-IM)
70
71 power1_input            Power (in uW)
72 power1_min              Low power threshold
73 power1_max              High power threshold
74 power1_input_lowest     Historical minimum power use
75 power1_input_highest    Historical maximum power use
76 power1_reset_history    Write 1 to reset power1 history
77 power1_min_alarm        Low power alarm
78 power1_max_alarm        High power alarm
79 power1_label            Channel label (Power)
80
81 temp1_input             Chip Temperature (in milliC)
82 temp1_min               Low temperature threshold
83 temp1_max               High temperature threshold
84 temp1_input_lowest      Historical minimum temperature use
85 temp1_input_highest     Historical maximum temperature use
86 temp1_reset_history     Write 1 to reset temp1 history
87 temp1_min_alarm         Low temperature alarm
88 temp1_max_alarm         High temperature alarm
89 temp1_label             Channel label (Ambient)
90
91 temp2_min               Low temperature threshold for fan control
92 temp2_max               High temperature threshold for fan control
93 temp2_min_alarm         Low temperature fan control alarm
94 temp2_max_alarm         High temperature fan control alarm
95 temp2_label             Channel label (TEMPFAN)
96
97 energy1_input           Measured energy over time (in microJoule)
98
99 energy2_input           Measured energy over time (in microJoule)
100 ======================= ==========================================