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

Commit 889cd5a6 authored by Lukasz Majewski's avatar Lukasz Majewski Committed by Samuel Ortiz
Browse files

regulator: max8998 BUCK1/2 internal voltages and indexes defined



BUCK1/2 internal voltages and indexes defined in the struct max8998_data
max_get_voltage_register now uses index values to chose proper register
More generic BUCK1/2 registers names provided

Signed-off-by: default avatarLukasz Majewski <l.majewski@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Acked-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 509bd476
Loading
Loading
Loading
Loading
+8 −2
Original line number Original line Diff line number Diff line
@@ -39,6 +39,11 @@ struct max8998_data {
	struct max8998_dev	*iodev;
	struct max8998_dev	*iodev;
	int			num_regulators;
	int			num_regulators;
	struct regulator_dev	**rdev;
	struct regulator_dev	**rdev;
	u8                      buck1_vol[4]; /* voltages for selection */
	u8                      buck2_vol[2];
	unsigned int		buck1_idx; /* index to last changed voltage */
					   /* value in a set */
	unsigned int		buck2_idx;
};
};


struct voltage_map_desc {
struct voltage_map_desc {
@@ -218,6 +223,7 @@ static int max8998_get_voltage_register(struct regulator_dev *rdev,
				int *_reg, int *_shift, int *_mask)
				int *_reg, int *_shift, int *_mask)
{
{
	int ldo = max8998_get_ldo(rdev);
	int ldo = max8998_get_ldo(rdev);
	struct max8998_data *max8998 = rdev_get_drvdata(rdev);
	int reg, shift = 0, mask = 0xff;
	int reg, shift = 0, mask = 0xff;


	switch (ldo) {
	switch (ldo) {
@@ -254,10 +260,10 @@ static int max8998_get_voltage_register(struct regulator_dev *rdev,
		reg = MAX8998_REG_LDO12 + (ldo - MAX8998_LDO12);
		reg = MAX8998_REG_LDO12 + (ldo - MAX8998_LDO12);
		break;
		break;
	case MAX8998_BUCK1:
	case MAX8998_BUCK1:
		reg = MAX8998_REG_BUCK1_DVSARM1;
		reg = MAX8998_REG_BUCK1_VOLTAGE1 + max8998->buck1_idx;
		break;
		break;
	case MAX8998_BUCK2:
	case MAX8998_BUCK2:
		reg = MAX8998_REG_BUCK2_DVSINT1;
		reg = MAX8998_REG_BUCK2_VOLTAGE1 + max8998->buck2_idx;
		break;
		break;
	case MAX8998_BUCK3:
	case MAX8998_BUCK3:
		reg = MAX8998_REG_BUCK3;
		reg = MAX8998_REG_BUCK3;
+6 −6
Original line number Original line Diff line number Diff line
@@ -48,12 +48,12 @@ enum {
	MAX8998_REG_ONOFF2,
	MAX8998_REG_ONOFF2,
	MAX8998_REG_ONOFF3,
	MAX8998_REG_ONOFF3,
	MAX8998_REG_ONOFF4,
	MAX8998_REG_ONOFF4,
	MAX8998_REG_BUCK1_DVSARM1,
	MAX8998_REG_BUCK1_VOLTAGE1,
	MAX8998_REG_BUCK1_DVSARM2,
	MAX8998_REG_BUCK1_VOLTAGE2,
	MAX8998_REG_BUCK1_DVSARM3,
	MAX8998_REG_BUCK1_VOLTAGE3,
	MAX8998_REG_BUCK1_DVSARM4,
	MAX8998_REG_BUCK1_VOLTAGE4,
	MAX8998_REG_BUCK2_DVSINT1,
	MAX8998_REG_BUCK2_VOLTAGE1,
	MAX8998_REG_BUCK2_DVSINT2,
	MAX8998_REG_BUCK2_VOLTAGE2,
	MAX8998_REG_BUCK3,
	MAX8998_REG_BUCK3,
	MAX8998_REG_BUCK4,
	MAX8998_REG_BUCK4,
	MAX8998_REG_LDO2_LDO3,
	MAX8998_REG_LDO2_LDO3,