Ira Snyder | 6e34b18 | 2009-01-07 16:37:32 +0100 | [diff] [blame] | 1 | Kernel driver ltc4245 |
| 2 | ===================== |
| 3 | |
| 4 | Supported chips: |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 5 | |
Ira Snyder | 6e34b18 | 2009-01-07 16:37:32 +0100 | [diff] [blame] | 6 | * Linear Technology LTC4245 |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 7 | |
Ira Snyder | 6e34b18 | 2009-01-07 16:37:32 +0100 | [diff] [blame] | 8 | Prefix: 'ltc4245' |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 9 | |
Ira Snyder | 6e34b18 | 2009-01-07 16:37:32 +0100 | [diff] [blame] | 10 | Addresses scanned: 0x20-0x3f |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 11 | |
Ira Snyder | 6e34b18 | 2009-01-07 16:37:32 +0100 | [diff] [blame] | 12 | Datasheet: |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 13 | |
| 14 | http://www.linear.com/pc/downloadDocument.do?navId=H0,C1,C1003,C1006,C1140,P19392,D13517 |
Ira Snyder | 6e34b18 | 2009-01-07 16:37:32 +0100 | [diff] [blame] | 15 | |
| 16 | Author: Ira W. Snyder <iws@ovro.caltech.edu> |
| 17 | |
| 18 | |
| 19 | Description |
| 20 | ----------- |
| 21 | |
| 22 | The LTC4245 controller allows a board to be safely inserted and removed |
| 23 | from a live backplane in multiple supply systems such as CompactPCI and |
| 24 | PCI Express. |
| 25 | |
| 26 | |
| 27 | Usage Notes |
| 28 | ----------- |
| 29 | |
| 30 | This driver does not probe for LTC4245 devices, due to the fact that some |
Jean Delvare | 2d2a7cf | 2009-10-04 22:53:42 +0200 | [diff] [blame] | 31 | of the possible addresses are unfriendly to probing. You will have to |
| 32 | instantiate the devices explicitly. |
Ira Snyder | 6e34b18 | 2009-01-07 16:37:32 +0100 | [diff] [blame] | 33 | |
| 34 | Example: the following will load the driver for an LTC4245 at address 0x23 |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 35 | on I2C bus #1:: |
| 36 | |
| 37 | $ modprobe ltc4245 |
| 38 | $ echo ltc4245 0x23 > /sys/bus/i2c/devices/i2c-1/new_device |
Ira Snyder | 6e34b18 | 2009-01-07 16:37:32 +0100 | [diff] [blame] | 39 | |
| 40 | |
| 41 | Sysfs entries |
| 42 | ------------- |
| 43 | |
| 44 | The LTC4245 has built-in limits for over and under current warnings. This |
| 45 | makes it very likely that the reference circuit will be used. |
| 46 | |
| 47 | This driver uses the values in the datasheet to change the register values |
| 48 | into the values specified in the sysfs-interface document. The current readings |
| 49 | rely on the sense resistors listed in Table 2: "Sense Resistor Values". |
| 50 | |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 51 | ======================= ======================================================= |
Ira Snyder | 6e34b18 | 2009-01-07 16:37:32 +0100 | [diff] [blame] | 52 | in1_input 12v input voltage (mV) |
| 53 | in2_input 5v input voltage (mV) |
| 54 | in3_input 3v input voltage (mV) |
| 55 | in4_input Vee (-12v) input voltage (mV) |
| 56 | |
| 57 | in1_min_alarm 12v input undervoltage alarm |
| 58 | in2_min_alarm 5v input undervoltage alarm |
| 59 | in3_min_alarm 3v input undervoltage alarm |
| 60 | in4_min_alarm Vee (-12v) input undervoltage alarm |
| 61 | |
| 62 | curr1_input 12v current (mA) |
| 63 | curr2_input 5v current (mA) |
| 64 | curr3_input 3v current (mA) |
| 65 | curr4_input Vee (-12v) current (mA) |
| 66 | |
| 67 | curr1_max_alarm 12v overcurrent alarm |
| 68 | curr2_max_alarm 5v overcurrent alarm |
| 69 | curr3_max_alarm 3v overcurrent alarm |
| 70 | curr4_max_alarm Vee (-12v) overcurrent alarm |
| 71 | |
| 72 | in5_input 12v output voltage (mV) |
| 73 | in6_input 5v output voltage (mV) |
| 74 | in7_input 3v output voltage (mV) |
| 75 | in8_input Vee (-12v) output voltage (mV) |
| 76 | |
| 77 | in5_min_alarm 12v output undervoltage alarm |
| 78 | in6_min_alarm 5v output undervoltage alarm |
| 79 | in7_min_alarm 3v output undervoltage alarm |
| 80 | in8_min_alarm Vee (-12v) output undervoltage alarm |
| 81 | |
Ira W. Snyder | 5950ec8 | 2010-08-14 21:08:49 +0200 | [diff] [blame] | 82 | in9_input GPIO voltage data (see note 1) |
| 83 | in10_input GPIO voltage data (see note 1) |
| 84 | in11_input GPIO voltage data (see note 1) |
Ira Snyder | 6e34b18 | 2009-01-07 16:37:32 +0100 | [diff] [blame] | 85 | |
| 86 | power1_input 12v power usage (mW) |
| 87 | power2_input 5v power usage (mW) |
| 88 | power3_input 3v power usage (mW) |
| 89 | power4_input Vee (-12v) power usage (mW) |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 90 | ======================= ======================================================= |
Ira W. Snyder | 5950ec8 | 2010-08-14 21:08:49 +0200 | [diff] [blame] | 91 | |
| 92 | |
| 93 | Note 1 |
| 94 | ------ |
| 95 | |
| 96 | If you have NOT configured the driver to sample all GPIO pins as analog |
| 97 | voltages, then the in10_input and in11_input sysfs attributes will not be |
| 98 | created. The driver will sample the GPIO pin that is currently connected to the |
| 99 | ADC as an analog voltage, and report the value in in9_input. |
| 100 | |
| 101 | If you have configured the driver to sample all GPIO pins as analog voltages, |
| 102 | then they will be sampled in round-robin fashion. If userspace reads too |
| 103 | slowly, -EAGAIN will be returned when you read the sysfs attribute containing |
| 104 | the sensor reading. |
| 105 | |
| 106 | The LTC4245 chip can be configured to sample all GPIO pins with two methods: |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 107 | |
Wolfram Sang | 8116e8d | 2017-05-21 22:34:41 +0200 | [diff] [blame] | 108 | 1) platform data -- see include/linux/platform_data/ltc4245.h |
Ira W. Snyder | 5950ec8 | 2010-08-14 21:08:49 +0200 | [diff] [blame] | 109 | 2) OF device tree -- add the "ltc4245,use-extra-gpios" property to each chip |
| 110 | |
| 111 | The default mode of operation is to sample a single GPIO pin. |