Merge remote-tracking branch 'stable/linux-5.10.y' into rpi-5.10.y
[platform/kernel/linux-rpi.git] / Documentation / hwmon / ltc4245.rst
1 Kernel driver ltc4245
2 =====================
3
4 Supported chips:
5
6   * Linear Technology LTC4245
7
8     Prefix: 'ltc4245'
9
10     Addresses scanned: 0x20-0x3f
11
12     Datasheet:
13
14         http://www.linear.com/pc/downloadDocument.do?navId=H0,C1,C1003,C1006,C1140,P19392,D13517
15
16 Author: Ira W. Snyder <iws@ovro.caltech.edu>
17
18
19 Description
20 -----------
21
22 The LTC4245 controller allows a board to be safely inserted and removed
23 from a live backplane in multiple supply systems such as CompactPCI and
24 PCI Express.
25
26
27 Usage Notes
28 -----------
29
30 This driver does not probe for LTC4245 devices, due to the fact that some
31 of the possible addresses are unfriendly to probing. You will have to
32 instantiate the devices explicitly.
33
34 Example: the following will load the driver for an LTC4245 at address 0x23
35 on I2C bus #1::
36
37         $ modprobe ltc4245
38         $ echo ltc4245 0x23 > /sys/bus/i2c/devices/i2c-1/new_device
39
40
41 Sysfs entries
42 -------------
43
44 The LTC4245 has built-in limits for over and under current warnings. This
45 makes it very likely that the reference circuit will be used.
46
47 This driver uses the values in the datasheet to change the register values
48 into the values specified in the sysfs-interface document. The current readings
49 rely on the sense resistors listed in Table 2: "Sense Resistor Values".
50
51 ======================= =======================================================
52 in1_input               12v input voltage (mV)
53 in2_input               5v  input voltage (mV)
54 in3_input               3v  input voltage (mV)
55 in4_input               Vee (-12v) input voltage (mV)
56
57 in1_min_alarm           12v input undervoltage alarm
58 in2_min_alarm           5v  input undervoltage alarm
59 in3_min_alarm           3v  input undervoltage alarm
60 in4_min_alarm           Vee (-12v) input undervoltage alarm
61
62 curr1_input             12v current (mA)
63 curr2_input             5v  current (mA)
64 curr3_input             3v  current (mA)
65 curr4_input             Vee (-12v) current (mA)
66
67 curr1_max_alarm         12v overcurrent alarm
68 curr2_max_alarm         5v  overcurrent alarm
69 curr3_max_alarm         3v  overcurrent alarm
70 curr4_max_alarm         Vee (-12v) overcurrent alarm
71
72 in5_input               12v output voltage (mV)
73 in6_input               5v  output voltage (mV)
74 in7_input               3v  output voltage (mV)
75 in8_input               Vee (-12v) output voltage (mV)
76
77 in5_min_alarm           12v output undervoltage alarm
78 in6_min_alarm           5v  output undervoltage alarm
79 in7_min_alarm           3v  output undervoltage alarm
80 in8_min_alarm           Vee (-12v) output undervoltage alarm
81
82 in9_input               GPIO voltage data (see note 1)
83 in10_input              GPIO voltage data (see note 1)
84 in11_input              GPIO voltage data (see note 1)
85
86 power1_input            12v power usage (mW)
87 power2_input            5v  power usage (mW)
88 power3_input            3v  power usage (mW)
89 power4_input            Vee (-12v) power usage (mW)
90 ======================= =======================================================
91
92
93 Note 1
94 ------
95
96 If you have NOT configured the driver to sample all GPIO pins as analog
97 voltages, then the in10_input and in11_input sysfs attributes will not be
98 created. The driver will sample the GPIO pin that is currently connected to the
99 ADC as an analog voltage, and report the value in in9_input.
100
101 If you have configured the driver to sample all GPIO pins as analog voltages,
102 then they will be sampled in round-robin fashion. If userspace reads too
103 slowly, -EAGAIN will be returned when you read the sysfs attribute containing
104 the sensor reading.
105
106 The LTC4245 chip can be configured to sample all GPIO pins with two methods:
107
108 1) platform data -- see include/linux/platform_data/ltc4245.h
109 2) OF device tree -- add the "ltc4245,use-extra-gpios" property to each chip
110
111 The default mode of operation is to sample a single GPIO pin.