mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 02:08:00 +00:00
mmc: fsl_esdhc_imx: Use esdhc_soc_data flags to set host caps
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 <festevam@gmail.com> Signed-off-by: Adam Ford <aford173@gmail.com>
This commit is contained in:
parent
e72cb770d4
commit
1a7904fdfa
1 changed files with 22 additions and 1 deletions
|
@ -1224,8 +1224,29 @@ static int fsl_esdhc_init(struct fsl_esdhc_priv *priv,
|
||||||
val |= ESDHC_TUNING_CMD_CRC_CHECK_DISABLE;
|
val |= ESDHC_TUNING_CMD_CRC_CHECK_DISABLE;
|
||||||
esdhc_write32(®s->tuning_ctrl, val);
|
esdhc_write32(®s->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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue