提交 75a429f1 编写于 作者: S Simon Glass

dm: pmic: max77686: Support all BUCK regulators

Add support for all BUCK regulators, now that the correct register is
accessed for each.
Signed-off-by: NSimon Glass <sjg@chromium.org>
上级 8c428709
...@@ -81,13 +81,15 @@ static int max77686_buck_volt2hex(int buck, int uV) ...@@ -81,13 +81,15 @@ static int max77686_buck_volt2hex(int buck, int uV)
/* hex = (uV - 600000) / 12500; */ /* hex = (uV - 600000) / 12500; */
hex = (uV - MAX77686_BUCK_UV_LMIN) / MAX77686_BUCK_UV_LSTEP; hex = (uV - MAX77686_BUCK_UV_LMIN) / MAX77686_BUCK_UV_LSTEP;
hex_max = MAX77686_BUCK234_VOLT_MAX_HEX; hex_max = MAX77686_BUCK234_VOLT_MAX_HEX;
/** break;
* Those use voltage scaller - temporary not implemented
* so return just 0
*/
return -ENOSYS;
default: 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 = (uV - MAX77686_BUCK_UV_HMIN) / MAX77686_BUCK_UV_HSTEP;
hex_max = MAX77686_BUCK_VOLT_MAX_HEX; hex_max = MAX77686_BUCK_VOLT_MAX_HEX;
break; break;
...@@ -379,11 +381,11 @@ static int max77686_buck_val(struct udevice *dev, int op, int *uV) ...@@ -379,11 +381,11 @@ static int max77686_buck_val(struct udevice *dev, int op, int *uV)
case 2: case 2:
case 3: case 3:
case 4: case 4:
/* Those use voltage scallers - will support in the future */
mask = MAX77686_BUCK234_VOLT_MASK; mask = MAX77686_BUCK234_VOLT_MASK;
return -ENOSYS; break;
default: default:
mask = MAX77686_BUCK_VOLT_MASK; mask = MAX77686_BUCK_VOLT_MASK;
break;
} }
ret = pmic_read(dev->parent, adr, &val, 1); ret = pmic_read(dev->parent, adr, &val, 1);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册