mfd: Add s5m regulator operation mode
PATCH 1/2 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 Sangbeom Kim <[email protected]>
--- include/linux/mfd/s5m87xx/s5m-core.h | 1 + include/linux/mfd/s5m87xx/s5m-pmic.h | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 0 deletions(-)
include/linux/mfd/s5m87xx/s5m-core.h +1 -0
@@ -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_regulator_data *regulators; +struct s5m_opmode_data *opmode;int device_type;int num_regulators;
include/linux/mfd/s5m87xx/s5m-pmic.h +29 -0
@@ -58,6 +58,8 @@ enum s5m8767_regulators { S5M8767_REG_MAX, }; +#define S5M8767_ENCTRL_SHIFT 6 +/* S5M8763 regulator ids */ enum s5m8763_regulators {S5M8763_LDO1 ,
@@ -97,4 +99,31 @@ struct s5m_regulator_data { 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 */
Signature · 1 line
1.7.1