Merge remote-tracking branches 'regulator/topic/core', 'regulator/topic/regmap' and 'regulator/topic/register' into regulator-next
This commit is contained in:
@@ -250,6 +250,26 @@ enum {
|
||||
RC5T583_EXT_PWRREQ2_CONTROL = 0x2,
|
||||
};
|
||||
|
||||
enum {
|
||||
RC5T583_REGULATOR_DC0,
|
||||
RC5T583_REGULATOR_DC1,
|
||||
RC5T583_REGULATOR_DC2,
|
||||
RC5T583_REGULATOR_DC3,
|
||||
RC5T583_REGULATOR_LDO0,
|
||||
RC5T583_REGULATOR_LDO1,
|
||||
RC5T583_REGULATOR_LDO2,
|
||||
RC5T583_REGULATOR_LDO3,
|
||||
RC5T583_REGULATOR_LDO4,
|
||||
RC5T583_REGULATOR_LDO5,
|
||||
RC5T583_REGULATOR_LDO6,
|
||||
RC5T583_REGULATOR_LDO7,
|
||||
RC5T583_REGULATOR_LDO8,
|
||||
RC5T583_REGULATOR_LDO9,
|
||||
|
||||
/* Should be last entry */
|
||||
RC5T583_REGULATOR_MAX,
|
||||
};
|
||||
|
||||
struct rc5t583 {
|
||||
struct device *dev;
|
||||
struct regmap *regmap;
|
||||
@@ -273,11 +293,20 @@ struct rc5t583 {
|
||||
* The board specific data is provided through this structure.
|
||||
* @irq_base: Irq base number on which this device registers their interrupts.
|
||||
* @enable_shutdown: Enable shutdown through the input pin "shutdown".
|
||||
* @regulator_deepsleep_slot: The slot number on which device goes to sleep
|
||||
* in device sleep mode.
|
||||
* @regulator_ext_pwr_control: External power request regulator control. The
|
||||
* regulator output enable/disable is controlled by the external
|
||||
* power request input state.
|
||||
* @reg_init_data: Regulator init data.
|
||||
*/
|
||||
|
||||
struct rc5t583_platform_data {
|
||||
int irq_base;
|
||||
bool enable_shutdown;
|
||||
int regulator_deepsleep_slot[RC5T583_REGULATOR_MAX];
|
||||
unsigned long regulator_ext_pwr_control[RC5T583_REGULATOR_MAX];
|
||||
struct regulator_init_data *reg_init_data[RC5T583_REGULATOR_MAX];
|
||||
};
|
||||
|
||||
static inline int rc5t583_write(struct device *dev, uint8_t reg, uint8_t val)
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -22,6 +22,19 @@
|
||||
#ifndef __LINUX_MFD_TPS65090_H
|
||||
#define __LINUX_MFD_TPS65090_H
|
||||
|
||||
#include <linux/irq.h>
|
||||
|
||||
struct tps65090 {
|
||||
struct mutex lock;
|
||||
struct device *dev;
|
||||
struct i2c_client *client;
|
||||
struct regmap *rmap;
|
||||
struct irq_chip irq_chip;
|
||||
struct mutex irq_lock;
|
||||
int irq_base;
|
||||
unsigned int id;
|
||||
};
|
||||
|
||||
struct tps65090_subdev_info {
|
||||
int id;
|
||||
const char *name;
|
||||
|
||||
Reference in New Issue
Block a user