提交 faa3b2d5 编写于 作者: L Laxman Dewangan 提交者: Mark Brown

regulator: tps51632: add register property for regmap

All TPS51632 registers are not readable/writable and
non-volatiles.

Add property of the registers whether it is readable/writable
or volatile for regmap framework.
Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
上级 a49f0d1e
...@@ -205,18 +205,49 @@ static int tps51632_init_dcdc(struct tps51632_chip *tps, ...@@ -205,18 +205,49 @@ static int tps51632_init_dcdc(struct tps51632_chip *tps,
return ret; return ret;
} }
static bool rd_wr_reg(struct device *dev, unsigned int reg) static bool is_volatile_reg(struct device *dev, unsigned int reg)
{ {
if ((reg >= 0x8) && (reg <= 0x10)) switch (reg) {
case TPS51632_OFFSET_REG:
case TPS51632_FAULT_REG:
case TPS51632_IMON_REG:
return true;
default:
return false; return false;
return true; }
}
static bool is_read_reg(struct device *dev, unsigned int reg)
{
switch (reg) {
case 0x08 ... 0x0F:
return false;
default:
return true;
}
}
static bool is_write_reg(struct device *dev, unsigned int reg)
{
switch (reg) {
case TPS51632_VOLTAGE_SELECT_REG:
case TPS51632_VOLTAGE_BASE_REG:
case TPS51632_VMAX_REG:
case TPS51632_DVFS_CONTROL_REG:
case TPS51632_POWER_STATE_REG:
case TPS51632_SLEW_REGS:
return true;
default:
return false;
}
} }
static const struct regmap_config tps51632_regmap_config = { static const struct regmap_config tps51632_regmap_config = {
.reg_bits = 8, .reg_bits = 8,
.val_bits = 8, .val_bits = 8,
.writeable_reg = rd_wr_reg, .writeable_reg = is_write_reg,
.readable_reg = rd_wr_reg, .readable_reg = is_read_reg,
.volatile_reg = is_volatile_reg,
.max_register = TPS51632_MAX_REG - 1, .max_register = TPS51632_MAX_REG - 1,
.cache_type = REGCACHE_RBTREE, .cache_type = REGCACHE_RBTREE,
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册