| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- .. SPDX-License-Identifier: GPL-2.0-only
- Kernel drivers ltc4282
- ==========================================
- Supported chips:
- * Analog Devices LTC4282
- Prefix: 'ltc4282'
- Addresses scanned: - I2C 0x40 - 0x5A (7-bit)
- Addresses scanned: - I2C 0x80 - 0xB4 with a step of 2 (8-bit)
- Datasheet:
- https://www.analog.com/media/en/technical-documentation/data-sheets/ltc4282.pdf
- Author: Nuno Sá <nuno.sa@analog.com>
- Description
- ___________
- The LTC4282 hot swap controller allows a board to be safely inserted and removed
- from a live backplane. Using one or more external N-channel pass transistors,
- board supply voltage and inrush current are ramped up at an adjustable rate. An
- I2C interface and onboard ADC allows for monitoring of board current, voltage,
- power, energy and fault status. The device features analog foldback current
- limiting and supply monitoring for applications from 2.9V to 33V. Dual 12V gate
- drive allows high power applications to either share safe operating area across
- parallel MOSFETs or support a 2-stage start-up that first charges the load
- capacitance followed by enabling a low on-resistance path to the load. The
- LTC4282 is well suited to high power applications because the precise monitoring
- capability and accurate current limiting reduce the extremes in which both loads
- and power supplies must safely operate. Non-volatile configuration allows for
- flexibility in the autonomous generation of alerts and response to faults.
- Sysfs entries
- _____________
- The following attributes are supported. Limits are read-write and all the other
- attributes are read-only. Note that in0 and in1 are mutually exclusive. Enabling
- one disables the other and disabling one enables the other.
- ======================= ==========================================
- in0_input Output voltage (mV).
- in0_min Undervoltage threshold
- in0_max Overvoltage threshold
- in0_lowest Lowest measured voltage
- in0_highest Highest measured voltage
- in0_reset_history Write 1 to reset in0 history.
- Also clears fet bad and short fault logs.
- in0_min_alarm Undervoltage alarm
- in0_max_alarm Overvoltage alarm
- in0_enable Enable/Disable VSOURCE monitoring
- in0_fault Failure in the MOSFETs. Either bad or shorted FET.
- in0_label Channel label (VSOURCE)
- in1_input Input voltage (mV).
- in1_min Undervoltage threshold
- in1_max Overvoltage threshold
- in1_lowest Lowest measured voltage
- in1_highest Highest measured voltage
- in1_reset_history Write 1 to reset in1 history.
- Also clears over/undervoltage fault logs.
- in1_min_alarm Undervoltage alarm
- in1_max_alarm Overvoltage alarm
- in1_lcrit_alarm Critical Undervoltage alarm
- in1_crit_alarm Critical Overvoltage alarm
- in1_enable Enable/Disable VDD monitoring
- in1_label Channel label (VDD)
- in2_input GPIO voltage (mV)
- in2_min Undervoltage threshold
- in2_max Overvoltage threshold
- in2_lowest Lowest measured voltage
- in2_highest Highest measured voltage
- in2_reset_history Write 1 to reset in2 history
- in2_min_alarm Undervoltage alarm
- in2_max_alarm Overvoltage alarm
- in2_label Channel label (VGPIO)
- curr1_input Sense current (mA)
- curr1_min Undercurrent threshold
- curr1_max Overcurrent threshold
- curr1_lowest Lowest measured current
- curr1_highest Highest measured current
- curr1_reset_history Write 1 to reset curr1 history.
- Also clears overcurrent fault logs.
- curr1_min_alarm Undercurrent alarm
- curr1_max_alarm Overcurrent alarm
- curr1_crit_alarm Critical Overcurrent alarm
- curr1_label Channel label (ISENSE)
- power1_input Power (in uW)
- power1_min Low power threshold
- power1_max High power threshold
- power1_input_lowest Historical minimum power use
- power1_input_highest Historical maximum power use
- power1_reset_history Write 1 to reset power1 history.
- Also clears power bad fault logs.
- power1_min_alarm Low power alarm
- power1_max_alarm High power alarm
- power1_label Channel label (Power)
- energy1_input Measured energy over time (in microJoule)
- energy1_enable Enable/Disable Energy accumulation
- ======================= ==========================================
- DebugFs entries
- _______________
- The chip also has a fault log register where failures can be logged. Hence,
- as these are logging events, we give access to them in debugfs. Note that
- even if some failure is detected in these logs, it does necessarily mean
- that the failure is still present. As mentioned in the proper Sysfs entries,
- these logs can be cleared by writing in the proper reset_history attribute.
- .. warning:: The debugfs interface is subject to change without notice
- and is only available when the kernel is compiled with
- ``CONFIG_DEBUG_FS`` defined.
- ``/sys/kernel/debug/ltc4282-hwmon[X]/``
- contains the following attributes:
- ======================= ==========================================
- power1_bad_fault_log Set to 1 by a power1 bad fault occurring.
- in0_fet_short_fault_log Set to 1 when the ADC detects a FET-short fault.
- in0_fet_bad_fault_log Set to 1 when a FET-BAD fault occurs.
- in1_crit_fault_log Set to 1 by a VDD overvoltage fault occurring.
- in1_lcrit_fault_log Set to 1 by a VDD undervoltage fault occurring.
- curr1_crit_fault_log Set to 1 by an overcurrent fault occurring.
- ======================= ==========================================
|