.. SPDX-License-Identifier: GPL-2.0

Kernel driver ltc2978
=====================

Supported chips:

  * Linear Technology LTC2972

    Prefix: 'ltc2972'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc2972.html

  * Linear Technology LTC2974

    Prefix: 'ltc2974'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc2974

  * Linear Technology LTC2975

    Prefix: 'ltc2975'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc2975

  * Linear Technology LTC2977

    Prefix: 'ltc2977'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc2977

  * Linear Technology LTC2978, LTC2978A

    Prefix: 'ltc2978'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc2978

	       https://www.analog.com/en/products/ltc2978a

  * Linear Technology LTC2979

    Prefix: 'ltc2979'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc2979

  * Linear Technology LTC2980

    Prefix: 'ltc2980'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc2980

  * Linear Technology LTC3880

    Prefix: 'ltc3880'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc3880

  * Linear Technology LTC3882

    Prefix: 'ltc3882'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc3882

  * Linear Technology LTC3883

    Prefix: 'ltc3883'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc3883

  * Linear Technology LTC3884

    Prefix: 'ltc3884'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc3884

  * Linear Technology LTC3886

    Prefix: 'ltc3886'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc3886

  * Linear Technology LTC3887

    Prefix: 'ltc3887'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc3887

  * Linear Technology LTC3889

    Prefix: 'ltc3889'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc3889

  * Linear Technology LTC7841

    Prefix: 'ltc7841'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc7841

  * Linear Technology LTC7880

    Prefix: 'ltc7880'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltc7880

  * Linear Technology LTM2987

    Prefix: 'ltm2987'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltm2987

  * Linear Technology LTM4644

    Prefix: 'ltm4644'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltm4644

   * Linear Technology LTM4675

    Prefix: 'ltm4675'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltm4675

  * Linear Technology LTM4676

    Prefix: 'ltm4676'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltm4676

  * Linear Technology LTM4677

    Prefix: 'ltm4677'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltm4677

  * Linear Technology LTM4678

    Prefix: 'ltm4678'

    Addresses scanned: -

    Datasheet: https://www.analog.com/en/products/ltm4678

  * Analog Devices LTM4680

    Prefix: 'ltm4680'

    Addresses scanned: -

    Datasheet: https://www.analog.com/ltm4680

  * Analog Devices LTM4686

    Prefix: 'ltm4686'

    Addresses scanned: -

    Datasheet: https://www.analog.com/ltm4686

  * Analog Devices LTM4700

    Prefix: 'ltm4700'

    Addresses scanned: -

    Datasheet: https://www.analog.com/ltm4700



Author: Guenter Roeck <linux@roeck-us.net>


Description
-----------

- LTC2974 and LTC2975 are quad digital power supply managers.
- LTC2978 is an octal power supply monitor.
- LTC2977 is a pin compatible replacement for LTC2978.
- LTC2980 is a 16-channel Power System Manager, consisting of two LTC2977
- in a single die. The chip is instantiated and reported as two separate chips
- on two different I2C bus addresses.
- LTC3880, LTC3882, LTC3886, and LTC3887 are dual output poly-phase step-down
- DC/DC controllers.
- LTC3883 is a single phase step-down DC/DC controller.
- LTM2987 is a 16-channel Power System Manager with two LTC2977 plus
- additional components on a single die. The chip is instantiated and reported
- as two separate chips on two different I2C bus addresses.
- LTM4675 is a dual 9A or single 18A μModule regulator
- LTM4676 is a dual 13A or single 26A uModule regulator.
- LTM4686 is a dual 10A or single 20A uModule regulator.


Usage Notes
-----------

This driver does not probe for PMBus devices. You will have to instantiate
devices explicitly.

Example: the following commands will load the driver for an LTC2978 at address
0x60 on I2C bus #1::

	# modprobe ltc2978
	# echo ltc2978 0x60 > /sys/bus/i2c/devices/i2c-1/new_device


Sysfs attributes
----------------

======================= ========================================================
in1_label		"vin"

in1_input		Measured input voltage.

in1_min			Minimum input voltage.

in1_max			Maximum input voltage.

			LTC2974, LTC2975, LTC2977, LTC2980, LTC2978,
			LTC2979 and LTM2987 only.

in1_lcrit		Critical minimum input voltage.

			LTC2972, LTC2974, LTC2975, LTC2977, LTC2980, LTC2978,
			LTC2979 and LTM2987 only.

in1_crit		Critical maximum input voltage.

in1_min_alarm		Input voltage low alarm.

in1_max_alarm		Input voltage high alarm.

			LTC2972, LTC2974, LTC2975, LTC2977, LTC2980, LTC2978,
			LTC2979 and LTM2987 only.

in1_lcrit_alarm		Input voltage critical low alarm.

			LTC2972, LTC2974, LTC2975, LTC2977, LTC2980, LTC2978,
			LTC2979 and LTM2987 only.

in1_crit_alarm		Input voltage critical high alarm.

in1_lowest		Lowest input voltage.

			LTC2972, LTC2974, LTC2975, LTC2977, LTC2980, LTC2978,
			and LTM2987 only.

in1_highest		Highest input voltage.

in1_reset_history	Reset input voltage history.

in[N]_label		"vout[1-8]".

			- LTC2972: N=2-3
			- LTC2974, LTC2975: N=2-5
			- LTC2977, LTC2979, LTC2980, LTM2987: N=2-9
			- LTC2978: N=2-9
			- LTC3880, LTC3882, LTC3884, LTC23886 LTC3887, LTC3889,
			  LTC7880, LTM4644, LTM4675, LTM4676, LTM4677, LTM4678,
			  LTM4680, LTM4700: N=2-3
			- LTC3883: N=2
			- LTC7841: N=2

in[N]_input		Measured output voltage.

in[N]_min		Minimum output voltage.

in[N]_max		Maximum output voltage.

in[N]_lcrit		Critical minimum output voltage.

in[N]_crit		Critical maximum output voltage.

in[N]_min_alarm		Output voltage low alarm.

in[N]_max_alarm		Output voltage high alarm.

in[N]_lcrit_alarm	Output voltage critical low alarm.

in[N]_crit_alarm	Output voltage critical high alarm.

in[N]_lowest		Lowest output voltage.

			LTC2972, LTC2974, LTC2975,and LTC2978 only.

in[N]_highest		Highest output voltage.

in[N]_reset_history	Reset output voltage history.

temp[N]_input		Measured temperature.

			- On LTC2972, temp[1-2] report external temperatures,
			  and temp 3 reports the chip temperature.
			- On LTC2974 and LTC2975, temp[1-4] report external
			  temperatures, and temp5 reports the chip temperature.
			- On LTC2977, LTC2979, LTC2980, LTC2978, and LTM2987,
			  only one temperature measurement is supported and
			  reports the chip temperature.
			- On LTC3880, LTC3882, LTC3886, LTC3887, LTC3889,
			  LTM4664, LTM4675, LTM4676, LTM4677, LTM4678, LTM4680,
			  and LTM4700, temp1 and temp2 report external
			  temperatures, and temp3 reports the chip temperature.
			- On LTC3883, temp1 reports an external temperature,
			  and temp2 reports the chip temperature.

temp[N]_min		Minimum temperature.

			LTC2972, LTC2974, LCT2977, LTM2980, LTC2978,
			LTC2979, and LTM2987 only.

temp[N]_max		Maximum temperature.

temp[N]_lcrit		Critical low temperature.

temp[N]_crit		Critical high temperature.

temp[N]_min_alarm	Temperature low alarm.

			LTC2972, LTC2974, LTC2975, LTC2977, LTM2980, LTC2978,
			LTC2979, and LTM2987 only.

temp[N]_max_alarm	Temperature high alarm.


temp[N]_lcrit_alarm	Temperature critical low alarm.

temp[N]_crit_alarm	Temperature critical high alarm.

temp[N]_lowest		Lowest measured temperature.

			- LTC2972, LTC2974, LTC2975, LTC2977, LTM2980, LTC2978,
			  LTC2979, and LTM2987 only.
			- Not supported for chip temperature sensor on LTC2974
			  and LTC2975.

temp[N]_highest		Highest measured temperature.

			Not supported for chip temperature sensor on
			LTC2974 and LTC2975.

temp[N]_reset_history	Reset temperature history.

			Not supported for chip temperature sensor on
			LTC2974 and LTC2975.

power1_label		"pin". LTC3883 and LTC3886 only.

power1_input		Measured input power.

power[N]_label		"pout[1-4]".

			- LTC2972: N=1-2
			- LTC2974, LTC2975: N=1-4
			- LTC2977, LTC2979, LTC2980, LTM2987: Not supported
			- LTC2978: Not supported
			- LTC3880, LTC3882, LTC3884, LTC3886, LTC3887, LTC3889,
			  LTM4664, LTM4675, LTM4676, LTM4677, LTM4678, LTM4680,
			  LTM4700: N=1-2
			- LTC3883: N=2

power[N]_input		Measured output power.

curr1_label		"iin".

			LTC3880, LTC3883, LTC3884, LTC3886, LTC3887, LTC3889,
			LTM4644, LTM4675, LTM4676, LTM4677, LTM4678, LTM4680,
			and LTM4700 only.

curr1_input		Measured input current.

curr1_max		Maximum input current.

curr1_max_alarm		Input current high alarm.

curr1_highest		Highest input current.

			LTC3883 and LTC3886 only.

curr1_reset_history	Reset input current history.

			LTC3883 and LTC3886 only.

curr[N]_label		"iout[1-4]".

			- LTC2972: N-1-2
			- LTC2974, LTC2975: N=1-4
			- LTC2977, LTC2979, LTC2980, LTM2987: not supported
			- LTC2978: not supported
			- LTC3880, LTC3882, LTC3884, LTC3886, LTC3887, LTC3889,
			  LTM4664, LTM4675, LTM4676, LTM4677, LTM4678, LTM4680,
			  LTM4700: N=2-3
			- LTC3883: N=2
			- LTC7841: N=2

curr[N]_input		Measured output current.

curr[N]_max		Maximum output current.

curr[N]_crit		Critical high output current.

curr[N]_lcrit		Critical low output current.

			LTC2972, LTC2974 and LTC2975 only.

curr[N]_max_alarm	Output current high alarm.

curr[N]_crit_alarm	Output current critical high alarm.

curr[N]_lcrit_alarm	Output current critical low alarm.

			LTC2972, LTC2974 and LTC2975 only.

curr[N]_lowest		Lowest output current.

			LTC2972, LTC2974 and LTC2975 only.

curr[N]_highest		Highest output current.

curr[N]_reset_history	Reset output current history.
======================= ========================================================
