summaryrefslogtreecommitdiff
path: root/include/linux/mfd/abx500/ux500_chargalg.h
diff options
context:
space:
mode:
authorLee Jones <lee.jones@linaro.org>2013-02-14 16:39:15 +0400
committerLee Jones <lee.jones@linaro.org>2013-03-07 08:35:46 +0400
commitdb43e6c473b57d4e7a55c4bd6edef71f40f13eae (patch)
tree0fbe4762c914ba15898cf8bcb9bd8e531fe8fc31 /include/linux/mfd/abx500/ux500_chargalg.h
parent405fea1c6691eb8259f2ca879c9348a4cf5d898d (diff)
downloadlinux-db43e6c473b57d4e7a55c4bd6edef71f40f13eae.tar.xz
ab8500-bm: Add usb power path support
AB8540 supports power path function in USB charging mode for fast power up with dead and weak battery, and it could extend the battery age. When USB charging starts, if the Vbattrue is below than SW cut off voltage, power path and pre-charge should be enabled. If Vbattrue is higher than SW cut off voltage, power path and pre-charge should be disabled. This is to make sure full current to battery charge. At the end of charge, power path should be enable again to reduce charging the battery again. Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'include/linux/mfd/abx500/ux500_chargalg.h')
-rw-r--r--include/linux/mfd/abx500/ux500_chargalg.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/mfd/abx500/ux500_chargalg.h b/include/linux/mfd/abx500/ux500_chargalg.h
index fa831f1e8cf8..234c99143bf7 100644
--- a/include/linux/mfd/abx500/ux500_chargalg.h
+++ b/include/linux/mfd/abx500/ux500_chargalg.h
@@ -20,6 +20,8 @@ struct ux500_charger_ops {
int (*check_enable) (struct ux500_charger *, int, int);
int (*kick_wd) (struct ux500_charger *);
int (*update_curr) (struct ux500_charger *, int);
+ int (*pp_enable) (struct ux500_charger *, bool);
+ int (*pre_chg_enable) (struct ux500_charger *, bool);
};
/**
@@ -30,6 +32,7 @@ struct ux500_charger_ops {
* @max_out_curr maximum output charger current in mA
* @enabled indicates if this charger is used or not
* @external external charger unit (pm2xxx)
+ * @power_path USB power path support
*/
struct ux500_charger {
struct power_supply psy;
@@ -39,6 +42,7 @@ struct ux500_charger {
int wdt_refresh;
bool enabled;
bool external;
+ bool power_path;
};
extern struct blocking_notifier_head charger_notifier_list;