xref: /OK3568_Linux_fs/kernel/Documentation/hwmon/ltc2947.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunKernel drivers ltc2947-i2c and ltc2947-spi
2*4882a593Smuzhiyun==========================================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunSupported chips:
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun  * Analog Devices LTC2947
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun    Prefix: 'ltc2947'
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun    Addresses scanned: -
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun    Datasheet:
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun        https://www.analog.com/media/en/technical-documentation/data-sheets/LTC2947.pdf
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunAuthor: Nuno Sá <nuno.sa@analog.com>
17*4882a593Smuzhiyun
18*4882a593SmuzhiyunDescription
19*4882a593Smuzhiyun___________
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunThe LTC2947 is a high precision power and energy monitor that measures current,
22*4882a593Smuzhiyunvoltage, power, temperature, charge and energy. The device supports both SPI
23*4882a593Smuzhiyunand I2C depending on the chip configuration.
24*4882a593SmuzhiyunThe device also measures accumulated quantities as energy. It has two banks of
25*4882a593Smuzhiyunregister's to read/set energy related values. These banks can be configured
26*4882a593Smuzhiyunindependently to have setups like: energy1 accumulates always and enrgy2 only
27*4882a593Smuzhiyunaccumulates if current is positive (to check battery charging efficiency for
28*4882a593Smuzhiyunexample). The device also supports a GPIO pin that can be configured as output
29*4882a593Smuzhiyunto control a fan as a function of measured temperature. Then, the GPIO becomes
30*4882a593Smuzhiyunactive as soon as a temperature reading is higher than a defined threshold. The
31*4882a593Smuzhiyuntemp2 channel is used to control this thresholds and to read the respective
32*4882a593Smuzhiyunalarms.
33*4882a593Smuzhiyun
34*4882a593SmuzhiyunSysfs entries
35*4882a593Smuzhiyun_____________
36*4882a593Smuzhiyun
37*4882a593SmuzhiyunThe following attributes are supported. Limits are read-write, reset_history
38*4882a593Smuzhiyunis write-only and all the other attributes are read-only.
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun======================= ==========================================
41*4882a593Smuzhiyunin0_input		VP-VM voltage (mV).
42*4882a593Smuzhiyunin0_min			Undervoltage threshold
43*4882a593Smuzhiyunin0_max			Overvoltage threshold
44*4882a593Smuzhiyunin0_lowest		Lowest measured voltage
45*4882a593Smuzhiyunin0_highest		Highest measured voltage
46*4882a593Smuzhiyunin0_reset_history	Write 1 to reset in1 history
47*4882a593Smuzhiyunin0_min_alarm		Undervoltage alarm
48*4882a593Smuzhiyunin0_max_alarm		Overvoltage alarm
49*4882a593Smuzhiyunin0_label		Channel label (VP-VM)
50*4882a593Smuzhiyun
51*4882a593Smuzhiyunin1_input		DVCC voltage (mV)
52*4882a593Smuzhiyunin1_min			Undervoltage threshold
53*4882a593Smuzhiyunin1_max			Overvoltage threshold
54*4882a593Smuzhiyunin1_lowest		Lowest measured voltage
55*4882a593Smuzhiyunin1_highest		Highest measured voltage
56*4882a593Smuzhiyunin1_reset_history	Write 1 to reset in2 history
57*4882a593Smuzhiyunin1_min_alarm		Undervoltage alarm
58*4882a593Smuzhiyunin1_max_alarm		Overvoltage alarm
59*4882a593Smuzhiyunin1_label		Channel label (DVCC)
60*4882a593Smuzhiyun
61*4882a593Smuzhiyuncurr1_input		IP-IM Sense current (mA)
62*4882a593Smuzhiyuncurr1_min		Undercurrent threshold
63*4882a593Smuzhiyuncurr1_max		Overcurrent threshold
64*4882a593Smuzhiyuncurr1_lowest		Lowest measured current
65*4882a593Smuzhiyuncurr1_highest		Highest measured current
66*4882a593Smuzhiyuncurr1_reset_history	Write 1 to reset curr1 history
67*4882a593Smuzhiyuncurr1_min_alarm		Undercurrent alarm
68*4882a593Smuzhiyuncurr1_max_alarm		Overcurrent alarm
69*4882a593Smuzhiyuncurr1_label		Channel label (IP-IM)
70*4882a593Smuzhiyun
71*4882a593Smuzhiyunpower1_input		Power (in uW)
72*4882a593Smuzhiyunpower1_min		Low power threshold
73*4882a593Smuzhiyunpower1_max		High power threshold
74*4882a593Smuzhiyunpower1_input_lowest	Historical minimum power use
75*4882a593Smuzhiyunpower1_input_highest	Historical maximum power use
76*4882a593Smuzhiyunpower1_reset_history	Write 1 to reset power1 history
77*4882a593Smuzhiyunpower1_min_alarm	Low power alarm
78*4882a593Smuzhiyunpower1_max_alarm	High power alarm
79*4882a593Smuzhiyunpower1_label		Channel label (Power)
80*4882a593Smuzhiyun
81*4882a593Smuzhiyuntemp1_input		Chip Temperature (in milliC)
82*4882a593Smuzhiyuntemp1_min		Low temperature threshold
83*4882a593Smuzhiyuntemp1_max		High temperature threshold
84*4882a593Smuzhiyuntemp1_input_lowest	Historical minimum temperature use
85*4882a593Smuzhiyuntemp1_input_highest	Historical maximum temperature use
86*4882a593Smuzhiyuntemp1_reset_history	Write 1 to reset temp1 history
87*4882a593Smuzhiyuntemp1_min_alarm		Low temperature alarm
88*4882a593Smuzhiyuntemp1_max_alarm		High temperature alarm
89*4882a593Smuzhiyuntemp1_label		Channel label (Ambient)
90*4882a593Smuzhiyun
91*4882a593Smuzhiyuntemp2_min		Low temperature threshold for fan control
92*4882a593Smuzhiyuntemp2_max		High temperature threshold for fan control
93*4882a593Smuzhiyuntemp2_min_alarm		Low temperature fan control alarm
94*4882a593Smuzhiyuntemp2_max_alarm		High temperature fan control alarm
95*4882a593Smuzhiyuntemp2_label		Channel label (TEMPFAN)
96*4882a593Smuzhiyun
97*4882a593Smuzhiyunenergy1_input		Measured energy over time (in microJoule)
98*4882a593Smuzhiyun
99*4882a593Smuzhiyunenergy2_input		Measured energy over time (in microJoule)
100*4882a593Smuzhiyun======================= ==========================================
101