xref: /linux/Documentation/hwmon/ltc4283.rst (revision a9d4dd742466cab468a950441447c614a3920aad)
1dd63353aSNuno Sá.. SPDX-License-Identifier: GPL-2.0-only
2dd63353aSNuno Sá
3dd63353aSNuno SáKernel drivers ltc4283
4dd63353aSNuno Sá==========================================
5dd63353aSNuno Sá
6dd63353aSNuno SáSupported chips:
7dd63353aSNuno Sá
8dd63353aSNuno Sá  * Analog Devices LTC4283
9dd63353aSNuno Sá
10dd63353aSNuno Sá    Prefix: 'ltc4283'
11dd63353aSNuno Sá
12dd63353aSNuno Sá    Addresses scanned: -
13dd63353aSNuno Sá
14dd63353aSNuno Sá    Datasheet:
15dd63353aSNuno Sá
16dd63353aSNuno Sá        https://www.analog.com/media/en/technical-documentation/data-sheets/ltc4283.pdf
17dd63353aSNuno Sá
18dd63353aSNuno SáAuthor: Nuno Sá <nuno.sa@analog.com>
19dd63353aSNuno Sá
20dd63353aSNuno SáDescription
21dd63353aSNuno Sá___________
22dd63353aSNuno Sá
23dd63353aSNuno SáThe LTC4283 negative voltage hot swap controller drives an external N-channel
24dd63353aSNuno SáMOSFET to allow a board to be safely inserted and removed from a live backplane.
25dd63353aSNuno SáThe device features programmable current limit with foldback and independently
26dd63353aSNuno Sáadjustable inrush current to optimize the MOSFET safe operating area (SOA). The
27dd63353aSNuno SáSOA timer limits MOSFET temperature rise for reliable protection against
28dd63353aSNuno Sáoverstresses. An I2C interface and onboard gear-shift ADC allow monitoring of
29dd63353aSNuno Sáboard current, voltage, power, energy, and fault status.  Additional features
30dd63353aSNuno Sárespond to input UV/OV, interrupt the host when a fault has occurred, notify
31dd63353aSNuno Sáwhen output power is good, detect insertion of a board, turn off the MOSFET
32dd63353aSNuno Sáif an external supply monitor fails to indicate power good within a timeout
33dd63353aSNuno Sáperiod, and auto-reboot after a programmable delay following a host commanded
34dd63353aSNuno Sáturn-off.
35dd63353aSNuno Sá
36dd63353aSNuno SáSysfs entries
37dd63353aSNuno Sá_____________
38dd63353aSNuno Sá
39dd63353aSNuno SáThe following attributes are supported. Limits are read-write and all the other
40dd63353aSNuno Sáattributes are read-only. Note that the VADIOx channels might not be available
41dd63353aSNuno Sáif the ADIO pins are used as GPIOs (naturally also affects the respective
42dd63353aSNuno Sádifferential channels).
43dd63353aSNuno Sá
44dd63353aSNuno Sá======================= ==========================================
45dd63353aSNuno Sáin0_lcrit_alarm         Critical Undervoltage alarm
46dd63353aSNuno Sáin0_crit_alarm          Critical Overvoltage alarm
47dd63353aSNuno Sáin0_reset_history       Clears Under and Overvoltage fault logs.
48dd63353aSNuno Sáin0_label		Channel label (VIN)
49dd63353aSNuno Sá
50dd63353aSNuno Sáin1_input		Output voltage (mV).
51dd63353aSNuno Sáin1_min			Undervoltage threshold
52dd63353aSNuno Sáin1_max			Overvoltage threshold
53dd63353aSNuno Sáin1_lowest		Lowest measured voltage
54dd63353aSNuno Sáin1_highest		Highest measured voltage
55dd63353aSNuno Sáin1_reset_history	Write 1 to reset history.
56dd63353aSNuno Sáin1_min_alarm		Undervoltage alarm
57dd63353aSNuno Sáin1_max_alarm		Overvoltage alarm
58dd63353aSNuno Sáin1_label		Channel label (VPWR)
59dd63353aSNuno Sá
60dd63353aSNuno Sáin2_input		Output voltage (mV).
61dd63353aSNuno Sáin2_min			Undervoltage threshold
62dd63353aSNuno Sáin2_max			Overvoltage threshold
63dd63353aSNuno Sáin2_lowest		Lowest measured voltage
64dd63353aSNuno Sáin2_highest		Highest measured voltage
65dd63353aSNuno Sáin2_reset_history	Write 1 to reset history.
66dd63353aSNuno Sáin2_min_alarm		Undervoltage alarm
67dd63353aSNuno Sáin2_max_alarm		Overvoltage alarm
68dd63353aSNuno Sáin2_enable		Enable/Disable monitoring.
69dd63353aSNuno Sáin2_label		Channel label (VADI1)
70dd63353aSNuno Sá
71dd63353aSNuno Sáin3_input		Output voltage (mV).
72dd63353aSNuno Sáin3_min			Undervoltage threshold
73dd63353aSNuno Sáin3_max			Overvoltage threshold
74dd63353aSNuno Sáin3_lowest		Lowest measured voltage
75dd63353aSNuno Sáin3_highest		Highest measured voltage
76dd63353aSNuno Sáin3_reset_history	Write 1 to reset history.
77dd63353aSNuno Sáin3_min_alarm		Undervoltage alarm
78dd63353aSNuno Sáin3_max_alarm		Overvoltage alarm
79dd63353aSNuno Sáin3_enable		Enable/Disable monitoring.
80dd63353aSNuno Sáin3_label		Channel label (VADI2)
81dd63353aSNuno Sá
82dd63353aSNuno Sáin4_input		Output voltage (mV).
83dd63353aSNuno Sáin4_min			Undervoltage threshold
84dd63353aSNuno Sáin4_max			Overvoltage threshold
85dd63353aSNuno Sáin4_lowest		Lowest measured voltage
86dd63353aSNuno Sáin4_highest		Highest measured voltage
87dd63353aSNuno Sáin4_reset_history	Write 1 to reset history.
88dd63353aSNuno Sáin4_min_alarm		Undervoltage alarm
89dd63353aSNuno Sáin4_max_alarm		Overvoltage alarm
90dd63353aSNuno Sáin4_enable		Enable/Disable monitoring.
91dd63353aSNuno Sáin4_label		Channel label (VADI3)
92dd63353aSNuno Sá
93dd63353aSNuno Sáin5_input		Output voltage (mV).
94dd63353aSNuno Sáin5_min			Undervoltage threshold
95dd63353aSNuno Sáin5_max			Overvoltage threshold
96dd63353aSNuno Sáin5_lowest		Lowest measured voltage
97dd63353aSNuno Sáin5_highest		Highest measured voltage
98dd63353aSNuno Sáin5_reset_history	Write 1 to reset history.
99dd63353aSNuno Sáin5_min_alarm		Undervoltage alarm
100dd63353aSNuno Sáin5_max_alarm		Overvoltage alarm
101dd63353aSNuno Sáin5_enable		Enable/Disable monitoring.
102dd63353aSNuno Sáin5_label		Channel label (VADI4)
103dd63353aSNuno Sá
104dd63353aSNuno Sáin6_input		Output voltage (mV).
105dd63353aSNuno Sáin6_min			Undervoltage threshold
106dd63353aSNuno Sáin6_max			Overvoltage threshold
107dd63353aSNuno Sáin6_lowest		Lowest measured voltage
108dd63353aSNuno Sáin6_highest		Highest measured voltage
109dd63353aSNuno Sáin6_reset_history	Write 1 to reset history.
110dd63353aSNuno Sáin6_min_alarm		Undervoltage alarm
111dd63353aSNuno Sáin6_max_alarm		Overvoltage alarm
112dd63353aSNuno Sáin6_enable		Enable/Disable monitoring.
113dd63353aSNuno Sáin6_label		Channel label (VADIO1)
114dd63353aSNuno Sá
115dd63353aSNuno Sáin7_input		Output voltage (mV).
116dd63353aSNuno Sáin7_min			Undervoltage threshold
117dd63353aSNuno Sáin7_max			Overvoltage threshold
118dd63353aSNuno Sáin7_lowest		Lowest measured voltage
119dd63353aSNuno Sáin7_highest		Highest measured voltage
120dd63353aSNuno Sáin7_reset_history	Write 1 to reset history.
121dd63353aSNuno Sáin7_min_alarm		Undervoltage alarm
122dd63353aSNuno Sáin7_max_alarm		Overvoltage alarm
123dd63353aSNuno Sáin7_enable		Enable/Disable monitoring.
124dd63353aSNuno Sáin7_label		Channel label (VADIO2)
125dd63353aSNuno Sá
126dd63353aSNuno Sáin8_input		Output voltage (mV).
127dd63353aSNuno Sáin8_min			Undervoltage threshold
128dd63353aSNuno Sáin8_max			Overvoltage threshold
129dd63353aSNuno Sáin8_lowest		Lowest measured voltage
130dd63353aSNuno Sáin8_highest		Highest measured voltage
131dd63353aSNuno Sáin8_reset_history	Write 1 to reset history.
132dd63353aSNuno Sáin8_min_alarm		Undervoltage alarm
133dd63353aSNuno Sáin8_max_alarm		Overvoltage alarm
134dd63353aSNuno Sáin8_enable		Enable/Disable monitoring.
135dd63353aSNuno Sáin8_label		Channel label (VADIO3)
136dd63353aSNuno Sá
137dd63353aSNuno Sáin9_input		Output voltage (mV).
138dd63353aSNuno Sáin9_min			Undervoltage threshold
139dd63353aSNuno Sáin9_max			Overvoltage threshold
140dd63353aSNuno Sáin9_lowest		Lowest measured voltage
141dd63353aSNuno Sáin9_highest		Highest measured voltage
142dd63353aSNuno Sáin9_reset_history	Write 1 to reset history.
143dd63353aSNuno Sáin9_min_alarm		Undervoltage alarm
144dd63353aSNuno Sáin9_max_alarm		Overvoltage alarm
145dd63353aSNuno Sáin9_enable		Enable/Disable monitoring.
146dd63353aSNuno Sáin9_label		Channel label (VADIO4)
147dd63353aSNuno Sá
148dd63353aSNuno Sáin10_input		Output voltage (mV).
149dd63353aSNuno Sáin10_min		Undervoltage threshold
150dd63353aSNuno Sáin10_max		Overvoltage threshold
151dd63353aSNuno Sáin10_lowest		Lowest measured voltage
152dd63353aSNuno Sáin10_highest		Highest measured voltage
153dd63353aSNuno Sáin10_reset_history	Write 1 to reset history.
154dd63353aSNuno Sáin10_min_alarm		Undervoltage alarm
155dd63353aSNuno Sáin10_max_alarm		Overvoltage alarm
156dd63353aSNuno Sáin10_enable		Enable/Disable monitoring.
157dd63353aSNuno Sáin10_label		Channel label (DRNS)
158dd63353aSNuno Sá
159dd63353aSNuno Sáin11_input		Output voltage (mV).
160dd63353aSNuno Sáin11_min		Undervoltage threshold
161dd63353aSNuno Sáin11_max		Overvoltage threshold
162dd63353aSNuno Sáin11_lowest		Lowest measured voltage
163dd63353aSNuno Sáin11_highest		Highest measured voltage
164dd63353aSNuno Sáin11_reset_history	Write 1 to reset history.
165dd63353aSNuno Sá			Also clears fet bad and short fault logs.
166dd63353aSNuno Sáin11_min_alarm		Undervoltage alarm
167dd63353aSNuno Sáin11_max_alarm		Overvoltage alarm
168dd63353aSNuno Sáin11_enable		Enable/Disable monitoring
169dd63353aSNuno Sáin11_fault		Failure in the MOSFET. Either bad or shorted FET.
170dd63353aSNuno Sáin11_label		Channel label (DRAIN)
171dd63353aSNuno Sá
172dd63353aSNuno Sáin12_input		Output voltage (mV).
173dd63353aSNuno Sáin12_min		Undervoltage threshold
174dd63353aSNuno Sáin12_max		Overvoltage threshold
175dd63353aSNuno Sáin12_lowest		Lowest measured voltage
176dd63353aSNuno Sáin12_highest		Highest measured voltage
177dd63353aSNuno Sáin12_reset_history	Write 1 to reset history.
178dd63353aSNuno Sáin12_min_alarm		Undervoltage alarm
179dd63353aSNuno Sáin12_max_alarm		Overvoltage alarm
180dd63353aSNuno Sáin12_enable		Enable/Disable monitoring.
181dd63353aSNuno Sáin12_label		Channel label (ADIN2-ADIN1)
182dd63353aSNuno Sá
183dd63353aSNuno Sáin13_input		Output voltage (mV).
184dd63353aSNuno Sáin13_min		Undervoltage threshold
185dd63353aSNuno Sáin13_max		Overvoltage threshold
186dd63353aSNuno Sáin13_lowest		Lowest measured voltage
187dd63353aSNuno Sáin13_highest		Highest measured voltage
188dd63353aSNuno Sáin13_reset_history	Write 1 to reset history.
189dd63353aSNuno Sáin13_min_alarm		Undervoltage alarm
190dd63353aSNuno Sáin13_max_alarm		Overvoltage alarm
191dd63353aSNuno Sáin13_enable		Enable/Disable monitoring.
192dd63353aSNuno Sáin13_label		Channel label (ADIN4-ADIN3)
193dd63353aSNuno Sá
194dd63353aSNuno Sáin14_input		Output voltage (mV).
195dd63353aSNuno Sáin14_min		Undervoltage threshold
196dd63353aSNuno Sáin14_max		Overvoltage threshold
197dd63353aSNuno Sáin14_lowest		Lowest measured voltage
198dd63353aSNuno Sáin14_highest		Highest measured voltage
199dd63353aSNuno Sáin14_reset_history	Write 1 to reset history.
200dd63353aSNuno Sáin14_min_alarm		Undervoltage alarm
201dd63353aSNuno Sáin14_max_alarm		Overvoltage alarm
202dd63353aSNuno Sáin14_enable		Enable/Disable monitoring.
203dd63353aSNuno Sáin14_label		Channel label (ADIO2-ADIO1)
204dd63353aSNuno Sá
205dd63353aSNuno Sáin15_input		Output voltage (mV).
206dd63353aSNuno Sáin15_min		Undervoltage threshold
207dd63353aSNuno Sáin15_max		Overvoltage threshold
208dd63353aSNuno Sáin15_lowest		Lowest measured voltage
209dd63353aSNuno Sáin15_highest		Highest measured voltage
210dd63353aSNuno Sáin15_reset_history	Write 1 to reset history.
211dd63353aSNuno Sáin15_min_alarm		Undervoltage alarm
212dd63353aSNuno Sáin15_max_alarm		Overvoltage alarm
213dd63353aSNuno Sáin15_enable		Enable/Disable monitoring.
214dd63353aSNuno Sáin15_label		Channel label (ADIO4-ADIO3)
215dd63353aSNuno Sá
216dd63353aSNuno Sácurr1_input		Sense current (mA)
217dd63353aSNuno Sácurr1_min		Undercurrent threshold
218dd63353aSNuno Sácurr1_max		Overcurrent threshold
219dd63353aSNuno Sácurr1_lowest		Lowest measured current
220dd63353aSNuno Sácurr1_highest		Highest measured current
221dd63353aSNuno Sácurr1_reset_history	Write 1 to reset curr1 history.
222dd63353aSNuno Sá			Also clears overcurrent fault logs.
223dd63353aSNuno Sácurr1_min_alarm		Undercurrent alarm
224dd63353aSNuno Sácurr1_max_alarm		Overcurrent alarm
225dd63353aSNuno Sácurr1_crit_alarm        Critical Overcurrent alarm
226dd63353aSNuno Sácurr1_label		Channel label (ISENSE)
227dd63353aSNuno Sá
228dd63353aSNuno Sápower1_input		Power (in uW)
229dd63353aSNuno Sápower1_min		Low power threshold
230dd63353aSNuno Sápower1_max		High power threshold
231dd63353aSNuno Sápower1_input_lowest	Historical minimum power use
232dd63353aSNuno Sápower1_input_highest	Historical maximum power use
233dd63353aSNuno Sápower1_reset_history	Write 1 to reset power1 history.
234dd63353aSNuno Sá			Also clears power fault logs.
235dd63353aSNuno Sápower1_min_alarm	Low power alarm
236dd63353aSNuno Sápower1_max_alarm	High power alarm
237dd63353aSNuno Sápower1_label		Channel label (Power)
238dd63353aSNuno Sá
239dd63353aSNuno Sáenergy1_input		Measured energy over time (in microJoule)
240dd63353aSNuno Sáenergy1_enable		Enable/Disable Energy accumulation
241dd63353aSNuno Sá======================= ==========================================
242dd63353aSNuno Sá
243dd63353aSNuno SáDebugFs entries
244dd63353aSNuno Sá_______________
245dd63353aSNuno Sá
246dd63353aSNuno SáThe chip also has a fault log register where failures can be logged. Hence,
247dd63353aSNuno Sáas these are logging events, we give access to them in debugfs. Note that
248dd63353aSNuno Sáeven if some failure is detected in these logs, it does necessarily mean
249dd63353aSNuno Sáthat the failure is still present. As mentioned in the proper Sysfs entries,
250dd63353aSNuno Sáthese logs can be cleared by writing in the proper reset_history attribute.
251dd63353aSNuno Sá
252dd63353aSNuno Sá.. warning:: The debugfs interface is subject to change without notice
253dd63353aSNuno Sá             and is only available when the kernel is compiled with
254dd63353aSNuno Sá             ``CONFIG_DEBUG_FS`` defined.
255dd63353aSNuno Sá
256dd63353aSNuno Sá``/sys/kernel/debug/i2c/i2c-[X]/[X]-addr/``
257dd63353aSNuno Sácontains the following attributes:
258dd63353aSNuno Sá
259*40ac87feSRandy Dunlap==============================  ==========================================================
260dd63353aSNuno Sápower1_failed_fault_log		Set to 1 by a power1 fault occurring.
261dd63353aSNuno Sápower1_good_input_fault_log	Set to 1 by a power1 good input fault occurring at PGIO3.
262dd63353aSNuno Sáin11_fet_short_fault_log	Set to 1 when a FET-short fault occurs.
263dd63353aSNuno Sáin11_fet_bad_fault_log		Set to 1 when a FET-BAD fault occurs.
264dd63353aSNuno Sáin0_lcrit_fault_log		Set to 1 by a VIN undervoltage fault occurring.
265dd63353aSNuno Sáin0_crit_fault_log		Set to 1 by a VIN overvoltage fault occurring.
266dd63353aSNuno Sácurr1_crit_fault_log		Set to 1 by an overcurrent fault occurring.
267*40ac87feSRandy Dunlap==============================  ==========================================================
268