diff options
| -rw-r--r-- | drivers/power/pmic/pmic_max8997.c | 16 | ||||
| -rw-r--r-- | include/power/max8997_pmic.h | 2 | 
2 files changed, 18 insertions, 0 deletions
| diff --git a/drivers/power/pmic/pmic_max8997.c b/drivers/power/pmic/pmic_max8997.c index 7fe1b53ff..2e46884dd 100644 --- a/drivers/power/pmic/pmic_max8997.c +++ b/drivers/power/pmic/pmic_max8997.c @@ -27,6 +27,22 @@  #include <i2c.h>  #include <errno.h> +unsigned char max8997_reg_ldo(int uV) +{ +	unsigned char ret; +	if (uV <= 800000) +		return 0; +	if (uV >= 3950000) +		return MAX8997_LDO_MAX_VAL; +	ret = (uV - 800000) / 50000; +	if (ret > MAX8997_LDO_MAX_VAL) { +		printf("MAX8997 LDO SETTING ERROR (%duV) -> %u\n", uV, ret); +		ret = MAX8997_LDO_MAX_VAL; +	} + +	return ret; +} +  int pmic_init(unsigned char bus)  {  	static const char name[] = "MAX8997_PMIC"; diff --git a/include/power/max8997_pmic.h b/include/power/max8997_pmic.h index 1db7deb3b..03cac041f 100644 --- a/include/power/max8997_pmic.h +++ b/include/power/max8997_pmic.h @@ -200,4 +200,6 @@ enum {  	EN_LDO = (0x3 << 6),  }; +#define MAX8997_LDO_MAX_VAL 0x3F +unsigned char max8997_reg_ldo(int uV);  #endif /* __MAX8997_PMIC_H_ */ |