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