sun6i: Add basic axp221 driver

The A31 uses the AXP221 pmic for various voltages.

Signed-off-by: Oliver Schinagl <oliver@schinagl.nl>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
--
Changes in v2:
-Rebase
Changes in v3:
-Add support for all dldo and aldo-s
-Add Kconfig option to select building AXP221 and to select voltage of
 dldo and aldo-s
Changes in v4:
-Add axp221_setbits helper function
-Use symbolic names for enabled bits in CTRL1 - CTRL3 registers
diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
index e69de29..1ec7c0e 100644
--- a/drivers/power/Kconfig
+++ b/drivers/power/Kconfig
@@ -0,0 +1,47 @@
+config AXP221_POWER
+	boolean "axp221 pmic support"
+	depends on MACH_SUN6I
+	default y
+	---help---
+	Say y here to enable support for the axp221 pmic found on most sun6i
+	(A31) boards.
+
+config AXP221_DLDO1_VOLT
+	int "axp221 dldo1 voltage"
+	depends on AXP221_POWER
+	default -1
+	---help---
+	Set the voltage (mV) to program the axp221 dldo1 at, set to -1 to
+	disable dldo1.
+
+config AXP221_DLDO4_VOLT
+	int "axp221 dldo4 voltage"
+	depends on AXP221_POWER
+	default -1
+	---help---
+	Set the voltage (mV) to program the axp221 dldo4 at, set to -1 to
+	disable dldo4.
+
+config AXP221_ALDO1_VOLT
+	int "axp221 aldo1 voltage"
+	depends on AXP221_POWER
+	default -1
+	---help---
+	Set the voltage (mV) to program the axp221 aldo1 at, set to -1 to
+	disable aldo1.
+
+config AXP221_ALDO2_VOLT
+	int "axp221 aldo2 voltage"
+	depends on AXP221_POWER
+	default -1
+	---help---
+	Set the voltage (mV) to program the axp221 aldo2 at, set to -1 to
+	disable aldo2.
+
+config AXP221_ALDO3_VOLT
+	int "axp221 aldo3 voltage"
+	depends on AXP221_POWER
+	default -1
+	---help---
+	Set the voltage (mV) to program the axp221 aldo3 at, set to -1 to
+	disable aldo3.