From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ye Li Date: Sat, 27 Feb 2021 06:04:45 +0000 Subject: [EXT] Re: [PATCH 4/4] imx8mq_evk: Enable the USB3.0 host port In-Reply-To: References: <1613924784-63219-1-git-send-email-ye.li@nxp.com> <1613924784-63219-4-git-send-email-ye.li@nxp.com> <1614259776.77693.11.camel@nxp.com> Message-ID: <1614339634.112899.18.camel@nxp.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Fabio, On Thu, 2021-02-25 at 10:49 -0300, Fabio Estevam wrote: > Caution: EXT Email > > Hi Ye Li, > > On Thu, Feb 25, 2021 at 10:34 AM Ye Li wrote: > > > > > Sure, I have tested it on 8mq evk. I can reproduce the two issues > > you > > met. > > The first issue is caused by the ALIGN. The implementation of > > standard > > ALIGN requires the aligned size to be power of 2. But the ALIGN in > > imx8mimage does not have this requirement. So below result is wrong > > by > > using the standard ALIGN. Your fix should be OK for this issue. > Good, could you please reply to my ALIGN macro patch with your > Tested-by tag then? > Replied it. > > > > For the second issue, I did not debug into it. But our vendor tree > > also > > uses off-on-delay-us in both u-boot and kernel. So it is likely > > caused > > by other change. > Considering we are already at 2021.04-rc2, I think it would be safer > to go with my patch that removes off-on-delay-us. > > What do you think? > > Thanks My debug shows the issue is triggered by below commit: commit 9098682200e6cca4b776638a51200dafa16f50fb Author: Haibo Chen Date:???Tue Sep 22 18:11:43 2020 +0800 ????mmc: fsl_esdhc_imx: remove the 1ms delay before sending command ???? ????This 1ms delay before sending command already exist from the beginning ????of the fsl_esdhc driver added in year 2008. Now this driver has been ????split for two files: fsl_esdhc.c and fsl_esdhc_imx.c. fsl_esdhc_imx.c ????only for i.MX series. i.MX series esdhc/usdhc do not need this 1ms delay ????before sending any command. So remove this 1ms, this will save a lot ????time if handling a large mmc data. ???? ????Signed-off-by: Haibo Chen The first "go idle" command in mmc_get_op_cond seems not put SD card to idle status, but if adding a delay before it (like 1ms delay), then everything works. This commit removed 1ms delay in sending command, so the issue is triggered. ?The root cause might be "startup-delay-us" needed for this regulator to reach a threshold voltage for SD working. Below change also can fix the issue. --- a/arch/arm/dts/imx8mq-evk-u-boot.dtsi +++ b/arch/arm/dts/imx8mq-evk-u-boot.dtsi @@ -1,6 +1,7 @@ ?// SPDX-License-Identifier: (GPL-2.0 OR MIT) ? ?®_usdhc2_vmmc { + ? ? ? startup-delay-us = <1000>; ????????u-boot,off-on-delay-us = <20000>; ?}; @Haibo, Could you help looking into the issue. What's your opinion to add the startup-delay-us or revert your commit? Best regards, Ye Li