aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Majewski <lukma@denx.de>2023-05-09 16:32:40 +0200
committerStefano Babic <sbabic@denx.de>2023-07-11 14:40:03 +0200
commit249a3cc1afa2bc84788addac46657ca26bb555ac (patch)
tree98a890f11440dcd8ea2986ca9725d16cd70c55b7
parent1c3c601ac54d3e3f301f391c4aa86a891d4db6c2 (diff)
arm: mxs: Provide Kconfig option to disable battery charging at IMX28 PMU
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>
-rw-r--r--arch/arm/cpu/arm926ejs/mxs/spl_power_init.c7
-rw-r--r--arch/arm/mach-imx/mxs/Kconfig4
2 files changed, 11 insertions, 0 deletions
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"