mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-16 18:04:48 +00:00
power: regulator: add AXP313 support
The X-Powers AXP313a is a small PMIC with just three buck converters and three LDOs, one of which is actually fixed (so not modelled here). Add the compatible string and the respective regulator ranges to allow drivers to adjust voltages. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
This commit is contained in:
parent
d17d051c54
commit
fafedff350
3 changed files with 19 additions and 0 deletions
|
@ -87,6 +87,7 @@ static const struct udevice_id axp_pmic_ids[] = {
|
|||
{ .compatible = "x-powers,axp209", .data = AXP209_ID },
|
||||
{ .compatible = "x-powers,axp221", .data = AXP221_ID },
|
||||
{ .compatible = "x-powers,axp223", .data = AXP223_ID },
|
||||
{ .compatible = "x-powers,axp313a", .data = AXP313_ID },
|
||||
{ .compatible = "x-powers,axp803", .data = AXP803_ID },
|
||||
{ .compatible = "x-powers,axp806", .data = AXP806_ID },
|
||||
{ .compatible = "x-powers,axp809", .data = AXP809_ID },
|
||||
|
|
|
@ -173,6 +173,22 @@ static const struct axp_regulator_plat axp22x_regulators[] = {
|
|||
{ }
|
||||
};
|
||||
|
||||
/*
|
||||
* The "dcdc1" regulator has another range, beyond 1.54V up to 3.4V, in
|
||||
* steps of 100mV. We cannot model this easily, but also don't need that,
|
||||
* since it's typically only used for ~1.1V anyway, so just ignore it.
|
||||
* Also the DCDC3 regulator is described wrongly in the (available) manual,
|
||||
* experiments show that the split point is at 1200mV, as for DCDC1/2.
|
||||
*/
|
||||
static const struct axp_regulator_plat axp313_regulators[] = {
|
||||
{ "dcdc1", 0x10, BIT(0), 0x13, 0x7f, 500, 1540, 10, 70 },
|
||||
{ "dcdc2", 0x10, BIT(1), 0x14, 0x7f, 500, 1540, 10, 70 },
|
||||
{ "dcdc3", 0x10, BIT(2), 0x15, 0x7f, 500, 1840, 10, 70 },
|
||||
{ "aldo1", 0x10, BIT(3), 0x16, 0x1f, 500, 3500, 100, NA },
|
||||
{ "dldo1", 0x10, BIT(4), 0x17, 0x1f, 500, 3500, 100, NA },
|
||||
{ }
|
||||
};
|
||||
|
||||
static const struct axp_regulator_plat axp803_regulators[] = {
|
||||
{ "dcdc1", 0x10, BIT(0), 0x20, 0x1f, 1600, 3400, 100, NA },
|
||||
{ "dcdc2", 0x10, BIT(1), 0x21, 0x7f, 500, 1300, 10, 70 },
|
||||
|
@ -274,6 +290,7 @@ static const struct axp_regulator_plat *const axp_regulators[] = {
|
|||
[AXP209_ID] = axp20x_regulators,
|
||||
[AXP221_ID] = axp22x_regulators,
|
||||
[AXP223_ID] = axp22x_regulators,
|
||||
[AXP313_ID] = axp313_regulators,
|
||||
[AXP803_ID] = axp803_regulators,
|
||||
[AXP806_ID] = axp806_regulators,
|
||||
[AXP809_ID] = axp809_regulators,
|
||||
|
|
|
@ -32,6 +32,7 @@ enum {
|
|||
AXP209_ID,
|
||||
AXP221_ID,
|
||||
AXP223_ID,
|
||||
AXP313_ID,
|
||||
AXP803_ID,
|
||||
AXP806_ID,
|
||||
AXP809_ID,
|
||||
|
|
Loading…
Add table
Reference in a new issue