[U-Boot] [U-Boot,V4,1/2] mmc: add HS400 support
Marek Vasut
marex at denx.de
Thu Mar 28 02:42:29 UTC 2019
On 3/27/19 9:43 PM, Trent Piepho wrote:
> 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.
Right, please submit a patch switching over to the generic parsing code.
Thanks
> 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.
>
--
Best regards,
Marek Vasut
More information about the U-Boot
mailing list