mmc: tegra: Perform pad calibration after voltage switch
authorAapo Vienamo <avienamo@nvidia.com>
Thu, 30 Aug 2018 15:06:18 +0000 (18:06 +0300)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 8 Oct 2018 09:40:43 +0000 (11:40 +0200)
Run the automatic pad calibration after voltage switching if
tegra_host->pad_calib_required is set.

Signed-off-by: Aapo Vienamo <avienamo@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-tegra.c

index a3e31f1..71b3b3e 100644 (file)
@@ -587,6 +587,8 @@ static int sdhci_tegra_start_signal_voltage_switch(struct mmc_host *mmc,
                                                   struct mmc_ios *ios)
 {
        struct sdhci_host *host = mmc_priv(mmc);
+       struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
+       struct sdhci_tegra *tegra_host = sdhci_pltfm_priv(pltfm_host);
        int ret = 0;
 
        if (ios->signal_voltage == MMC_SIGNAL_VOLTAGE_330) {
@@ -601,6 +603,9 @@ static int sdhci_tegra_start_signal_voltage_switch(struct mmc_host *mmc,
                ret = tegra_sdhci_set_padctrl(host, ios->signal_voltage);
        }
 
+       if (tegra_host->pad_calib_required)
+               tegra_sdhci_pad_autocalib(host);
+
        return ret;
 }