public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH] imx: imx8mq: handle ESDHC in mxc_get_clock
@ 2019-12-11  6:17 Peng Fan
  2019-12-11 12:03 ` Baruch Siach
  2019-12-11 13:38 ` Fabio Estevam
  0 siblings, 2 replies; 6+ messages in thread
From: Peng Fan @ 2019-12-11  6:17 UTC (permalink / raw)
  To: u-boot

fsl_esdhc_imx driver will call "mxc_get_clock(MXC_ESDHC_CLK +
dev->seq)", however mxc_get_clock wrongly handle MXC_ESDHC_CLK
as root clk and cause sd card could not be detected in U-Boot proper,
as below:
"Loading Environment from MMC... unable to select a mode"

Handle MXC_ESDHC_CLK in mxc_get_clock to fix the issue.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 arch/arm/mach-imx/imx8m/clock_imx8mq.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/arch/arm/mach-imx/imx8m/clock_imx8mq.c b/arch/arm/mach-imx/imx8m/clock_imx8mq.c
index 2db5bde211..878f2be166 100644
--- a/arch/arm/mach-imx/imx8m/clock_imx8mq.c
+++ b/arch/arm/mach-imx/imx8m/clock_imx8mq.c
@@ -326,16 +326,20 @@ unsigned int mxc_get_clock(enum mxc_clock clk)
 {
 	u32 val;
 
-	if (clk == MXC_ARM_CLK)
+	switch(clk) {
+	case MXC_ARM_CLK:
 		return get_root_clk(ARM_A53_CLK_ROOT);
-
-	if (clk == MXC_IPG_CLK) {
+	case MXC_IPG_CLK:
 		clock_get_target_val(IPG_CLK_ROOT, &val);
 		val = val & 0x3;
 		return get_root_clk(AHB_CLK_ROOT) / (val + 1);
+	case MXC_ESDHC_CLK:
+		return get_root_clk(USDHC1_CLK_ROOT);
+	case MXC_ESDHC2_CLK:
+		return get_root_clk(USDHC2_CLK_ROOT);
+	default:
+		return get_root_clk(clk);
 	}
-
-	return get_root_clk(clk);
 }
 
 u32 imx_get_uartclk(void)
-- 
2.16.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread
* [PATCH] imx: imx8mq: handle ESDHC in mxc_get_clock
@ 2019-12-28 10:48 sbabic at denx.de
  0 siblings, 0 replies; 6+ messages in thread
From: sbabic at denx.de @ 2019-12-28 10:48 UTC (permalink / raw)
  To: u-boot

> fsl_esdhc_imx driver will call "mxc_get_clock(MXC_ESDHC_CLK +
> dev->seq)", however mxc_get_clock wrongly handle MXC_ESDHC_CLK
> as root clk and cause sd card could not be detected in U-Boot proper,
> as below:
> "Loading Environment from MMC... unable to select a mode"
> Handle MXC_ESDHC_CLK in mxc_get_clock to fix the issue.
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> Tested-by: Baruch Siach <baruch@tkos.co.il>
> Tested-by: Fabio Estevam <festevam@gmail.com>
Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-01-08 12:19 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-11  6:17 [PATCH] imx: imx8mq: handle ESDHC in mxc_get_clock Peng Fan
2019-12-11 12:03 ` Baruch Siach
2020-01-08 11:56   ` Baruch Siach
2020-01-08 12:19     ` Stefano Babic
2019-12-11 13:38 ` Fabio Estevam
  -- strict thread matches above, loose matches on Subject: below --
2019-12-28 10:48 sbabic at denx.de

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox