103 lines
3.2 KiB
Plaintext
103 lines
3.2 KiB
Plaintext
|
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/i2c/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.
|