]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
power: regulator: enable AWP318W SPL support
authorYixun Lan <dlan@gentoo.org>
Tue, 13 Jan 2026 04:01:56 +0000 (12:01 +0800)
committerAndre Przywara <andre.przywara@arm.com>
Sun, 25 Jan 2026 23:29:32 +0000 (23:29 +0000)
Add the descriptions for the DC/DC regulators of the AXP318W, and enable
it when CONFIG_AXP318W_POWER is enabled.

Signed-off-by: Yixun Lan <dlan@gentoo.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
drivers/power/Kconfig
drivers/power/Makefile
drivers/power/axp_spl.c

index d17337c0c3f0d9f03e050155c1053fe92f6fe870..1b06d8a66c7cdf25ddf3da12f5a67b5b240970ed 100644 (file)
@@ -58,6 +58,7 @@ choice
        default AXP209_POWER if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
        default AXP221_POWER if MACH_SUN6I || MACH_SUN8I_A23 || MACH_SUN8I_A33 || MACH_SUN8I_R40
        default AXP818_POWER if MACH_SUN8I_A83T
+       default AXP318W_POWER if MACH_SUN60I_A733
        default SUNXI_NO_PMIC if MACH_SUNXI_H3_H5 || MACH_SUN50I || MACH_SUN8I_V3S
 
 config SUNXI_NO_PMIC
@@ -140,6 +141,14 @@ config AXP818_POWER
        Say y here to enable support for the axp818 pmic found on
        A83T dev board.
 
+config AXP318W_POWER
+       bool "axp318w pmic support"
+       select AXP_PMIC_BUS
+       select CMD_POWEROFF
+       ---help---
+       Select this to enable support for the AXP318W PMIC found on some
+       A733 boards.
+
 config SY8106A_POWER
        bool "SY8106A pmic support"
        depends on MACH_SUNXI_H3_H5
@@ -154,6 +163,7 @@ config AXP_I2C_ADDRESS
        depends on ARCH_SUNXI && !SUNXI_NO_PMIC
        default 0x36 if AXP305_POWER
        default 0x36 if AXP313_POWER
+       default 0x36 if AXP318W_POWER
        default 0x30 if AXP152_POWER
        default 0x34
        ---help---
index 3363191fdc840a517042fb0f3ef37baf1afe2f18..1a54898c8748fdee419706a192fbb706f3afb044 100644 (file)
@@ -14,6 +14,7 @@ obj-$(CONFIG_AXP152_POWER)    += axp152.o
 obj-$(CONFIG_AXP209_POWER)     += axp209.o
 obj-$(CONFIG_AXP305_POWER)     += axp_spl.o
 obj-$(CONFIG_AXP313_POWER)     += axp_spl.o
+obj-$(CONFIG_AXP318W_POWER)    += axp_spl.o
 obj-$(CONFIG_AXP717_POWER)     += axp_spl.o
 obj-$(CONFIG_AXP809_POWER)     += axp809.o
 obj-$(CONFIG_AXP818_POWER)     += axp818.o
index 7c51a9b3dfb77a6afc3a0dc5abd11b9a18b3afba..0162ef5e4cc1cebac758ca81347b239fd8ded977 100644 (file)
@@ -67,6 +67,26 @@ static const struct axp_reg_desc_spl axp_spl_dcdc_regulators[] = {
 #define AXP_SHUTDOWN_REG       0x1a
 #define AXP_SHUTDOWN_MASK      BIT(7)
 
+#elif defined(CONFIG_AXP318W_POWER)                            /* AXP318W */
+
+static const struct axp_reg_desc_spl axp_spl_dcdc_regulators[] = {
+       { 0x10, BIT(0), 0x12, 0x1f, 1000, 3400, 100, NA },
+       { 0x10, BIT(1), 0x13, 0x7f,  500, 1540,  10, 70 },
+       { 0x10, BIT(2), 0x14, 0x7f,  500, 1540,  10, 70 },
+       { 0x10, BIT(3), 0x15, 0x7f,  500, 1540,  10, 70 },
+       { 0x10, BIT(4), 0x16, 0x7f,  500, 1540,  10, 70 },
+       { 0x10, BIT(5), 0x17, 0x7f,  500, 1540,  10, 70 },
+       { 0x10, BIT(6), 0x18, 0x7f,  500, 1840,  10, 70 },
+       { 0x10, BIT(7), 0x19, 0x7f,  500, 1840,  10, 70 },
+       { 0x11, BIT(0), 0x1a, 0x7f,  500, 1840,  10, 70 },
+};
+
+#define AXP_CHIP_VERSION       0
+#define AXP_CHIP_VERSION_MASK  0
+#define AXP_CHIP_ID            0
+#define AXP_SHUTDOWN_REG       0x55
+#define AXP_SHUTDOWN_MASK      BIT(7)
+
 #elif defined(CONFIG_AXP305_POWER)                             /* AXP305 */
 
 static const struct axp_reg_desc_spl axp_spl_dcdc_regulators[] = {