From: Fabio Estevam <festevam@gmail.com>
Date: Tue, 5 Nov 2019 12:47:50 +0000 (-0300)
Subject: mx7ulp: Print the LDO mode status
X-Git-Tag: v2025.01-rc5-pxa1908~2650^2~19
X-Git-Url: http://git.dujemihanovic.xyz/img/static/git-favicon.png?a=commitdiff_plain;h=72a093a8acf5492c2ced612506ad9a9751a65b18;p=u-boot.git

mx7ulp: Print the LDO mode status

As per the i.MX7ULP datasheet, it can boot in LDO enabled mode
or LDO bypass mode.

Print the LDO mode status in the U-Boot log for convenience.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
---

diff --git a/arch/arm/mach-imx/mx7ulp/soc.c b/arch/arm/mach-imx/mx7ulp/soc.c
index 4b6014e724..4343cac99c 100644
--- a/arch/arm/mach-imx/mx7ulp/soc.c
+++ b/arch/arm/mach-imx/mx7ulp/soc.c
@@ -132,6 +132,21 @@ const char *get_imx_type(u32 imxtype)
 	return "7ULP";
 }
 
+#define PMC0_BASE_ADDR		0x410a1000
+#define PMC0_CTRL		0x28
+#define PMC0_CTRL_LDOEN		BIT(31)
+
+static bool ldo_mode_is_enabled(void)
+{
+	unsigned int reg;
+
+	reg = readl(PMC0_BASE_ADDR + PMC0_CTRL);
+	if (reg & PMC0_CTRL_LDOEN)
+		return true;
+	else
+		return false;
+}
+
 int print_cpuinfo(void)
 {
 	u32 cpurev;
@@ -160,6 +175,11 @@ int print_cpuinfo(void)
 		break;
 	}
 
+	if (ldo_mode_is_enabled())
+		printf("PMC1:  LDO enabled mode\n");
+	else
+		printf("PMC1:  LDO bypass mode\n");
+
 	return 0;
 }
 #endif