Message ID | 1438611577-2245-8-git-send-email-sjg@chromium.org |
---|---|
State | Accepted |
Delegated to: | Simon Glass |
Headers | show |
Hello Simon, On 08/03/2015 04:19 PM, Simon Glass wrote: > Add support for all BUCK regulators, now that the correct register is > accessed for each. > > Signed-off-by: Simon Glass <sjg@chromium.org> > --- > > Changes in v2: > - Add a comment about DVS in the driver > > drivers/power/regulator/max77686.c | 18 ++++++++++-------- > 1 file changed, 10 insertions(+), 8 deletions(-) > > diff --git a/drivers/power/regulator/max77686.c b/drivers/power/regulator/max77686.c > index 21173fc..946b87c 100644 > --- a/drivers/power/regulator/max77686.c > +++ b/drivers/power/regulator/max77686.c > @@ -81,13 +81,15 @@ static int max77686_buck_volt2hex(int buck, int uV) > /* hex = (uV - 600000) / 12500; */ > hex = (uV - MAX77686_BUCK_UV_LMIN) / MAX77686_BUCK_UV_LSTEP; > hex_max = MAX77686_BUCK234_VOLT_MAX_HEX; > - /** > - * Those use voltage scaller - temporary not implemented > - * so return just 0 > - */ > - return -ENOSYS; > + break; > default: > - /* hex = (uV - 750000) / 50000; */ > + /* > + * hex = (uV - 750000) / 50000. We assume that dynamic voltage > + * scaling via GPIOs is not enabled and don't support that. > + * If this is enabled then the driver will need to take that > + * into account anrd check different registers depending on and check > + * the current setting See the datasheet for details. setting. See ... snip ... Best regards,
On 3 August 2015 at 08:19, Simon Glass <sjg@chromium.org> wrote: > Add support for all BUCK regulators, now that the correct register is > accessed for each. > > Signed-off-by: Simon Glass <sjg@chromium.org> > --- > > Changes in v2: > - Add a comment about DVS in the driver > > drivers/power/regulator/max77686.c | 18 ++++++++++-------- > 1 file changed, 10 insertions(+), 8 deletions(-) Applied to u-boot-dm.
diff --git a/drivers/power/regulator/max77686.c b/drivers/power/regulator/max77686.c index 21173fc..946b87c 100644 --- a/drivers/power/regulator/max77686.c +++ b/drivers/power/regulator/max77686.c @@ -81,13 +81,15 @@ static int max77686_buck_volt2hex(int buck, int uV) /* hex = (uV - 600000) / 12500; */ hex = (uV - MAX77686_BUCK_UV_LMIN) / MAX77686_BUCK_UV_LSTEP; hex_max = MAX77686_BUCK234_VOLT_MAX_HEX; - /** - * Those use voltage scaller - temporary not implemented - * so return just 0 - */ - return -ENOSYS; + break; default: - /* hex = (uV - 750000) / 50000; */ + /* + * hex = (uV - 750000) / 50000. We assume that dynamic voltage + * scaling via GPIOs is not enabled and don't support that. + * If this is enabled then the driver will need to take that + * into account anrd check different registers depending on + * the current setting See the datasheet for details. + */ hex = (uV - MAX77686_BUCK_UV_HMIN) / MAX77686_BUCK_UV_HSTEP; hex_max = MAX77686_BUCK_VOLT_MAX_HEX; break; @@ -379,11 +381,11 @@ static int max77686_buck_val(struct udevice *dev, int op, int *uV) case 2: case 3: case 4: - /* Those use voltage scallers - will support in the future */ mask = MAX77686_BUCK234_VOLT_MASK; - return -ENOSYS; + break; default: mask = MAX77686_BUCK_VOLT_MASK; + break; } ret = pmic_read(dev->parent, adr, &val, 1);
Add support for all BUCK regulators, now that the correct register is accessed for each. Signed-off-by: Simon Glass <sjg@chromium.org> --- Changes in v2: - Add a comment about DVS in the driver drivers/power/regulator/max77686.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-)