mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 02:04:19 +08:00
mmc: dw_mmc: add switch_voltage
switch_voltage is required on some platform since special register accessing Signed-off-by: Jorge A. Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org> Signed-off-by: Dan Yuan <yuandan@hisilicon.com> Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
d9c7eb3895
commit
8f7849c4f9
@ -1236,11 +1236,15 @@ static int dw_mci_switch_voltage(struct mmc_host *mmc, struct mmc_ios *ios)
|
||||
{
|
||||
struct dw_mci_slot *slot = mmc_priv(mmc);
|
||||
struct dw_mci *host = slot->host;
|
||||
const struct dw_mci_drv_data *drv_data = host->drv_data;
|
||||
u32 uhs;
|
||||
u32 v18 = SDMMC_UHS_18V << slot->id;
|
||||
int min_uv, max_uv;
|
||||
int ret;
|
||||
|
||||
if (drv_data && drv_data->switch_voltage)
|
||||
return drv_data->switch_voltage(mmc, ios);
|
||||
|
||||
/*
|
||||
* Program the voltage. Note that some instances of dw_mmc may use
|
||||
* the UHS_REG for this. For other instances (like exynos) the UHS_REG
|
||||
|
@ -287,5 +287,7 @@ struct dw_mci_drv_data {
|
||||
int (*execute_tuning)(struct dw_mci_slot *slot);
|
||||
int (*prepare_hs400_tuning)(struct dw_mci *host,
|
||||
struct mmc_ios *ios);
|
||||
int (*switch_voltage)(struct mmc_host *mmc,
|
||||
struct mmc_ios *ios);
|
||||
};
|
||||
#endif /* _DW_MMC_H_ */
|
||||
|
Loading…
Reference in New Issue
Block a user