summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2011-11-07 11:26:26 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:50:02 -0800
commita396e6acb0f8ca9208fec36b189d581b8955dd6a (patch)
treeeb5b299edd5d8d77eb35093f9f41afa8131cfdb5 /include
parentac08b2e8e9f720042de76a3664e84009a55743e9 (diff)
mfd: ricoh583: Move sleep configuration to core driver
Moving the sleep sequence configuration for the pmu from regulator driver to core driver so that other than power rails, gpio can also use these APIs. Reviewed-on: http://git-master/r/62901 (cherry picked from commit 7c2817b42785302c3d9a779c817f70163fabee71) Change-Id: I9b8584cfd507b34596eee41e9ea799df76c26e5f Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/64098 Rebase-Id: R5a6aead9fdda64bf26c0d59a17f794177e82b640
Diffstat (limited to 'include')
-rw-r--r--include/linux/mfd/ricoh583.h34
-rw-r--r--include/linux/regulator/ricoh583-regulator.h6
2 files changed, 35 insertions, 5 deletions
diff --git a/include/linux/mfd/ricoh583.h b/include/linux/mfd/ricoh583.h
index e420bc9a57cd..db1099e4cf57 100644
--- a/include/linux/mfd/ricoh583.h
+++ b/include/linux/mfd/ricoh583.h
@@ -85,6 +85,36 @@ enum {
RICOH583_NR_GPIO,
};
+enum ricoh583_deepsleep_control_id {
+ RICOH583_DS_NONE,
+ RICOH583_DS_DC0,
+ RICOH583_DS_DC1,
+ RICOH583_DS_DC2,
+ RICOH583_DS_DC3,
+ RICOH583_DS_LDO0,
+ RICOH583_DS_LDO1,
+ RICOH583_DS_LDO2,
+ RICOH583_DS_LDO3,
+ RICOH583_DS_LDO4,
+ RICOH583_DS_LDO5,
+ RICOH583_DS_LDO6,
+ RICOH583_DS_LDO7,
+ RICOH583_DS_LDO8,
+ RICOH583_DS_LDO9,
+ RICOH583_DS_PSO0,
+ RICOH583_DS_PSO1,
+ RICOH583_DS_PSO2,
+ RICOH583_DS_PSO3,
+ RICOH583_DS_PSO4,
+ RICOH583_DS_PSO5,
+ RICOH583_DS_PSO6,
+ RICOH583_DS_PSO7,
+};
+enum ricoh583_ext_pwrreq_control {
+ RICOH583_EXT_PWRREQ1_CONTROL = 0x1,
+ RICOH583_EXT_PWRREQ2_CONTROL = 0x2,
+};
+
struct ricoh583_subdev_info {
int id;
const char *name;
@@ -122,6 +152,10 @@ extern int ricoh583_set_bits(struct device *dev, u8 reg, uint8_t bit_mask);
extern int ricoh583_clr_bits(struct device *dev, u8 reg, uint8_t bit_mask);
extern int ricoh583_update(struct device *dev, u8 reg, uint8_t val,
uint8_t mask);
+extern int ricoh583_ext_power_req_config(struct device *dev,
+ enum ricoh583_deepsleep_control_id control_id,
+ enum ricoh583_ext_pwrreq_control ext_pwr_req,
+ int deepsleep_slot_nr);
extern int ricoh583_power_off(void);
#endif
diff --git a/include/linux/regulator/ricoh583-regulator.h b/include/linux/regulator/ricoh583-regulator.h
index 71990b86a2b6..39fdb9e56e05 100644
--- a/include/linux/regulator/ricoh583-regulator.h
+++ b/include/linux/regulator/ricoh583-regulator.h
@@ -49,11 +49,6 @@ enum regulator_id {
RICOH583_ID_LDO9,
};
-enum ext_control {
- EXT_PWRREQ1_CONTROL = 0x1,
- EXT_PWRREQ2_CONTROL = 0x2,
-};
-
struct ricoh583_regulator_platform_data {
struct regulator_init_data regulator;
int init_uV;
@@ -61,6 +56,7 @@ struct ricoh583_regulator_platform_data {
unsigned init_apply:1;
int deepsleep_uV;
int deepsleep_slots;
+ unsigned long ext_pwr_req;
unsigned long flags;
};