aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mfd
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mfd')
-rw-r--r--include/linux/mfd/abx500.h1
-rw-r--r--include/linux/mfd/abx500/ab8500-bm.h12
-rw-r--r--include/linux/mfd/abx500/ux500_chargalg.h4
3 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/mfd/abx500.h b/include/linux/mfd/abx500.h
index 188aedc322c2..cd71d8eadf50 100644
--- a/include/linux/mfd/abx500.h
+++ b/include/linux/mfd/abx500.h
@@ -267,6 +267,7 @@ struct abx500_bm_data {
267 bool autopower_cfg; 267 bool autopower_cfg;
268 bool ac_enabled; 268 bool ac_enabled;
269 bool usb_enabled; 269 bool usb_enabled;
270 bool usb_power_path;
270 bool no_maintenance; 271 bool no_maintenance;
271 bool capacity_scaling; 272 bool capacity_scaling;
272 bool chg_unknown_bat; 273 bool chg_unknown_bat;
diff --git a/include/linux/mfd/abx500/ab8500-bm.h b/include/linux/mfd/abx500/ab8500-bm.h
index a73e05a0441b..0ebf0c5d1f88 100644
--- a/include/linux/mfd/abx500/ab8500-bm.h
+++ b/include/linux/mfd/abx500/ab8500-bm.h
@@ -69,6 +69,8 @@
69#define AB8500_USBCH_CTRL1_REG 0xC0 69#define AB8500_USBCH_CTRL1_REG 0xC0
70#define AB8500_USBCH_CTRL2_REG 0xC1 70#define AB8500_USBCH_CTRL2_REG 0xC1
71#define AB8500_USBCH_IPT_CRNTLVL_REG 0xC2 71#define AB8500_USBCH_IPT_CRNTLVL_REG 0xC2
72#define AB8540_USB_PP_MODE_REG 0xC5
73#define AB8540_USB_PP_CHR_REG 0xC6
72 74
73/* 75/*
74 * Gas Gauge register offsets 76 * Gas Gauge register offsets
@@ -259,6 +261,16 @@ enum bup_vch_sel {
259#define AB8505_RTC_PCUT_RESTART_REG 0x16 261#define AB8505_RTC_PCUT_RESTART_REG 0x16
260#define AB8505_RTC_PCUT_DEBOUNCE_REG 0x17 262#define AB8505_RTC_PCUT_DEBOUNCE_REG 0x17
261 263
264/* USB Power Path constants for ab8540 */
265#define BUS_VSYS_VOL_SELECT_MASK 0x06
266#define BUS_VSYS_VOL_SELECT_3P6V 0x00
267#define BUS_VSYS_VOL_SELECT_3P325V 0x02
268#define BUS_VSYS_VOL_SELECT_3P9V 0x04
269#define BUS_VSYS_VOL_SELECT_4P3V 0x06
270#define BUS_POWER_PATH_MODE_ENA 0x01
271#define BUS_PP_PRECHG_CURRENT_MASK 0x0E
272#define BUS_POWER_PATH_PRECHG_ENA 0x01
273
262/** 274/**
263 * struct res_to_temp - defines one point in a temp to res curve. To 275 * struct res_to_temp - defines one point in a temp to res curve. To
264 * be used in battery packs that combines the identification resistor with a 276 * be used in battery packs that combines the identification resistor with a
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 {
20 int (*check_enable) (struct ux500_charger *, int, int); 20 int (*check_enable) (struct ux500_charger *, int, int);
21 int (*kick_wd) (struct ux500_charger *); 21 int (*kick_wd) (struct ux500_charger *);
22 int (*update_curr) (struct ux500_charger *, int); 22 int (*update_curr) (struct ux500_charger *, int);
23 int (*pp_enable) (struct ux500_charger *, bool);
24 int (*pre_chg_enable) (struct ux500_charger *, bool);
23}; 25};
24 26
25/** 27/**
@@ -30,6 +32,7 @@ struct ux500_charger_ops {
30 * @max_out_curr maximum output charger current in mA 32 * @max_out_curr maximum output charger current in mA
31 * @enabled indicates if this charger is used or not 33 * @enabled indicates if this charger is used or not
32 * @external external charger unit (pm2xxx) 34 * @external external charger unit (pm2xxx)
35 * @power_path USB power path support
33 */ 36 */
34struct ux500_charger { 37struct ux500_charger {
35 struct power_supply psy; 38 struct power_supply psy;
@@ -39,6 +42,7 @@ struct ux500_charger {
39 int wdt_refresh; 42 int wdt_refresh;
40 bool enabled; 43 bool enabled;
41 bool external; 44 bool external;
45 bool power_path;
42}; 46};
43 47
44extern struct blocking_notifier_head charger_notifier_list; 48extern struct blocking_notifier_head charger_notifier_list;