regulator: sun20i: Add Allwinner D1 LDOs driver

D1 contains two pairs of LDOs, "analog" LDOs and "system" LDOs. They are
similar and can share a driver, but only the system LDOs have a DT
binding defined so far.

The system LDOs have a single linear range. The voltage step is not an
integer, so a custom .list_voltage is needed to get the rounding right.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Link: https://lore.kernel.org/r/20240509153107.438220-3-wens@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Samuel Holland
2024-05-09 23:31:07 +08:00
committed by Mark Brown
parent 622bab1884
commit 4e70b26c87
3 changed files with 166 additions and 0 deletions

View File

@@ -1415,6 +1415,14 @@ config REGULATOR_STW481X_VMMC
This driver supports the internal VMMC regulator in the STw481x
PMIC chips.
config REGULATOR_SUN20I
tristate "Allwinner D1 internal LDOs"
depends on ARCH_SUNXI || COMPILE_TEST
select MFD_SYSCON
default ARCH_SUNXI
help
This driver supports the internal LDOs in the Allwinner D1 SoC.
config REGULATOR_SY7636A
tristate "Silergy SY7636A voltage regulator"
depends on MFD_SY7636A