forked from Minki/linux
mmc: core: Add ->hs400_prepare_ddr() callback
Some eMMC controllers need specific settings for HS400 mode before the speed mode can be switched to DDR mode, during the HS400 initialization sequence. For that reason, let's introduce a new host callback, ->hs400_prepare_ddr() and invoked it just before switching to DDR mode. Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
52b5f5cfa2
commit
cc14eec088
@ -1181,6 +1181,9 @@ static int mmc_select_hs400(struct mmc_card *card)
|
||||
if (err)
|
||||
goto out_err;
|
||||
|
||||
if (host->ops->hs400_prepare_ddr)
|
||||
host->ops->hs400_prepare_ddr(host);
|
||||
|
||||
/* Switch card to DDR */
|
||||
err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
|
||||
EXT_CSD_BUS_WIDTH,
|
||||
|
@ -147,6 +147,9 @@ struct mmc_host_ops {
|
||||
/* Prepare HS400 target operating frequency depending host driver */
|
||||
int (*prepare_hs400_tuning)(struct mmc_host *host, struct mmc_ios *ios);
|
||||
|
||||
/* Prepare switch to DDR during the HS400 init sequence */
|
||||
int (*hs400_prepare_ddr)(struct mmc_host *host);
|
||||
|
||||
/* Prepare for switching from HS400 to HS200 */
|
||||
void (*hs400_downgrade)(struct mmc_host *host);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user