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