diff options
author | Laxman Dewangan <ldewangan@nvidia.com> | 2012-04-18 12:13:51 +0200 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-06-04 14:21:00 -0700 |
commit | 5650a157b1255dd53784a71d41946810a92ef804 (patch) | |
tree | 43867998f5ab82c0ba4dda6d046088c56514722a /include/linux/mfd | |
parent | 40721853b55aeeb61d35227c40d4a7ed64dbdc6d (diff) |
mfd: Add support for tps65910 device sleep
Adding support for device sleep through the external input control
signal "SLEEP".
Changing the SLEEP signal state can switch the device into SLEEP and
ACTIVE state.
Also adding sleep configuration for different resources so that they
should be keep on during sleep state of device.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
(Cherry-picked from mainline
201cf052810d20814a77ca0e0045a2c1a3508a1f)
Change-Id: Iec18bfcc7a1df6442e833dccaa1d39407918f710
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/105920
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'include/linux/mfd')
-rw-r--r-- | include/linux/mfd/tps65910.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/mfd/tps65910.h b/include/linux/mfd/tps65910.h index f6021cc9d911..4ead99035606 100644 --- a/include/linux/mfd/tps65910.h +++ b/include/linux/mfd/tps65910.h @@ -781,6 +781,18 @@ #define TPS65910_SLEEP_CONTROL_EXT_INPUT_EN3 0x4 #define TPS65911_SLEEP_CONTROL_EXT_INPUT_SLEEP 0x8 +/* + * Sleep keepon data: Maintains the state in sleep mode + * @therm_keepon: Keep on the thermal monitoring in sleep state. + * @clkout32k_keepon: Keep on the 32KHz clock output in sleep state. + * @i2chs_keepon: Keep on high speed internal clock in sleep state. + */ +struct tps65910_sleep_keepon_data { + unsigned therm_keepon:1; + unsigned clkout32k_keepon:1; + unsigned i2chs_keepon:1; +}; + /** * struct tps65910_board * Board platform data may be used to initialize regulators. @@ -792,6 +804,8 @@ struct tps65910_board { int irq_base; int vmbch_threshold; int vmbch2_threshold; + bool en_dev_slp; + struct tps65910_sleep_keepon_data *slp_keepon; unsigned long regulator_ext_sleep_control[TPS65910_NUM_REGS]; bool en_gpio_sleep[TPS6591X_MAX_NUM_GPIO]; struct regulator_init_data *tps65910_pmic_init_data[TPS65910_NUM_REGS]; |