From mboxrd@z Thu Jan 1 00:00:00 1970 From: Baruch Siach Date: Wed, 08 Jan 2020 13:56:24 +0200 Subject: [PATCH] imx: imx8mq: handle ESDHC in mxc_get_clock In-Reply-To: <87o8wft6gl.fsf@tarshish> References: <20191211063554.24132-1-peng.fan@nxp.com> <87o8wft6gl.fsf@tarshish> Message-ID: <87v9pmyxef.fsf@tarshish> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Stefano, Peng, On Wed, Dec 11 2019, Baruch Siach wrote: > On Wed, Dec 11 2019, Peng Fan wrote: >> 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 > > This fixes SD card and eMMC access on i.MX8MQ based SolidRun > Hummingboard Pulse. > > Tested-by: Baruch Siach This patch missed v2020.01 unfortunately. I see it marked as "Awaiting Upstream" in patchwork (patch 1207464), but I could not find it queued anywhere. Am I missing anything? baruch >> --- >> 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) -- http://baruch.siach.name/blog/ ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -