Kernel driver ltc4245
=====================

Supported chips:

  * Linear Technology LTC4245

    Prefix: 'ltc4245'

    Addresses scanned: 0x20-0x3f

    Datasheet:

	http://www.linear.com/pc/downloadDocument.do?navId=H0,C1,C1003,C1006,C1140,P19392,D13517

Author: Ira W. Snyder <iws@ovro.caltech.edu>


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

The LTC4245 controller allows a board to be safely inserted and removed
from a live backplane in multiple supply systems such as CompactPCI and
PCI Express.


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

This driver does not probe for LTC4245 devices, due to the fact that some
of the possible addresses are unfriendly to probing. You will have to
instantiate the devices explicitly.

Example: the following will load the driver for an LTC4245 at address 0x23
on I2C bus #1::

	$ modprobe ltc4245
	$ echo ltc4245 0x23 > /sys/bus/i2c/devices/i2c-1/new_device


Sysfs entries
-------------

The LTC4245 has built-in limits for over and under current warnings. This
makes it very likely that the reference circuit will be used.

This driver uses the values in the datasheet to change the register values
into the values specified in the sysfs-interface document. The current readings
rely on the sense resistors listed in Table 2: "Sense Resistor Values".

======================= =======================================================
in1_input		12v input voltage (mV)
in2_input		5v  input voltage (mV)
in3_input		3v  input voltage (mV)
in4_input		Vee (-12v) input voltage (mV)

in1_min_alarm		12v input undervoltage alarm
in2_min_alarm		5v  input undervoltage alarm
in3_min_alarm		3v  input undervoltage alarm
in4_min_alarm		Vee (-12v) input undervoltage alarm

curr1_input		12v current (mA)
curr2_input		5v  current (mA)
curr3_input		3v  current (mA)
curr4_input		Vee (-12v) current (mA)

curr1_max_alarm		12v overcurrent alarm
curr2_max_alarm		5v  overcurrent alarm
curr3_max_alarm		3v  overcurrent alarm
curr4_max_alarm		Vee (-12v) overcurrent alarm

in5_input		12v output voltage (mV)
in6_input		5v  output voltage (mV)
in7_input		3v  output voltage (mV)
in8_input		Vee (-12v) output voltage (mV)

in5_min_alarm		12v output undervoltage alarm
in6_min_alarm		5v  output undervoltage alarm
in7_min_alarm		3v  output undervoltage alarm
in8_min_alarm		Vee (-12v) output undervoltage alarm

in9_input		GPIO voltage data (see note 1)
in10_input		GPIO voltage data (see note 1)
in11_input		GPIO voltage data (see note 1)

power1_input		12v power usage (mW)
power2_input		5v  power usage (mW)
power3_input		3v  power usage (mW)
power4_input		Vee (-12v) power usage (mW)
======================= =======================================================


Note 1
------

If you have NOT configured the driver to sample all GPIO pins as analog
voltages, then the in10_input and in11_input sysfs attributes will not be
created. The driver will sample the GPIO pin that is currently connected to the
ADC as an analog voltage, and report the value in in9_input.

If you have configured the driver to sample all GPIO pins as analog voltages,
then they will be sampled in round-robin fashion. If userspace reads too
slowly, -EAGAIN will be returned when you read the sysfs attribute containing
the sensor reading.

The LTC4245 chip can be configured to sample all GPIO pins with two methods:

1) platform data -- see include/linux/platform_data/ltc4245.h
2) OF device tree -- add the "ltc4245,use-extra-gpios" property to each chip

The default mode of operation is to sample a single GPIO pin.
