power: regulator: s2mps11: add a regulator driver for s2mps11
exynos5422 has the s2mps11 PMIC. s2mps11 pmic has the 10-BUCK and 38-LDO regulators. Each IP and devices in exynos5422 can be controlled by each regulators. This patch is support for s2mps11 regulator driver. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Anand Moon <linux.amoon@gmail.com>
This commit is contained in:
@@ -106,4 +106,59 @@ enum s2mps11_reg {
|
||||
|
||||
#define S2MPS11_LDO26_ENABLE 0xec
|
||||
|
||||
#define S2MPS11_LDO_NUM 26
|
||||
#define S2MPS11_BUCK_NUM 10
|
||||
|
||||
/* Driver name */
|
||||
#define S2MPS11_BUCK_DRIVER "s2mps11_buck"
|
||||
#define S2MPS11_OF_BUCK_PREFIX "BUCK"
|
||||
#define S2MPS11_LDO_DRIVER "s2mps11_ldo"
|
||||
#define S2MPS11_OF_LDO_PREFIX "LDO"
|
||||
|
||||
/* BUCK */
|
||||
#define S2MPS11_BUCK_VOLT_MASK 0xff
|
||||
#define S2MPS11_BUCK9_VOLT_MASK 0x1f
|
||||
|
||||
#define S2MPS11_BUCK_LSTEP 6250
|
||||
#define S2MPS11_BUCK_HSTEP 12500
|
||||
#define S2MPS11_BUCK9_STEP 25000
|
||||
|
||||
#define S2MPS11_BUCK_UV_MIN 600000
|
||||
#define S2MPS11_BUCK_UV_HMIN 750000
|
||||
#define S2MPS11_BUCK9_UV_MIN 1400000
|
||||
|
||||
#define S2MPS11_BUCK_VOLT_MAX_HEX 0xA0
|
||||
#define S2MPS11_BUCK5_VOLT_MAX_HEX 0xDF
|
||||
#define S2MPS11_BUCK7_8_10_VOLT_MAX_HEX 0xDC
|
||||
#define S2MPS11_BUCK9_VOLT_MAX_HEX 0x5F
|
||||
|
||||
#define S2MPS11_BUCK_MODE_SHIFT 6
|
||||
#define S2MPS11_BUCK_MODE_MASK (0x3)
|
||||
#define S2MPS11_BUCK_MODE_OFF (0x0 << 6)
|
||||
#define S2MPS11_BUCK_MODE_STANDBY (0x1 << 6)
|
||||
#define S2MPS11_BUCK_MODE_ON (0x3 << 6)
|
||||
|
||||
/* LDO */
|
||||
#define S2MPS11_LDO_VOLT_MASK 0x3F
|
||||
#define S2MPS11_LDO_VOLT_MAX_HEX 0x3F
|
||||
|
||||
#define S2MPS11_LDO_STEP 25000
|
||||
#define S2MPS11_LDO_UV_MIN 800000
|
||||
|
||||
#define S2MPS11_LDO_MODE_MASK 0x3
|
||||
#define S2MPS11_LDO_MODE_SHIFT 6
|
||||
|
||||
#define S2MPS11_LDO_MODE_OFF (0x0 << 6)
|
||||
#define S2MPS11_LDO_MODE_STANDBY (0x1 << 6)
|
||||
#define S2MPS11_LDO_MODE_STANDBY_LPM (0x2 << 6)
|
||||
#define S2MPS11_LDO_MODE_ON (0x3 << 6)
|
||||
|
||||
enum {
|
||||
OP_OFF = 0,
|
||||
OP_LPM,
|
||||
OP_STANDBY,
|
||||
OP_STANDBY_LPM,
|
||||
OP_ON,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user