Guenter Roeck | 6700ce0 | 2014-01-11 10:28:05 -0800 | [diff] [blame] | 1 | Kernel driver ltc2945 |
| 2 | ===================== |
| 3 | |
| 4 | Supported chips: |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 5 | |
Guenter Roeck | 6700ce0 | 2014-01-11 10:28:05 -0800 | [diff] [blame] | 6 | * Linear Technology LTC2945 |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 7 | |
Guenter Roeck | 6700ce0 | 2014-01-11 10:28:05 -0800 | [diff] [blame] | 8 | Prefix: 'ltc2945' |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 9 | |
Guenter Roeck | 6700ce0 | 2014-01-11 10:28:05 -0800 | [diff] [blame] | 10 | Addresses scanned: - |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 11 | |
Guenter Roeck | 6700ce0 | 2014-01-11 10:28:05 -0800 | [diff] [blame] | 12 | Datasheet: |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 13 | |
Alexandru Ardelean | f6a496a | 2020-10-05 16:12:26 +0300 | [diff] [blame] | 14 | https://www.analog.com/media/en/technical-documentation/data-sheets/2945fb.pdf |
Guenter Roeck | 6700ce0 | 2014-01-11 10:28:05 -0800 | [diff] [blame] | 15 | |
| 16 | Author: Guenter Roeck <linux@roeck-us.net> |
| 17 | |
| 18 | |
| 19 | Description |
| 20 | ----------- |
| 21 | |
| 22 | The LTC2945 is a rail-to-rail system monitor that measures current, voltage, |
| 23 | and power consumption. |
| 24 | |
| 25 | |
| 26 | Usage Notes |
| 27 | ----------- |
| 28 | |
| 29 | This driver does not probe for LTC2945 devices, since there is no register |
| 30 | which can be safely used to identify the chip. You will have to instantiate |
| 31 | the devices explicitly. |
| 32 | |
| 33 | Example: the following will load the driver for an LTC2945 at address 0x10 |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 34 | on I2C bus #1:: |
| 35 | |
| 36 | $ modprobe ltc2945 |
| 37 | $ echo ltc2945 0x10 > /sys/bus/i2c/devices/i2c-1/new_device |
Guenter Roeck | 6700ce0 | 2014-01-11 10:28:05 -0800 | [diff] [blame] | 38 | |
| 39 | |
| 40 | Sysfs entries |
| 41 | ------------- |
| 42 | |
| 43 | Voltage readings provided by this driver are reported as obtained from the ADC |
| 44 | registers. If a set of voltage divider resistors is installed, calculate the |
| 45 | real voltage by multiplying the reported value with (R1+R2)/R2, where R1 is the |
| 46 | value of the divider resistor against the measured voltage and R2 is the value |
| 47 | of the divider resistor against Ground. |
| 48 | |
| 49 | Current reading provided by this driver is reported as obtained from the ADC |
| 50 | Current Sense register. The reported value assumes that a 1 mOhm sense resistor |
| 51 | is installed. If a different sense resistor is installed, calculate the real |
| 52 | current by dividing the reported value by the sense resistor value in mOhm. |
| 53 | |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 54 | ======================= ======================================================== |
Guenter Roeck | 6700ce0 | 2014-01-11 10:28:05 -0800 | [diff] [blame] | 55 | in1_input VIN voltage (mV). Voltage is measured either at |
| 56 | SENSE+ or VDD pin depending on chip configuration. |
| 57 | in1_min Undervoltage threshold |
| 58 | in1_max Overvoltage threshold |
| 59 | in1_lowest Lowest measured voltage |
| 60 | in1_highest Highest measured voltage |
| 61 | in1_reset_history Write 1 to reset in1 history |
| 62 | in1_min_alarm Undervoltage alarm |
| 63 | in1_max_alarm Overvoltage alarm |
| 64 | |
| 65 | in2_input ADIN voltage (mV) |
| 66 | in2_min Undervoltage threshold |
| 67 | in2_max Overvoltage threshold |
| 68 | in2_lowest Lowest measured voltage |
| 69 | in2_highest Highest measured voltage |
| 70 | in2_reset_history Write 1 to reset in2 history |
| 71 | in2_min_alarm Undervoltage alarm |
| 72 | in2_max_alarm Overvoltage alarm |
| 73 | |
| 74 | curr1_input SENSE current (mA) |
| 75 | curr1_min Undercurrent threshold |
| 76 | curr1_max Overcurrent threshold |
| 77 | curr1_lowest Lowest measured current |
| 78 | curr1_highest Highest measured current |
| 79 | curr1_reset_history Write 1 to reset curr1 history |
| 80 | curr1_min_alarm Undercurrent alarm |
| 81 | curr1_max_alarm Overcurrent alarm |
| 82 | |
| 83 | power1_input Power (in uW). Power is calculated based on SENSE+/VDD |
| 84 | voltage or ADIN voltage depending on chip configuration. |
| 85 | power1_min Low lower threshold |
| 86 | power1_max High power threshold |
| 87 | power1_input_lowest Historical minimum power use |
| 88 | power1_input_highest Historical maximum power use |
| 89 | power1_reset_history Write 1 to reset power1 history |
| 90 | power1_min_alarm Low power alarm |
| 91 | power1_max_alarm High power alarm |
Mauro Carvalho Chehab | b04f2f7 | 2019-04-17 06:46:28 -0300 | [diff] [blame] | 92 | ======================= ======================================================== |