return (450000 * (v_batctrl)) / (1800 - v_batctrl);
}
- if (di->bat->adc_therm == ADC_THERM_BATCTRL) {
+ if (di->bat->adc_therm == ABx500_ADC_THERM_BATCTRL) {
/*
* If the battery has internal NTC, we use the current
* source to calculate the resistance, 7uA or 20uA
return 0;
/* Only do this for batteries with internal NTC */
- if (di->bat->adc_therm == ADC_THERM_BATCTRL && enable) {
+ if (di->bat->adc_therm == ABx500_ADC_THERM_BATCTRL && enable) {
if (di->curr_source == BTEMP_BATCTRL_CURR_SRC_7UA)
curr = BAT_CTRL_7U_ENA;
else
__func__);
goto disable_curr_source;
}
- } else if (di->bat->adc_therm == ADC_THERM_BATCTRL && !enable) {
+ } else if (di->bat->adc_therm == ABx500_ADC_THERM_BATCTRL && !enable) {
dev_dbg(di->dev, "Disable BATCTRL curr source\n");
/* Write 0 to the curr bits */
id = di->bat->batt_id;
- if (di->bat->adc_therm == ADC_THERM_BATCTRL &&
+ if (di->bat->adc_therm == ABx500_ADC_THERM_BATCTRL &&
id != BATTERY_UNKNOWN) {
rbat = ab8500_btemp_get_batctrl_res(di);
dev_dbg(di->dev, "Battery detected on %s"
" low %d < res %d < high: %d"
" index: %d\n",
- di->bat->adc_therm == ADC_THERM_BATCTRL ?
+ di->bat->adc_therm == ABx500_ADC_THERM_BATCTRL ?
"BATCTRL" : "BATTEMP",
di->bat->bat_type[i].resis_low, res,
di->bat->bat_type[i].resis_high, i);
* We only have to change current source if the
* detected type is Type 1, else we use the 7uA source
*/
- if (di->bat->adc_therm == ADC_THERM_BATCTRL && di->bat->batt_id == 1) {
+ if (di->bat->adc_therm == ABx500_ADC_THERM_BATCTRL &&
+ di->bat->batt_id == 1) {
dev_dbg(di->dev, "Set BATCTRL current source to 20uA\n");
di->curr_source = BTEMP_BATCTRL_CURR_SRC_20UA;
}
#define _AB8500_BM_H
#include <linux/kernel.h>
+#include <linux/mfd/abx500.h>
/*
* System control 2 register offsets.
/* Battery type */
#define BATTERY_UNKNOWN 00
-/*
- * ADC for the battery thermistor.
- * When using the ADC_THERM_BATCTRL the battery ID resistor is combined with
- * a NTC resistor to both identify the battery and to measure its temperature.
- * Different phone manufactures uses different techniques to both identify the
- * battery and to read its temperature.
- */
-enum adc_therm {
- ADC_THERM_BATCTRL,
- ADC_THERM_BATTEMP,
-};
-
/**
* struct res_to_temp - defines one point in a temp to res curve. To
* be used in battery packs that combines the identification resistor with a
bool no_maintenance;
bool chg_unknown_bat;
bool enable_overshoot;
- enum adc_therm adc_therm;
+ enum abx500_adc_therm adc_therm;
int fg_res;
int n_btypes;
int batt_id;