[EXT] Re: [PATCH 4/4] imx8mq_evk: Enable the USB3.0 host port

Ye Li ye.li at nxp.com
Sat Feb 27 07:04:45 CET 2021


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.li at 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.chen at 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.chen at 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)
 
 &reg_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


More information about the U-Boot mailing list