Commit 484a9cc3 authored by Linus Walleij's avatar Linus Walleij Committed by Sebastian Reichel

power: supply: ab8500: Drop abx500 concept

Drop the entire idea with abx500 being abstract and different from ab8500
in the AB8500 charging drivers. This rids the two identical definitions
of a slew of structs in ab8500-bm.h and makes things less confusion and
easier to understand.
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
parent c5b64a99
This diff is collapsed.
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
* Note that the res_to_temp table must be strictly sorted by falling resistance * Note that the res_to_temp table must be strictly sorted by falling resistance
* values to work. * values to work.
*/ */
const struct abx500_res_to_temp ab8500_temp_tbl_a_thermistor[] = { const struct ab8500_res_to_temp ab8500_temp_tbl_a_thermistor[] = {
{-5, 53407}, {-5, 53407},
{ 0, 48594}, { 0, 48594},
{ 5, 43804}, { 5, 43804},
...@@ -35,7 +35,7 @@ EXPORT_SYMBOL(ab8500_temp_tbl_a_thermistor); ...@@ -35,7 +35,7 @@ EXPORT_SYMBOL(ab8500_temp_tbl_a_thermistor);
const int ab8500_temp_tbl_a_size = ARRAY_SIZE(ab8500_temp_tbl_a_thermistor); const int ab8500_temp_tbl_a_size = ARRAY_SIZE(ab8500_temp_tbl_a_thermistor);
EXPORT_SYMBOL(ab8500_temp_tbl_a_size); EXPORT_SYMBOL(ab8500_temp_tbl_a_size);
const struct abx500_res_to_temp ab8500_temp_tbl_b_thermistor[] = { const struct ab8500_res_to_temp ab8500_temp_tbl_b_thermistor[] = {
{-5, 200000}, {-5, 200000},
{ 0, 159024}, { 0, 159024},
{ 5, 151921}, { 5, 151921},
...@@ -57,7 +57,7 @@ EXPORT_SYMBOL(ab8500_temp_tbl_b_thermistor); ...@@ -57,7 +57,7 @@ EXPORT_SYMBOL(ab8500_temp_tbl_b_thermistor);
const int ab8500_temp_tbl_b_size = ARRAY_SIZE(ab8500_temp_tbl_b_thermistor); const int ab8500_temp_tbl_b_size = ARRAY_SIZE(ab8500_temp_tbl_b_thermistor);
EXPORT_SYMBOL(ab8500_temp_tbl_b_size); EXPORT_SYMBOL(ab8500_temp_tbl_b_size);
static const struct abx500_v_to_cap cap_tbl_a_thermistor[] = { static const struct ab8500_v_to_cap cap_tbl_a_thermistor[] = {
{4171, 100}, {4171, 100},
{4114, 95}, {4114, 95},
{4009, 83}, {4009, 83},
...@@ -80,7 +80,7 @@ static const struct abx500_v_to_cap cap_tbl_a_thermistor[] = { ...@@ -80,7 +80,7 @@ static const struct abx500_v_to_cap cap_tbl_a_thermistor[] = {
{3247, 0}, {3247, 0},
}; };
static const struct abx500_v_to_cap cap_tbl_b_thermistor[] = { static const struct ab8500_v_to_cap cap_tbl_b_thermistor[] = {
{4161, 100}, {4161, 100},
{4124, 98}, {4124, 98},
{4044, 90}, {4044, 90},
...@@ -103,7 +103,7 @@ static const struct abx500_v_to_cap cap_tbl_b_thermistor[] = { ...@@ -103,7 +103,7 @@ static const struct abx500_v_to_cap cap_tbl_b_thermistor[] = {
{3250, 0}, {3250, 0},
}; };
static const struct abx500_v_to_cap cap_tbl[] = { static const struct ab8500_v_to_cap cap_tbl[] = {
{4186, 100}, {4186, 100},
{4163, 99}, {4163, 99},
{4114, 95}, {4114, 95},
...@@ -134,7 +134,7 @@ static const struct abx500_v_to_cap cap_tbl[] = { ...@@ -134,7 +134,7 @@ static const struct abx500_v_to_cap cap_tbl[] = {
* Note that the res_to_temp table must be strictly sorted by falling * Note that the res_to_temp table must be strictly sorted by falling
* resistance values to work. * resistance values to work.
*/ */
static const struct abx500_res_to_temp temp_tbl[] = { static const struct ab8500_res_to_temp temp_tbl[] = {
{-5, 214834}, {-5, 214834},
{ 0, 162943}, { 0, 162943},
{ 5, 124820}, { 5, 124820},
...@@ -191,7 +191,7 @@ static const struct batres_vs_temp temp_to_batres_tbl_9100[] = { ...@@ -191,7 +191,7 @@ static const struct batres_vs_temp temp_to_batres_tbl_9100[] = {
{-20, 180}, {-20, 180},
}; };
static struct abx500_battery_type bat_type_thermistor[] = { static struct ab8500_battery_type bat_type_thermistor[] = {
[BATTERY_UNKNOWN] = { [BATTERY_UNKNOWN] = {
/* First element always represent the UNKNOWN battery */ /* First element always represent the UNKNOWN battery */
.name = POWER_SUPPLY_TECHNOLOGY_UNKNOWN, .name = POWER_SUPPLY_TECHNOLOGY_UNKNOWN,
...@@ -277,7 +277,7 @@ static struct abx500_battery_type bat_type_thermistor[] = { ...@@ -277,7 +277,7 @@ static struct abx500_battery_type bat_type_thermistor[] = {
}, },
}; };
static struct abx500_battery_type bat_type_ext_thermistor[] = { static struct ab8500_battery_type bat_type_ext_thermistor[] = {
[BATTERY_UNKNOWN] = { [BATTERY_UNKNOWN] = {
/* First element always represent the UNKNOWN battery */ /* First element always represent the UNKNOWN battery */
.name = POWER_SUPPLY_TECHNOLOGY_UNKNOWN, .name = POWER_SUPPLY_TECHNOLOGY_UNKNOWN,
...@@ -394,7 +394,7 @@ static struct abx500_battery_type bat_type_ext_thermistor[] = { ...@@ -394,7 +394,7 @@ static struct abx500_battery_type bat_type_ext_thermistor[] = {
}, },
}; };
static const struct abx500_bm_capacity_levels cap_levels = { static const struct ab8500_bm_capacity_levels cap_levels = {
.critical = 2, .critical = 2,
.low = 10, .low = 10,
.normal = 70, .normal = 70,
...@@ -402,7 +402,7 @@ static const struct abx500_bm_capacity_levels cap_levels = { ...@@ -402,7 +402,7 @@ static const struct abx500_bm_capacity_levels cap_levels = {
.full = 100, .full = 100,
}; };
static const struct abx500_fg_parameters fg = { static const struct ab8500_fg_parameters fg = {
.recovery_sleep_timer = 10, .recovery_sleep_timer = 10,
.recovery_total_time = 100, .recovery_total_time = 100,
.init_timer = 1, .init_timer = 1,
...@@ -424,14 +424,14 @@ static const struct abx500_fg_parameters fg = { ...@@ -424,14 +424,14 @@ static const struct abx500_fg_parameters fg = {
.pcut_debounce_time = 2, .pcut_debounce_time = 2,
}; };
static const struct abx500_maxim_parameters ab8500_maxi_params = { static const struct ab8500_maxim_parameters ab8500_maxi_params = {
.ena_maxi = true, .ena_maxi = true,
.chg_curr = 910, .chg_curr = 910,
.wait_cycles = 10, .wait_cycles = 10,
.charger_curr_step = 100, .charger_curr_step = 100,
}; };
static const struct abx500_bm_charger_parameters chg = { static const struct ab8500_bm_charger_parameters chg = {
.usb_volt_max = 5500, .usb_volt_max = 5500,
.usb_curr_max = 1500, .usb_curr_max = 1500,
.ac_volt_max = 7500, .ac_volt_max = 7500,
...@@ -456,7 +456,7 @@ static int ab8500_charge_input_curr_map[] = { ...@@ -456,7 +456,7 @@ static int ab8500_charge_input_curr_map[] = {
700, 800, 900, 1000, 1100, 1300, 1400, 1500, 700, 800, 900, 1000, 1100, 1300, 1400, 1500,
}; };
struct abx500_bm_data ab8500_bm_data = { struct ab8500_bm_data ab8500_bm_data = {
.temp_under = 3, .temp_under = 3,
.temp_low = 8, .temp_low = 8,
.temp_high = 43, .temp_high = 43,
...@@ -469,7 +469,7 @@ struct abx500_bm_data ab8500_bm_data = { ...@@ -469,7 +469,7 @@ struct abx500_bm_data ab8500_bm_data = {
.bkup_bat_i = BUP_ICH_SEL_150UA, .bkup_bat_i = BUP_ICH_SEL_150UA,
.no_maintenance = false, .no_maintenance = false,
.capacity_scaling = false, .capacity_scaling = false,
.adc_therm = ABx500_ADC_THERM_BATCTRL, .adc_therm = AB8500_ADC_THERM_BATCTRL,
.chg_unknown_bat = false, .chg_unknown_bat = false,
.enable_overshoot = false, .enable_overshoot = false,
.fg_res = 100, .fg_res = 100,
...@@ -492,7 +492,7 @@ struct abx500_bm_data ab8500_bm_data = { ...@@ -492,7 +492,7 @@ struct abx500_bm_data ab8500_bm_data = {
int ab8500_bm_of_probe(struct device *dev, int ab8500_bm_of_probe(struct device *dev,
struct device_node *np, struct device_node *np,
struct abx500_bm_data *bm) struct ab8500_bm_data *bm)
{ {
const struct batres_vs_temp *tmp_batres_tbl; const struct batres_vs_temp *tmp_batres_tbl;
struct device_node *battery_node; struct device_node *battery_node;
...@@ -531,7 +531,7 @@ int ab8500_bm_of_probe(struct device *dev, ...@@ -531,7 +531,7 @@ int ab8500_bm_of_probe(struct device *dev,
} else { } else {
bm->n_btypes = 4; bm->n_btypes = 4;
bm->bat_type = bat_type_ext_thermistor; bm->bat_type = bat_type_ext_thermistor;
bm->adc_therm = ABx500_ADC_THERM_BATTEMP; bm->adc_therm = AB8500_ADC_THERM_BATTEMP;
tmp_batres_tbl = temp_to_batres_tbl_ext_thermistor; tmp_batres_tbl = temp_to_batres_tbl_ext_thermistor;
} }
......
...@@ -103,7 +103,7 @@ struct ab8500_btemp { ...@@ -103,7 +103,7 @@ struct ab8500_btemp {
struct iio_channel *btemp_ball; struct iio_channel *btemp_ball;
struct iio_channel *bat_ctrl; struct iio_channel *bat_ctrl;
struct ab8500_fg *fg; struct ab8500_fg *fg;
struct abx500_bm_data *bm; struct ab8500_bm_data *bm;
struct power_supply *btemp_psy; struct power_supply *btemp_psy;
struct ab8500_btemp_events events; struct ab8500_btemp_events events;
struct ab8500_btemp_ranges btemp_ranges; struct ab8500_btemp_ranges btemp_ranges;
...@@ -145,7 +145,7 @@ static int ab8500_btemp_batctrl_volt_to_res(struct ab8500_btemp *di, ...@@ -145,7 +145,7 @@ static int ab8500_btemp_batctrl_volt_to_res(struct ab8500_btemp *di,
return (450000 * (v_batctrl)) / (1800 - v_batctrl); return (450000 * (v_batctrl)) / (1800 - v_batctrl);
} }
if (di->bm->adc_therm == ABx500_ADC_THERM_BATCTRL) { if (di->bm->adc_therm == AB8500_ADC_THERM_BATCTRL) {
/* /*
* If the battery has internal NTC, we use the current * If the battery has internal NTC, we use the current
* source to calculate the resistance. * source to calculate the resistance.
...@@ -207,7 +207,7 @@ static int ab8500_btemp_curr_source_enable(struct ab8500_btemp *di, ...@@ -207,7 +207,7 @@ static int ab8500_btemp_curr_source_enable(struct ab8500_btemp *di,
return 0; return 0;
/* Only do this for batteries with internal NTC */ /* Only do this for batteries with internal NTC */
if (di->bm->adc_therm == ABx500_ADC_THERM_BATCTRL && enable) { if (di->bm->adc_therm == AB8500_ADC_THERM_BATCTRL && enable) {
if (di->curr_source == BTEMP_BATCTRL_CURR_SRC_7UA) if (di->curr_source == BTEMP_BATCTRL_CURR_SRC_7UA)
curr = BAT_CTRL_7U_ENA; curr = BAT_CTRL_7U_ENA;
...@@ -240,7 +240,7 @@ static int ab8500_btemp_curr_source_enable(struct ab8500_btemp *di, ...@@ -240,7 +240,7 @@ static int ab8500_btemp_curr_source_enable(struct ab8500_btemp *di,
__func__); __func__);
goto disable_curr_source; goto disable_curr_source;
} }
} else if (di->bm->adc_therm == ABx500_ADC_THERM_BATCTRL && !enable) { } else if (di->bm->adc_therm == AB8500_ADC_THERM_BATCTRL && !enable) {
dev_dbg(di->dev, "Disable BATCTRL curr source\n"); dev_dbg(di->dev, "Disable BATCTRL curr source\n");
/* Write 0 to the curr bits */ /* Write 0 to the curr bits */
...@@ -418,7 +418,7 @@ static int ab8500_btemp_get_batctrl_res(struct ab8500_btemp *di) ...@@ -418,7 +418,7 @@ static int ab8500_btemp_get_batctrl_res(struct ab8500_btemp *di)
* based on the NTC resistance. * based on the NTC resistance.
*/ */
static int ab8500_btemp_res_to_temp(struct ab8500_btemp *di, static int ab8500_btemp_res_to_temp(struct ab8500_btemp *di,
const struct abx500_res_to_temp *tbl, int tbl_size, int res) const struct ab8500_res_to_temp *tbl, int tbl_size, int res)
{ {
int i; int i;
/* /*
...@@ -458,7 +458,7 @@ static int ab8500_btemp_measure_temp(struct ab8500_btemp *di) ...@@ -458,7 +458,7 @@ static int ab8500_btemp_measure_temp(struct ab8500_btemp *di)
id = di->bm->batt_id; id = di->bm->batt_id;
if (di->bm->adc_therm == ABx500_ADC_THERM_BATCTRL && if (di->bm->adc_therm == AB8500_ADC_THERM_BATCTRL &&
id != BATTERY_UNKNOWN) { id != BATTERY_UNKNOWN) {
rbat = ab8500_btemp_get_batctrl_res(di); rbat = ab8500_btemp_get_batctrl_res(di);
...@@ -527,7 +527,7 @@ static int ab8500_btemp_id(struct ab8500_btemp *di) ...@@ -527,7 +527,7 @@ static int ab8500_btemp_id(struct ab8500_btemp *di)
dev_dbg(di->dev, "Battery detected on %s" dev_dbg(di->dev, "Battery detected on %s"
" low %d < res %d < high: %d" " low %d < res %d < high: %d"
" index: %d\n", " index: %d\n",
di->bm->adc_therm == ABx500_ADC_THERM_BATCTRL ? di->bm->adc_therm == AB8500_ADC_THERM_BATCTRL ?
"BATCTRL" : "BATTEMP", "BATCTRL" : "BATTEMP",
di->bm->bat_type[i].resis_low, res, di->bm->bat_type[i].resis_low, res,
di->bm->bat_type[i].resis_high, i); di->bm->bat_type[i].resis_high, i);
...@@ -547,7 +547,7 @@ static int ab8500_btemp_id(struct ab8500_btemp *di) ...@@ -547,7 +547,7 @@ static int ab8500_btemp_id(struct ab8500_btemp *di)
* We only have to change current source if the * We only have to change current source if the
* detected type is Type 1. * detected type is Type 1.
*/ */
if (di->bm->adc_therm == ABx500_ADC_THERM_BATCTRL && if (di->bm->adc_therm == AB8500_ADC_THERM_BATCTRL &&
di->bm->batt_id == 1) { di->bm->batt_id == 1) {
dev_dbg(di->dev, "Set BATCTRL current source to 20uA\n"); dev_dbg(di->dev, "Set BATCTRL current source to 20uA\n");
di->curr_source = BTEMP_BATCTRL_CURR_SRC_20UA; di->curr_source = BTEMP_BATCTRL_CURR_SRC_20UA;
......
...@@ -249,7 +249,7 @@ struct ab8500_chargalg { ...@@ -249,7 +249,7 @@ struct ab8500_chargalg {
struct ab8500_chargalg_suspension_status susp_status; struct ab8500_chargalg_suspension_status susp_status;
struct ab8500 *parent; struct ab8500 *parent;
struct ab8500_chargalg_current_step_status curr_status; struct ab8500_chargalg_current_step_status curr_status;
struct abx500_bm_data *bm; struct ab8500_bm_data *bm;
struct power_supply *chargalg_psy; struct power_supply *chargalg_psy;
struct ux500_charger *ac_chg; struct ux500_charger *ac_chg;
struct ux500_charger *usb_chg; struct ux500_charger *usb_chg;
......
...@@ -292,7 +292,7 @@ struct ab8500_charger { ...@@ -292,7 +292,7 @@ struct ab8500_charger {
struct iio_channel *adc_main_charger_c; struct iio_channel *adc_main_charger_c;
struct iio_channel *adc_vbus_v; struct iio_channel *adc_vbus_v;
struct iio_channel *adc_usb_charger_c; struct iio_channel *adc_usb_charger_c;
struct abx500_bm_data *bm; struct ab8500_bm_data *bm;
struct ab8500_charger_event_flags flags; struct ab8500_charger_event_flags flags;
struct ab8500_charger_usb_state usb_state; struct ab8500_charger_usb_state usb_state;
struct ab8500_charger_max_usb_in_curr max_usb_in_curr; struct ab8500_charger_max_usb_in_curr max_usb_in_curr;
......
...@@ -225,7 +225,7 @@ struct ab8500_fg { ...@@ -225,7 +225,7 @@ struct ab8500_fg {
struct ab8500_fg_avg_cap avg_cap; struct ab8500_fg_avg_cap avg_cap;
struct ab8500 *parent; struct ab8500 *parent;
struct iio_channel *main_bat_v; struct iio_channel *main_bat_v;
struct abx500_bm_data *bm; struct ab8500_bm_data *bm;
struct power_supply *fg_psy; struct power_supply *fg_psy;
struct workqueue_struct *fg_wq; struct workqueue_struct *fg_wq;
struct delayed_work fg_periodic_work; struct delayed_work fg_periodic_work;
...@@ -854,7 +854,7 @@ static int ab8500_fg_bat_voltage(struct ab8500_fg *di) ...@@ -854,7 +854,7 @@ static int ab8500_fg_bat_voltage(struct ab8500_fg *di)
static int ab8500_fg_volt_to_capacity(struct ab8500_fg *di, int voltage) static int ab8500_fg_volt_to_capacity(struct ab8500_fg *di, int voltage)
{ {
int i, tbl_size; int i, tbl_size;
const struct abx500_v_to_cap *tbl; const struct ab8500_v_to_cap *tbl;
int cap = 0; int cap = 0;
tbl = di->bm->bat_type[di->bm->batt_id].v_to_cap_tbl; tbl = di->bm->bat_type[di->bm->batt_id].v_to_cap_tbl;
...@@ -2233,7 +2233,7 @@ static int ab8500_fg_get_ext_psy_data(struct device *dev, void *data) ...@@ -2233,7 +2233,7 @@ static int ab8500_fg_get_ext_psy_data(struct device *dev, void *data)
case POWER_SUPPLY_TYPE_BATTERY: case POWER_SUPPLY_TYPE_BATTERY:
if (!di->flags.batt_id_received && if (!di->flags.batt_id_received &&
di->bm->batt_id != BATTERY_UNKNOWN) { di->bm->batt_id != BATTERY_UNKNOWN) {
const struct abx500_battery_type *b; const struct ab8500_battery_type *b;
b = &(di->bm->bat_type[di->bm->batt_id]); b = &(di->bm->bat_type[di->bm->batt_id]);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment