[U-Boot] [U-Boot,V4,1/2] mmc: add HS400 support
Peng Fan
peng.fan at nxp.com
Thu Mar 28 08:00:51 UTC 2019
> -----Original Message-----
> From: Trent Piepho [mailto:tpiepho at impinj.com]
> Sent: 2019年3月28日 4:43
> To: Peng Fan <peng.fan at nxp.com>; jh80.chung at samsung.com;
> sbabic at denx.de
> Cc: marex at denx.de; kishon at ti.com; dl-linux-imx <linux-imx at nxp.com>;
> u-boot at lists.denx.de
> Subject: Re: [U-Boot,V4,1/2] mmc: add HS400 support
>
> I didn't see HS400 working on my IMX7d, even thought it appears it should be
> supported.
>
> The problem appears to be when this bit of code in fsl_esdhc.c, which dates to
> a patch "mmc: fsl_esdhc: support SDR104 and HS200":
>
> static struct esdhc_soc_data usdhc_imx7d_data = {
> .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_STD_TUNING
> | ESDHC_FLAG_HAVE_CAP1 |
> ESDHC_FLAG_HS200
> | ESDHC_FLAG_HS400,
> .caps = UHS_CAPS | MMC_MODE_HS200 |
> MMC_MODE_DDR_52MHz |
> MMC_MODE_HS_52MHz | MMC_MODE_HS, };
>
> Notice that MMC_MODE_HS400 isn't in the caps list. Once I add that uboot
> will attempt HS400 and it appears to work correctly.
>
> I think maybe this patch should have added this to the caps?
>
> Alternatively, there is a property that can be added to the device tree,
> mmc-hs400-1_8v, that will add this cap. But the code to parse those dt
> properties, mmc_of_parse(), isn't used by the fsl_esdhc driver, which has its
> own parsing code that doesn't know about mmc- hs400-1_8v.
>
> So maybe fsl-esdhc should use mmc_of_parse() and the appropriate iMX DTs
> should add those properties?
>
> I think the DT method might be better, since it would allow the DT to not list a
> mode that doesn't work due to the the board. I.e., the iMX host supports
> the mode, the eMMC supports the mode, but the board layout doesn't have
> traces that can support it. Too long, not matched well enough, etc. It
> doesn't seem like there's an nice way to remove a mode otherwise.
Yes. Parse device tree will be better.
Regards,
Peng.
More information about the U-Boot
mailing list