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 <ye...@nxp.com> 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 <haibo.c...@nxp.com> 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 <haibo.c...@nxp.com> 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