1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef _S3C_ADC_BATTERY_H 3*4882a593Smuzhiyun #define _S3C_ADC_BATTERY_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun struct s3c_adc_bat_thresh { 6*4882a593Smuzhiyun int volt; /* mV */ 7*4882a593Smuzhiyun int cur; /* mA */ 8*4882a593Smuzhiyun int level; /* percent */ 9*4882a593Smuzhiyun }; 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun struct s3c_adc_bat_pdata { 12*4882a593Smuzhiyun int (*init)(void); 13*4882a593Smuzhiyun void (*exit)(void); 14*4882a593Smuzhiyun void (*enable_charger)(void); 15*4882a593Smuzhiyun void (*disable_charger)(void); 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun int gpio_charge_finished; 18*4882a593Smuzhiyun int gpio_inverted; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun const struct s3c_adc_bat_thresh *lut_noac; 21*4882a593Smuzhiyun unsigned int lut_noac_cnt; 22*4882a593Smuzhiyun const struct s3c_adc_bat_thresh *lut_acin; 23*4882a593Smuzhiyun unsigned int lut_acin_cnt; 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun const unsigned int volt_channel; 26*4882a593Smuzhiyun const unsigned int current_channel; 27*4882a593Smuzhiyun const unsigned int backup_volt_channel; 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun const unsigned int volt_samples; 30*4882a593Smuzhiyun const unsigned int current_samples; 31*4882a593Smuzhiyun const unsigned int backup_volt_samples; 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun const unsigned int volt_mult; 34*4882a593Smuzhiyun const unsigned int current_mult; 35*4882a593Smuzhiyun const unsigned int backup_volt_mult; 36*4882a593Smuzhiyun const unsigned int internal_impedance; 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun const unsigned int backup_volt_max; 39*4882a593Smuzhiyun const unsigned int backup_volt_min; 40*4882a593Smuzhiyun }; 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun #endif 43