summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLuke Huang <lhuang@nvidia.com>2011-05-19 10:29:51 -0700
committerNiket Sirsi <nsirsi@nvidia.com>2011-05-25 15:15:19 -0700
commite9b1e6b8c28d869822ffbaba0c456832fae7dad4 (patch)
tree828a9526f4d4d30fa80be76d5178bb42bd4fee01 /include
parent297affd79bf347eb5938ff8e8e811ecf64d58983 (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-xinclude/linux/mfd/tps6591x.h11
-rw-r--r--include/linux/regulator/tps6591x-regulator.h3
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,
};
/*