Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit faa3b2d5 authored by Laxman Dewangan's avatar Laxman Dewangan Committed by Mark Brown
Browse files

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: default avatarLaxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent a49f0d1e
Loading
Loading
Loading
Loading
+36 −5
Original line number Original line Diff line number Diff line
@@ -205,18 +205,49 @@ skip_pwm_config:
	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;
	}
}

static bool is_read_reg(struct device *dev, unsigned int reg)
{
	switch (reg) {
	case 0x08 ... 0x0F:
		return false;
	default:
		return true;
		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,
};
};