1*4882a593SmuzhiyunKernel driver ltc2945 2*4882a593Smuzhiyun===================== 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunSupported chips: 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun * Linear Technology LTC2945 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun Prefix: 'ltc2945' 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/2945fb.pdf 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunAuthor: Guenter Roeck <linux@roeck-us.net> 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunDescription 20*4882a593Smuzhiyun----------- 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunThe LTC2945 is a rail-to-rail system monitor that measures current, voltage, 23*4882a593Smuzhiyunand power consumption. 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun 26*4882a593SmuzhiyunUsage Notes 27*4882a593Smuzhiyun----------- 28*4882a593Smuzhiyun 29*4882a593SmuzhiyunThis driver does not probe for LTC2945 devices, since there is no register 30*4882a593Smuzhiyunwhich can be safely used to identify the chip. You will have to instantiate 31*4882a593Smuzhiyunthe devices explicitly. 32*4882a593Smuzhiyun 33*4882a593SmuzhiyunExample: the following will load the driver for an LTC2945 at address 0x10 34*4882a593Smuzhiyunon I2C bus #1:: 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun $ modprobe ltc2945 37*4882a593Smuzhiyun $ echo ltc2945 0x10 > /sys/bus/i2c/devices/i2c-1/new_device 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun 40*4882a593SmuzhiyunSysfs entries 41*4882a593Smuzhiyun------------- 42*4882a593Smuzhiyun 43*4882a593SmuzhiyunVoltage readings provided by this driver are reported as obtained from the ADC 44*4882a593Smuzhiyunregisters. If a set of voltage divider resistors is installed, calculate the 45*4882a593Smuzhiyunreal voltage by multiplying the reported value with (R1+R2)/R2, where R1 is the 46*4882a593Smuzhiyunvalue of the divider resistor against the measured voltage and R2 is the value 47*4882a593Smuzhiyunof the divider resistor against Ground. 48*4882a593Smuzhiyun 49*4882a593SmuzhiyunCurrent reading provided by this driver is reported as obtained from the ADC 50*4882a593SmuzhiyunCurrent Sense register. The reported value assumes that a 1 mOhm sense resistor 51*4882a593Smuzhiyunis installed. If a different sense resistor is installed, calculate the real 52*4882a593Smuzhiyuncurrent by dividing the reported value by the sense resistor value in mOhm. 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun======================= ======================================================== 55*4882a593Smuzhiyunin1_input VIN voltage (mV). Voltage is measured either at 56*4882a593Smuzhiyun SENSE+ or VDD pin depending on chip configuration. 57*4882a593Smuzhiyunin1_min Undervoltage threshold 58*4882a593Smuzhiyunin1_max Overvoltage threshold 59*4882a593Smuzhiyunin1_lowest Lowest measured voltage 60*4882a593Smuzhiyunin1_highest Highest measured voltage 61*4882a593Smuzhiyunin1_reset_history Write 1 to reset in1 history 62*4882a593Smuzhiyunin1_min_alarm Undervoltage alarm 63*4882a593Smuzhiyunin1_max_alarm Overvoltage alarm 64*4882a593Smuzhiyun 65*4882a593Smuzhiyunin2_input ADIN voltage (mV) 66*4882a593Smuzhiyunin2_min Undervoltage threshold 67*4882a593Smuzhiyunin2_max Overvoltage threshold 68*4882a593Smuzhiyunin2_lowest Lowest measured voltage 69*4882a593Smuzhiyunin2_highest Highest measured voltage 70*4882a593Smuzhiyunin2_reset_history Write 1 to reset in2 history 71*4882a593Smuzhiyunin2_min_alarm Undervoltage alarm 72*4882a593Smuzhiyunin2_max_alarm Overvoltage alarm 73*4882a593Smuzhiyun 74*4882a593Smuzhiyuncurr1_input SENSE current (mA) 75*4882a593Smuzhiyuncurr1_min Undercurrent threshold 76*4882a593Smuzhiyuncurr1_max Overcurrent threshold 77*4882a593Smuzhiyuncurr1_lowest Lowest measured current 78*4882a593Smuzhiyuncurr1_highest Highest measured current 79*4882a593Smuzhiyuncurr1_reset_history Write 1 to reset curr1 history 80*4882a593Smuzhiyuncurr1_min_alarm Undercurrent alarm 81*4882a593Smuzhiyuncurr1_max_alarm Overcurrent alarm 82*4882a593Smuzhiyun 83*4882a593Smuzhiyunpower1_input Power (in uW). Power is calculated based on SENSE+/VDD 84*4882a593Smuzhiyun voltage or ADIN voltage depending on chip configuration. 85*4882a593Smuzhiyunpower1_min Low lower threshold 86*4882a593Smuzhiyunpower1_max High power threshold 87*4882a593Smuzhiyunpower1_input_lowest Historical minimum power use 88*4882a593Smuzhiyunpower1_input_highest Historical maximum power use 89*4882a593Smuzhiyunpower1_reset_history Write 1 to reset power1 history 90*4882a593Smuzhiyunpower1_min_alarm Low power alarm 91*4882a593Smuzhiyunpower1_max_alarm High power alarm 92*4882a593Smuzhiyun======================= ======================================================== 93