Add support for all BUCK regulators, now that the correct register is
accessed for each.
Signed-off-by: Simon Glass <sjg@chromium.org>
/* hex = (uV - 600000) / 12500; */
hex = (uV - MAX77686_BUCK_UV_LMIN) / MAX77686_BUCK_UV_LSTEP;
hex_max = MAX77686_BUCK234_VOLT_MAX_HEX;
/* 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;
- /* 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;
hex = (uV - MAX77686_BUCK_UV_HMIN) / MAX77686_BUCK_UV_HSTEP;
hex_max = MAX77686_BUCK_VOLT_MAX_HEX;
break;
- /* Those use voltage scallers - will support in the future */
mask = MAX77686_BUCK234_VOLT_MASK;
mask = MAX77686_BUCK234_VOLT_MASK;
default:
mask = MAX77686_BUCK_VOLT_MASK;
default:
mask = MAX77686_BUCK_VOLT_MASK;
}
ret = pmic_read(dev->parent, adr, &val, 1);
}
ret = pmic_read(dev->parent, adr, &val, 1);