> The Linux driver automatically can detect and enable UHS, HS200, HS400
> and HS400_ES automatically without extra flags being placed into the
> device tree.
> Right now, for U-Boot to use UHS, HS200 or HS400, the extra flags are
> needed in the device tree.  Instead, go through the esdhc_soc_data
> flags and enable the host caps where applicable to automatically
> enable higher speeds.
> Suggested-by: Fabio Estevam <feste...@gmail.com>
> Signed-off-by: Adam Ford <aford...@gmail.com>
> diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c
> index e5814232a2..5088e78bb6 100644
> --- a/drivers/mmc/fsl_esdhc_imx.c
> +++ b/drivers/mmc/fsl_esdhc_imx.c
> @@ -1305,8 +1305,29 @@ static int fsl_esdhc_init(struct fsl_esdhc_priv *priv,
>                       val |= ESDHC_TUNING_CMD_CRC_CHECK_DISABLE;
>                       esdhc_write32(&regs->tuning_ctrl, val);
>               }
> -     }
>  
> +             /*
> +              * UHS doesn't have explicit ESDHC flags, so if it's
> +              * not supported, disable it in config.
> +              */
> +             if (CONFIG_IS_ENABLED(MMC_UHS_SUPPORT))
> +                     cfg->host_caps |= UHS_CAPS;
> +
> +             if (CONFIG_IS_ENABLED(MMC_HS200_SUPPORT)) {
> +                     if (priv->flags & ESDHC_FLAG_HS200)
> +                             cfg->host_caps |= MMC_CAP(MMC_HS_200);
> +             }
> +
> +             if (CONFIG_IS_ENABLED(MMC_HS400_SUPPORT)) {
> +                     if (priv->flags & ESDHC_FLAG_HS400)
> +                             cfg->host_caps |= MMC_CAP(MMC_HS_400);
> +             }
> +
> +             if (CONFIG_IS_ENABLED(MMC_HS400_ES_SUPPORT)) {
> +                     if (priv->flags & ESDHC_FLAG_HS400_ES)
> +                             cfg->host_caps |= MMC_CAP(MMC_HS_400_ES);
> +             }
> +     }
>       return 0;
>  }
>  
Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=====================================================================

Reply via email to