diff options
author | Luke Huang <lhuang@nvidia.com> | 2011-05-19 10:29:51 -0700 |
---|---|---|
committer | Niket Sirsi <nsirsi@nvidia.com> | 2011-05-25 15:15:19 -0700 |
commit | e9b1e6b8c28d869822ffbaba0c456832fae7dad4 (patch) | |
tree | 828a9526f4d4d30fa80be76d5178bb42bd4fee01 /include | |
parent | 297affd79bf347eb5938ff8e8e811ecf64d58983 (diff) |
driver:regulator: tps6591x: sleep mode support
Adding controls for the following items
1. PMU SLEEP state enable/disable
2. Keep 32KHz clock out on sleep mode
3. Keep thermal monitor on sleep mode
4. Keep LDO full load capability on sleep mode
5. Keep high speed internal clock on sleep mode
3. Turn off power rails on sleep mode
Change-Id: I389bca4a4d7ff9ae264727af8e93dcec796d3c0c
Reviewed-on: http://git-master/r/32222
Reviewed-by: Scott Williams <scwilliams@nvidia.com>
Tested-by: Chih-Lung Huang <lhuang@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Diffstat (limited to 'include')
-rwxr-xr-x | include/linux/mfd/tps6591x.h | 11 | ||||
-rw-r--r-- | include/linux/regulator/tps6591x-regulator.h | 3 |
2 files changed, 13 insertions, 1 deletions
diff --git a/include/linux/mfd/tps6591x.h b/include/linux/mfd/tps6591x.h index 2aaaef941232..ac6527491610 100755 --- a/include/linux/mfd/tps6591x.h +++ b/include/linux/mfd/tps6591x.h @@ -80,12 +80,23 @@ struct tps6591x_rtc_platform_data { struct rtc_time time; }; +struct tps6591x_sleep_keepon_data { + /* set 1 to maintain the following on sleep mode */ + unsigned therm_keepon:1; /* themal monitoring */ + unsigned clkout32k_keepon:1; /* CLK32KOUT */ + unsigned vrtc_keepon:1; /* LD0 full load capability */ + unsigned i2chs_keepon:1; /* high speed internal clock */ +}; + struct tps6591x_platform_data { int num_subdevs; struct tps6591x_subdev_info *subdevs; int gpio_base; int irq_base; + + bool dev_slp_en; + struct tps6591x_sleep_keepon_data *slp_keepon; }; /* diff --git a/include/linux/regulator/tps6591x-regulator.h b/include/linux/regulator/tps6591x-regulator.h index 970736bc5c31..8d2801bbcf17 100644 --- a/include/linux/regulator/tps6591x-regulator.h +++ b/include/linux/regulator/tps6591x-regulator.h @@ -29,7 +29,8 @@ enum tps6591x_ext_control { EXT_CTRL_NONE = 0x0, EXT_CTRL_EN1, - EXT_CTRL_EN2 + EXT_CTRL_EN2, + EXT_CTRL_SLEEP_OFF, }; /* |