[PATCH 3/5] arm: mxs: Provide Kconfig option to not enable 4P2 regulator in IMX28 PMU

Lukasz Majewski lukma at denx.de
Tue May 9 16:32:41 CEST 2023


The IMX28 PMU (Power Management Unit) has a dedicated Linear Regulator
to produce (by default) 4.2V output - available outside the chip as
VDD_4P2.

When system is supposed to not use VDD5V as a main power source - instead
the DCDC_BATT is used; it is safe to disable this regulator.

As the in-PMU DCDC switching regulator (from which DCDC_VDDA, DCDC_VDDIO
and DCDC_VDDD are generated) can be driven from DCDC_BATT or output
of this 4P2 regulator - by disabling the latter the use of the DCDC_BATT
is forced.

To be more specific - according to NXP's AN4199 the DCDC_BATT source is
preferred (over VDD5V), as more efficient and stable source for
industrial applications.

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

diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c b/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c
index 7c584db27c..24f61b4b56 100644
--- a/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c
+++ b/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c
@@ -763,7 +763,8 @@ static void mxs_batt_boot(void)
 		       &power_regs->hw_power_5vctrl_set);
 	}
 
-	mxs_power_enable_4p2();
+	if (CONFIG_IS_ENABLED(MXS_PMU_ENABLE_4P2_LINEAR_REGULATOR))
+		mxs_power_enable_4p2();
 }
 
 /**
diff --git a/arch/arm/mach-imx/mxs/Kconfig b/arch/arm/mach-imx/mxs/Kconfig
index f5e45ae846..5cffc26103 100644
--- a/arch/arm/mach-imx/mxs/Kconfig
+++ b/arch/arm/mach-imx/mxs/Kconfig
@@ -63,6 +63,13 @@ config SPL_MXS_PMU_DISABLE_BATT_CHARGE
 	bool "Disable Battery Charging in MX28 PMU"
 	default n
 
+config SPL_MXS_PMU_ENABLE_4P2_LINEAR_REGULATOR
+	bool "Enable the 4P2 linear regulator in MX28 PMU"
+	default y
+	help
+	  This option enables the 4P2 linear regulator (derived
+	  from VDD5V) - so the VDD4P2 power source is operational.
+
 source "board/freescale/mx28evk/Kconfig"
 source "board/liebherr/xea/Kconfig"
 
-- 
2.30.2



More information about the U-Boot mailing list