mmc: sdhci: Add a callback to select drive strength
Add a callbak to let host drivers select drive strength. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
cc4f414c88
commit
cb8496482e
@ -2048,6 +2048,18 @@ out_unlock:
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int sdhci_select_drive_strength(struct mmc_card *card,
|
||||||
|
unsigned int max_dtr, int host_drv,
|
||||||
|
int card_drv, int *drv_type)
|
||||||
|
{
|
||||||
|
struct sdhci_host *host = mmc_priv(card->host);
|
||||||
|
|
||||||
|
if (!host->ops->select_drive_strength)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return host->ops->select_drive_strength(host, card, max_dtr, host_drv,
|
||||||
|
card_drv, drv_type);
|
||||||
|
}
|
||||||
|
|
||||||
static void sdhci_enable_preset_value(struct sdhci_host *host, bool enable)
|
static void sdhci_enable_preset_value(struct sdhci_host *host, bool enable)
|
||||||
{
|
{
|
||||||
@ -2192,6 +2204,7 @@ static const struct mmc_host_ops sdhci_ops = {
|
|||||||
.start_signal_voltage_switch = sdhci_start_signal_voltage_switch,
|
.start_signal_voltage_switch = sdhci_start_signal_voltage_switch,
|
||||||
.prepare_hs400_tuning = sdhci_prepare_hs400_tuning,
|
.prepare_hs400_tuning = sdhci_prepare_hs400_tuning,
|
||||||
.execute_tuning = sdhci_execute_tuning,
|
.execute_tuning = sdhci_execute_tuning,
|
||||||
|
.select_drive_strength = sdhci_select_drive_strength,
|
||||||
.card_event = sdhci_card_event,
|
.card_event = sdhci_card_event,
|
||||||
.card_busy = sdhci_card_busy,
|
.card_busy = sdhci_card_busy,
|
||||||
};
|
};
|
||||||
|
@ -538,6 +538,10 @@ struct sdhci_ops {
|
|||||||
void (*platform_init)(struct sdhci_host *host);
|
void (*platform_init)(struct sdhci_host *host);
|
||||||
void (*card_event)(struct sdhci_host *host);
|
void (*card_event)(struct sdhci_host *host);
|
||||||
void (*voltage_switch)(struct sdhci_host *host);
|
void (*voltage_switch)(struct sdhci_host *host);
|
||||||
|
int (*select_drive_strength)(struct sdhci_host *host,
|
||||||
|
struct mmc_card *card,
|
||||||
|
unsigned int max_dtr, int host_drv,
|
||||||
|
int card_drv, int *drv_type);
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
|
#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
|
||||||
|
Loading…
Reference in New Issue
Block a user