Commit 62fe8cd5 authored by Sangbeom Kim's avatar Sangbeom Kim Committed by Mark Brown

mfd: Add s5m regulator operation mode

This patch add variables for opmode of s5m series.
S5M series have 4 operation modes.
Off mode is always regulator off mode.
On mode is always regulator on mode.
Lowpower mode is that regualtor operate in low-power.
Suspend mode is that regulator operation depends on AP suspend mode.
Signed-off-by: default avatarSangbeom Kim <sbkim73@samsung.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent dd775ae2
...@@ -335,6 +335,7 @@ extern int s5m_reg_update(struct s5m87xx_dev *s5m87xx, u8 reg, u8 val, u8 mask); ...@@ -335,6 +335,7 @@ extern int s5m_reg_update(struct s5m87xx_dev *s5m87xx, u8 reg, u8 val, u8 mask);
struct s5m_platform_data { struct s5m_platform_data {
struct s5m_regulator_data *regulators; struct s5m_regulator_data *regulators;
struct s5m_opmode_data *opmode;
int device_type; int device_type;
int num_regulators; int num_regulators;
......
...@@ -58,6 +58,8 @@ enum s5m8767_regulators { ...@@ -58,6 +58,8 @@ enum s5m8767_regulators {
S5M8767_REG_MAX, S5M8767_REG_MAX,
}; };
#define S5M8767_ENCTRL_SHIFT 6
/* S5M8763 regulator ids */ /* S5M8763 regulator ids */
enum s5m8763_regulators { enum s5m8763_regulators {
S5M8763_LDO1, S5M8763_LDO1,
...@@ -97,4 +99,31 @@ struct s5m_regulator_data { ...@@ -97,4 +99,31 @@ struct s5m_regulator_data {
struct regulator_init_data *initdata; struct regulator_init_data *initdata;
}; };
/*
* s5m_opmode_data - regulator operation mode data
* @id: regulator id
* @mode: regulator operation mode
*/
struct s5m_opmode_data {
int id;
int mode;
};
/*
* s5m regulator operation mode
* S5M_OPMODE_OFF Regulator always OFF
* S5M_OPMODE_ON Regulator always ON
* S5M_OPMODE_LOWPOWER Regulator is on in low-power mode
* S5M_OPMODE_SUSPEND Regulator is changed by PWREN pin
* If PWREN is high, regulator is on
* If PWREN is low, regulator is off
*/
enum s5m_opmode {
S5M_OPMODE_OFF,
S5M_OPMODE_ON,
S5M_OPMODE_LOWPOWER,
S5M_OPMODE_SUSPEND,
};
#endif /* __LINUX_MFD_S5M_PMIC_H */ #endif /* __LINUX_MFD_S5M_PMIC_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment