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

Ye Li
2021-02-27T06:04:45Z

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@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@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@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