diff mbox

[U-Boot,v2,07/19] dm: pmic: max77686: Support all BUCK regulators

Message ID 1438611577-2245-8-git-send-email-sjg@chromium.org
State Accepted
Delegated to: Simon Glass
Headers show

Commit Message

Simon Glass Aug. 3, 2015, 2:19 p.m. UTC
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(-)

Comments

Przemyslaw Marczak Aug. 5, 2015, 2:16 p.m. UTC | #1
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,
Simon Glass Aug. 9, 2015, 3:05 p.m. UTC | #2
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 mbox

Patch

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);