
On Thu, May 16, 2024 at 12:48:36AM +0100, Andre Przywara wrote:
We now have a generic AXP SPL driver implementation, that already covers the DC/DC converters of the AXP717 PMIC.
Remove the old, dedicated driver and switch to the new generic driver. This should not introduce any change in behaviour.
Signed-off-by: Andre Przywara andre.przywara@arm.com
drivers/power/Makefile | 2 +- drivers/power/axp717.c | 92 ------------------------------------------ 2 files changed, 1 insertion(+), 93 deletions(-) delete mode 100644 drivers/power/axp717.c
diff --git a/drivers/power/Makefile b/drivers/power/Makefile index 9d1f4c65262..6df23a81c29 100644 --- a/drivers/power/Makefile +++ b/drivers/power/Makefile @@ -14,7 +14,7 @@ obj-$(CONFIG_AXP209_POWER) += axp209.o obj-$(CONFIG_AXP221_POWER) += axp221.o obj-$(CONFIG_AXP305_POWER) += axp305.o obj-$(CONFIG_AXP313_POWER) += axp313.o -obj-$(CONFIG_AXP717_POWER) += axp717.o +obj-$(CONFIG_AXP717_POWER) += axp_spl.o obj-$(CONFIG_AXP809_POWER) += axp809.o obj-$(CONFIG_AXP818_POWER) += axp818.o endif diff --git a/drivers/power/axp717.c b/drivers/power/axp717.c deleted file mode 100644 index 7c77c09ea8f..00000000000 --- a/drivers/power/axp717.c +++ /dev/null @@ -1,92 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/*
- AXP717 SPL driver
- (C) Copyright 2024 Arm Ltd.
- */
-#include <common.h> -#include <command.h> -#include <errno.h> -#include <asm/arch/pmic_bus.h> -#include <axp_pmic.h>
-enum axp717_reg {
- AXP717_CHIP_VERSION = 0x3,
- AXP717_SHUTDOWN = 0x27,
- AXP717_OUTPUT_CTRL1 = 0x80,
- AXP717_DCDC1_VOLTAGE = 0x83,
-};
-#define AXP717_CHIP_VERSION_MASK 0xc8 -#define AXP717_DCDC_1220MV_OFFSET 71 -#define AXP717_POWEROFF (1U << 0) -#define DCDC_DVM_ENABLE (1U << 7)
-static u8 axp_mvolt_to_cfg(int mvolt, int min, int max, int div) -{
- if (mvolt < min)
mvolt = min;
- else if (mvolt > max)
mvolt = max;
- return (mvolt - min) / div;
-}
-static int axp_set_dcdc(int dcdc_num, unsigned int mvolt) -{
- int ret;
- u8 cfg = DCDC_DVM_ENABLE;
- if (dcdc_num < 1 || dcdc_num > 3)
return -EINVAL;
- if (mvolt >= 1220)
cfg |= AXP717_DCDC_1220MV_OFFSET +
axp_mvolt_to_cfg(mvolt, 1220,
dcdc_num == 3 ? 1840 : 1540, 20);
- else
cfg |= axp_mvolt_to_cfg(mvolt, 500, 1200, 10);
- if (mvolt == 0)
return pmic_bus_clrbits(AXP717_OUTPUT_CTRL1,
1U << (dcdc_num -1));
- ret = pmic_bus_write(AXP717_DCDC1_VOLTAGE + dcdc_num - 1, cfg);
- if (ret)
return ret;
- return pmic_bus_setbits(AXP717_OUTPUT_CTRL1, 1U << (dcdc_num - 1));
-}
-int axp_set_dcdc1(unsigned int mvolt) -{
- return axp_set_dcdc(1, mvolt);
-}
-int axp_set_dcdc2(unsigned int mvolt) -{
- return axp_set_dcdc(2, mvolt);
-}
-int axp_set_dcdc3(unsigned int mvolt) -{
- return axp_set_dcdc(3, mvolt);
-}
-int axp_init(void) -{
- return pmic_bus_init();
-}
-#if !CONFIG_IS_ENABLED(ARM_PSCI_FW) && !IS_ENABLED(CONFIG_SYSRESET_CMD_POWEROFF) -int do_poweroff(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) -{
- pmic_bus_setbits(AXP717_SHUTDOWN, AXP717_POWEROFF);
- /* infinite loop during shutdown */
- while (1) {}
- /* not reached */
- return 0;
-}
-#endif
2.35.8
I've been using this for the past week or so on my RG35XX-H for which I've been testing some code and it has worked well for me.
Tested-by: Chris Morgan macromorgan@hotmail.com