]> git.dujemihanovic.xyz Git - u-boot.git/commit
power: pmic: sunxi: introduce generic SPL AXP DC/DC driver
authorAndre Przywara <andre.przywara@arm.com>
Mon, 13 May 2024 21:55:07 +0000 (22:55 +0100)
committerAndre Przywara <andre.przywara@arm.com>
Mon, 15 Jul 2024 17:11:13 +0000 (18:11 +0100)
commit5e8af847215969d8675252411bbb386ca8fee91d
tree9ca2438a0bf0d90751b6e8249582d5b7f439d646
parent75d28bd0901744e0a7ea2edf82ae2cee06b07833
power: pmic: sunxi: introduce generic SPL AXP DC/DC driver

So far we had a separate driver file for each AXP PMIC chip that we need
to support in the SPL. The code in there was largely similar, but
differed in many details.

Based on the idea of the DM AXP driver, introduce a data structure to
describe each regulator in a compact way. This is a simplified version
of the struct used in the DM driver, as we don't need to support the full
voltage range and not every regulator in the SPL.
For now we only support the DC/DC buck converters, since that's what we
need the SPL to configure, mostly. Also we get rid of the regulator name,
and hardcode the regulator number by its position in the array (first is
DCDC1, second is DCDC2, etc). We also drop support for the value table,
we ideally won't need that for the subset of regulators required.
At the end each regulator is described by a 10 bytes struct, so we avoid
blowing up the SPL footprint, but still can use generic code.

Each chip is supposed to be described separately, and protected by
ifdef's, to only build in the regulators needed for a particular board.
We also describe the bits to help identifying the AXP chip, and the
shutdown details in that section.

Add a generic driver, that exports axp_set_dcdc<x>() functions to set up
the buck converters. For now this just contains the bits for the (new)
AXP717, but it's not wired up anywhere yet.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
drivers/power/axp_spl.c [new file with mode: 0644]