[PATCH 2/5] arm: mxs: Provide Kconfig option to disable battery charging at IMX28 PMU

Lukasz Majewski
2023-05-09T14:33:34Z

This new Kconfig option allows disabling the in-PMU battery charging
block. This may be required when DCDC_BAT source is powered not from
battery, but from already regulated, good quality source.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
---
arch/arm/cpu/arm926ejs/mxs/spl_power_init.c | 7 +++++++
arch/arm/mach-imx/mxs/Kconfig | 4 ++++
2 files changed, 11 insertions(+)

diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c b/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c
index 9965810ac2..7c584db27c 100644
--- a/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c
+++ b/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c
@@ -756,6 +756,13 @@ static void mxs_batt_boot(void)
setbits_le32(&power_regs->hw_power_5vctrl,
POWER_5VCTRL_ILIMIT_EQ_ZERO);

+ if (CONFIG_IS_ENABLED(MXS_PMU_DISABLE_BATT_CHARGE)) {
+ writel(POWER_CHARGE_PWD_BATTCHRG,
+ &power_regs->hw_power_charge_set);
+ writel(POWER_5VCTRL_PWD_CHARGE_4P2_MASK,
+ &power_regs->hw_power_5vctrl_set);
+ }
+
mxs_power_enable_4p2();
}

diff --git a/arch/arm/mach-imx/mxs/Kconfig b/arch/arm/mach-imx/mxs/Kconfig
index 3232b0fb67..f5e45ae846 100644
--- a/arch/arm/mach-imx/mxs/Kconfig
+++ b/arch/arm/mach-imx/mxs/Kconfig
@@ -59,6 +59,10 @@ config SPL_MXS_PMU_MINIMAL_VDD5V_CURRENT
by the PMU is reduced to zero - the DCDC_BATT is used as
the main power source for PMU.

+config SPL_MXS_PMU_DISABLE_BATT_CHARGE
+ bool "Disable Battery Charging in MX28 PMU"
+ default n
+
source "board/freescale/mx28evk/Kconfig"
source "board/liebherr/xea/Kconfig"

--
2.30.2