Skip to content

Commit

Permalink
regulator: s2mps11: Add support S2MPU02 regulator device
Browse files Browse the repository at this point in the history
This patch add S2MPU02 regulator device to existing S2MPS11 device driver
because of little difference between S2MPS1x and S2MPU02. The S2MPU02
regulator device includes LDO[1-28] and BUCK[1-7].

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
[Add missing linear_min_sel of S2MPU02 LDO regulators by Jonghwa Lee]
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Mark Brown <broonie@linaro.org>
Acked-by: Lee Jones <lee.jones@linaro.org>

Signed-off-by: Lee Jones <lee.jones@linaro.org>
  • Loading branch information
Chanwoo Choi authored and Lee Jones committed Jul 9, 2014
1 parent 54e8827 commit 00e2573
Show file tree
Hide file tree
Showing 2 changed files with 325 additions and 21 deletions.
25 changes: 25 additions & 0 deletions drivers/mfd/sec-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include <linux/mfd/samsung/s2mpa01.h>
#include <linux/mfd/samsung/s2mps11.h>
#include <linux/mfd/samsung/s2mps14.h>
#include <linux/mfd/samsung/s2mpu02.h>
#include <linux/mfd/samsung/s5m8763.h>
#include <linux/mfd/samsung/s5m8767.h>
#include <linux/regmap.h>
Expand Down Expand Up @@ -144,6 +145,18 @@ static bool s2mps11_volatile(struct device *dev, unsigned int reg)
}
}

static bool s2mpu02_volatile(struct device *dev, unsigned int reg)
{
switch (reg) {
case S2MPU02_REG_INT1M:
case S2MPU02_REG_INT2M:
case S2MPU02_REG_INT3M:
return false;
default:
return true;
}
}

static bool s5m8763_volatile(struct device *dev, unsigned int reg)
{
switch (reg) {
Expand Down Expand Up @@ -189,6 +202,15 @@ static const struct regmap_config s2mps14_regmap_config = {
.cache_type = REGCACHE_FLAT,
};

static const struct regmap_config s2mpu02_regmap_config = {
.reg_bits = 8,
.val_bits = 8,

.max_register = S2MPU02_REG_DVSDATA,
.volatile_reg = s2mpu02_volatile,
.cache_type = REGCACHE_FLAT,
};

static const struct regmap_config s5m8763_regmap_config = {
.reg_bits = 8,
.val_bits = 8,
Expand Down Expand Up @@ -310,6 +332,9 @@ static int sec_pmic_probe(struct i2c_client *i2c,
case S5M8767X:
regmap = &s5m8767_regmap_config;
break;
case S2MPU02:
regmap = &s2mpu02_regmap_config;
break;
default:
regmap = &sec_regmap_config;
break;
Expand Down
Loading

0 comments on commit 00e2573

Please sign in to comment.