mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 22:51:37 +00:00
power: axp209: Reduce magic values by adding defines for LDO[234]
The AXP209 has a few 'magisc-ish' values that are better served with clear defines. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> Signed-off-by: Priit Laes <plaes@plaes.org> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
This commit is contained in:
parent
f5eebc7925
commit
3f7d76a7ed
2 changed files with 20 additions and 7 deletions
|
@ -81,8 +81,7 @@ int axp_set_aldo2(unsigned int mvolt)
|
||||||
if (rc)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
/* LDO2 configuration is in upper 4 bits */
|
reg |= AXP209_LDO24_LDO2_SET(reg, cfg);
|
||||||
reg = (reg & 0x0f) | (cfg << 4);
|
|
||||||
rc = pmic_bus_write(AXP209_LDO24_VOLTAGE, reg);
|
rc = pmic_bus_write(AXP209_LDO24_VOLTAGE, reg);
|
||||||
if (rc)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
|
@ -99,10 +98,12 @@ int axp_set_aldo3(unsigned int mvolt)
|
||||||
return pmic_bus_clrbits(AXP209_OUTPUT_CTRL,
|
return pmic_bus_clrbits(AXP209_OUTPUT_CTRL,
|
||||||
AXP209_OUTPUT_CTRL_LDO3);
|
AXP209_OUTPUT_CTRL_LDO3);
|
||||||
|
|
||||||
if (mvolt == -1)
|
if (mvolt == -1) {
|
||||||
cfg = 0x80; /* determined by LDO3IN pin */
|
cfg = AXP209_LDO3_VOLTAGE_FROM_LDO3IN;
|
||||||
else
|
} else {
|
||||||
cfg = axp209_mvolt_to_cfg(mvolt, 700, 3500, 25);
|
cfg = axp209_mvolt_to_cfg(mvolt, 700, 3500, 25);
|
||||||
|
cfg = AXP209_LDO3_VOLTAGE_SET(cfg);
|
||||||
|
}
|
||||||
|
|
||||||
rc = pmic_bus_write(AXP209_LDO3_VOLTAGE, cfg);
|
rc = pmic_bus_write(AXP209_LDO3_VOLTAGE, cfg);
|
||||||
if (rc)
|
if (rc)
|
||||||
|
@ -131,8 +132,7 @@ int axp_set_aldo4(unsigned int mvolt)
|
||||||
if (rc)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
/* LDO4 configuration is in lower 4 bits */
|
reg |= AXP209_LDO24_LDO4_SET(reg, cfg);
|
||||||
reg = (reg & 0xf0) | (cfg << 0);
|
|
||||||
rc = pmic_bus_write(AXP209_LDO24_VOLTAGE, reg);
|
rc = pmic_bus_write(AXP209_LDO24_VOLTAGE, reg);
|
||||||
if (rc)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
|
@ -34,6 +34,19 @@ enum axp209_reg {
|
||||||
#define AXP209_OUTPUT_CTRL_DCDC2 BIT(4)
|
#define AXP209_OUTPUT_CTRL_DCDC2 BIT(4)
|
||||||
#define AXP209_OUTPUT_CTRL_LDO3 BIT(6)
|
#define AXP209_OUTPUT_CTRL_LDO3 BIT(6)
|
||||||
|
|
||||||
|
#define AXP209_LDO24_LDO2_MASK 0xf0
|
||||||
|
#define AXP209_LDO24_LDO4_MASK 0x0f
|
||||||
|
#define AXP209_LDO24_LDO2_SET(reg, cfg) \
|
||||||
|
(((reg) & ~AXP209_LDO24_LDO2_MASK) | \
|
||||||
|
(((cfg) << 4) & AXP209_LDO24_LDO2_MASK))
|
||||||
|
#define AXP209_LDO24_LDO4_SET(reg, cfg) \
|
||||||
|
(((reg) & ~AXP209_LDO24_LDO4_MASK) | \
|
||||||
|
(((cfg) << 0) & AXP209_LDO24_LDO4_MASK))
|
||||||
|
|
||||||
|
#define AXP209_LDO3_VOLTAGE_FROM_LDO3IN BIT(7)
|
||||||
|
#define AXP209_LDO3_VOLTAGE_MASK 0x7f
|
||||||
|
#define AXP209_LDO3_VOLTAGE_SET(x) ((x) & AXP209_LDO3_VOLTAGE_MASK)
|
||||||
|
|
||||||
#define AXP209_IRQ5_PEK_UP BIT(6)
|
#define AXP209_IRQ5_PEK_UP BIT(6)
|
||||||
#define AXP209_IRQ5_PEK_DOWN BIT(5)
|
#define AXP209_IRQ5_PEK_DOWN BIT(5)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue