aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mfd
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2012-04-18 06:13:51 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2012-05-01 06:00:23 -0400
commit201cf052810d20814a77ca0e0045a2c1a3508a1f (patch)
tree6ba7526b1fd4e37dffb515b057aac16f9140b01a /include/linux/mfd
parent58d114b669d2b86aa79eac6688590c808072579b (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>
Diffstat (limited to 'include/linux/mfd')
-rw-r--r--include/linux/mfd/tps65910.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/mfd/tps65910.h b/include/linux/mfd/tps65910.h
index 1c6c2860d1a6..56903ad04283 100644
--- a/include/linux/mfd/tps65910.h
+++ b/include/linux/mfd/tps65910.h
@@ -783,6 +783,18 @@
783#define TPS65910_SLEEP_CONTROL_EXT_INPUT_EN3 0x4 783#define TPS65910_SLEEP_CONTROL_EXT_INPUT_EN3 0x4
784#define TPS65911_SLEEP_CONTROL_EXT_INPUT_SLEEP 0x8 784#define TPS65911_SLEEP_CONTROL_EXT_INPUT_SLEEP 0x8
785 785
786/*
787 * Sleep keepon data: Maintains the state in sleep mode
788 * @therm_keepon: Keep on the thermal monitoring in sleep state.
789 * @clkout32k_keepon: Keep on the 32KHz clock output in sleep state.
790 * @i2chs_keepon: Keep on high speed internal clock in sleep state.
791 */
792struct tps65910_sleep_keepon_data {
793 unsigned therm_keepon:1;
794 unsigned clkout32k_keepon:1;
795 unsigned i2chs_keepon:1;
796};
797
786/** 798/**
787 * struct tps65910_board 799 * struct tps65910_board
788 * Board platform data may be used to initialize regulators. 800 * Board platform data may be used to initialize regulators.
@@ -794,6 +806,8 @@ struct tps65910_board {
794 int irq_base; 806 int irq_base;
795 int vmbch_threshold; 807 int vmbch_threshold;
796 int vmbch2_threshold; 808 int vmbch2_threshold;
809 bool en_dev_slp;
810 struct tps65910_sleep_keepon_data *slp_keepon;
797 bool en_gpio_sleep[TPS6591X_MAX_NUM_GPIO]; 811 bool en_gpio_sleep[TPS6591X_MAX_NUM_GPIO];
798 unsigned long regulator_ext_sleep_control[TPS65910_NUM_REGS]; 812 unsigned long regulator_ext_sleep_control[TPS65910_NUM_REGS];
799 struct regulator_init_data *tps65910_pmic_init_data[TPS65910_NUM_REGS]; 813 struct regulator_init_data *tps65910_pmic_init_data[TPS65910_NUM_REGS];