mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
3.4 KiB
111 lines
3.4 KiB
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 <[email protected]> |
|
|
|
|
|
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.
|
|
|