1808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick#ifndef _S3C_ADC_BATTERY_H 2808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick#define _S3C_ADC_BATTERY_H 3808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick 4808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhickstruct s3c_adc_bat_thresh { 5808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick int volt; /* mV */ 6808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick int cur; /* mA */ 7808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick int level; /* percent */ 8808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick}; 9808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick 10808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhickstruct s3c_adc_bat_pdata { 11808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick int (*init)(void); 12808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick void (*exit)(void); 13808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick void (*enable_charger)(void); 14808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick void (*disable_charger)(void); 15808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick 16808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick int gpio_charge_finished; 17c66ae9bb4dcaac78cc5e30d0ce7ff2bf3dcb48d9Vasily Khoruzhick int gpio_inverted; 18808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick 19808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick const struct s3c_adc_bat_thresh *lut_noac; 20808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick unsigned int lut_noac_cnt; 21808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick const struct s3c_adc_bat_thresh *lut_acin; 22808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick unsigned int lut_acin_cnt; 23808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick 24808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick const unsigned int volt_channel; 25808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick const unsigned int current_channel; 26808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick const unsigned int backup_volt_channel; 27808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick 2834aed73df3a9e75e313a7510b201f6755ae3e6bcHeiko Stübner const unsigned int volt_samples; 2934aed73df3a9e75e313a7510b201f6755ae3e6bcHeiko Stübner const unsigned int current_samples; 3034aed73df3a9e75e313a7510b201f6755ae3e6bcHeiko Stübner const unsigned int backup_volt_samples; 3134aed73df3a9e75e313a7510b201f6755ae3e6bcHeiko Stübner 32808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick const unsigned int volt_mult; 33808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick const unsigned int current_mult; 34808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick const unsigned int backup_volt_mult; 35808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick const unsigned int internal_impedance; 36808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick 37808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick const unsigned int backup_volt_max; 38808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick const unsigned int backup_volt_min; 39808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick}; 40808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick 41808be4b22f47886d2279852ada3d186fc20909bcVasily Khoruzhick#endif 42