^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) Kernel drivers ltc2947-i2c and ltc2947-spi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) ==========================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Supported chips:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * Analog Devices LTC2947
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) Prefix: 'ltc2947'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) Datasheet:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) https://www.analog.com/media/en/technical-documentation/data-sheets/LTC2947.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) Author: Nuno Sá <nuno.sa@analog.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) ___________
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) The LTC2947 is a high precision power and energy monitor that measures current,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) voltage, power, temperature, charge and energy. The device supports both SPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) and I2C depending on the chip configuration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) The device also measures accumulated quantities as energy. It has two banks of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) register's to read/set energy related values. These banks can be configured
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) independently to have setups like: energy1 accumulates always and enrgy2 only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) accumulates if current is positive (to check battery charging efficiency for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) example). The device also supports a GPIO pin that can be configured as output
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) to control a fan as a function of measured temperature. Then, the GPIO becomes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) active as soon as a temperature reading is higher than a defined threshold. The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) temp2 channel is used to control this thresholds and to read the respective
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) alarms.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Sysfs entries
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) _____________
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) The following attributes are supported. Limits are read-write, reset_history
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) is write-only and all the other attributes are read-only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) ======================= ==========================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) in0_input VP-VM voltage (mV).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) in0_min Undervoltage threshold
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) in0_max Overvoltage threshold
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) in0_lowest Lowest measured voltage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) in0_highest Highest measured voltage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) in0_reset_history Write 1 to reset in1 history
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) in0_min_alarm Undervoltage alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) in0_max_alarm Overvoltage alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) in0_label Channel label (VP-VM)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) in1_input DVCC voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) in1_min Undervoltage threshold
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) in1_max Overvoltage threshold
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) in1_lowest Lowest measured voltage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) in1_highest Highest measured voltage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) in1_reset_history Write 1 to reset in2 history
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) in1_min_alarm Undervoltage alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) in1_max_alarm Overvoltage alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) in1_label Channel label (DVCC)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) curr1_input IP-IM Sense current (mA)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) curr1_min Undercurrent threshold
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) curr1_max Overcurrent threshold
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) curr1_lowest Lowest measured current
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) curr1_highest Highest measured current
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) curr1_reset_history Write 1 to reset curr1 history
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) curr1_min_alarm Undercurrent alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) curr1_max_alarm Overcurrent alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) curr1_label Channel label (IP-IM)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) power1_input Power (in uW)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) power1_min Low power threshold
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) power1_max High power threshold
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) power1_input_lowest Historical minimum power use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) power1_input_highest Historical maximum power use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) power1_reset_history Write 1 to reset power1 history
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) power1_min_alarm Low power alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) power1_max_alarm High power alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) power1_label Channel label (Power)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) temp1_input Chip Temperature (in milliC)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) temp1_min Low temperature threshold
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) temp1_max High temperature threshold
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) temp1_input_lowest Historical minimum temperature use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) temp1_input_highest Historical maximum temperature use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) temp1_reset_history Write 1 to reset temp1 history
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) temp1_min_alarm Low temperature alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) temp1_max_alarm High temperature alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) temp1_label Channel label (Ambient)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) temp2_min Low temperature threshold for fan control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) temp2_max High temperature threshold for fan control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) temp2_min_alarm Low temperature fan control alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) temp2_max_alarm High temperature fan control alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) temp2_label Channel label (TEMPFAN)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) energy1_input Measured energy over time (in microJoule)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) energy2_input Measured energy over time (in microJoule)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) ======================= ==========================================