diff options
author | Naveen Kumar Arepalli <naveenk@nvidia.com> | 2013-03-11 11:56:26 +0530 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2013-03-15 14:42:28 -0700 |
commit | 8c0157daa28da41204ed4d82aad6f9ee11d66120 (patch) | |
tree | 6786938a7fe828336d0efe359c545b4618514556 /drivers/mmc | |
parent | 33d36276d9cace800e88f9e6fe42129a615514f0 (diff) |
mmc: tegra: Forcing feed back clock as default
Explicitly Enable FEEDBACK INPUT_IO_CLk for sdmmc
Bug 1239457
Bug 1252268
Change-Id: Ib8de546b6630c7a12c31a90fd9a2465ea604c564
Signed-off-by: Naveen Kumar Arepalli <naveenk@nvidia.com>
Reviewed-on: http://git-master/r/206630
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/host/sdhci-tegra.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c index 39f0e6543a92..693143224eba 100644 --- a/drivers/mmc/host/sdhci-tegra.c +++ b/drivers/mmc/host/sdhci-tegra.c @@ -47,6 +47,7 @@ #define SDHCI_VNDR_CLK_CTRL_SDMMC_CLK 0x1 #define SDHCI_VNDR_CLK_CTRL_PADPIPE_CLKEN_OVERRIDE 0x8 #define SDHCI_VNDR_CLK_CTRL_SPI_MODE_CLKEN_OVERRIDE 0x4 +#define SDHCI_VNDR_CLK_CNTL_INPUT_IO_CLK 0x2 #define SDHCI_VNDR_CLK_CTRL_BASE_CLK_FREQ_SHIFT 8 #define SDHCI_VNDR_CLK_CTRL_TAP_VALUE_SHIFT 16 #define SDHCI_VNDR_CLK_CTRL_TRIM_VALUE_SHIFT 24 @@ -154,6 +155,8 @@ static struct tegra_sdhci_hw_ops tegra_11x_sdhci_ops = { #define NVQUIRK_ENABLE_SDR50_TUNING BIT(13) /* Enable Infinite Erase Timeout*/ #define NVQUIRK_INFINITE_ERASE_TIMEOUT BIT(14) +/* ENAABLE FEEDBACK IO CLOCK */ +#define NVQUIRK_EN_FEEDBACK_CLK BIT(16) struct sdhci_tegra_soc_data { struct sdhci_pltfm_data *pdata; @@ -430,6 +433,10 @@ static void tegra_sdhci_reset_exit(struct sdhci_host *sdhci, u8 mask) vendor_ctrl &= ~SDHCI_VNDR_CLK_CTRL_SPI_MODE_CLKEN_OVERRIDE; } + if (soc_data->nvquirks & NVQUIRK_EN_FEEDBACK_CLK) { + vendor_ctrl &= + ~SDHCI_VNDR_CLK_CNTL_INPUT_IO_CLK; + } if (soc_data->nvquirks & NVQUIRK_SET_TAP_DELAY) { if ((tegra_host->tuning_status == TUNING_STATUS_DONE) && (sdhci->mmc->pm_flags & MMC_PM_KEEP_POWER)) { @@ -1732,6 +1739,7 @@ static struct sdhci_tegra_soc_data soc_data_tegra20 = { #if !defined(CONFIG_ARCH_TEGRA_2x_SOC) NVQUIRK_ENABLE_PADPIPE_CLKEN | NVQUIRK_DISABLE_SPI_MODE_CLKEN | + NVQUIRK_EN_FEEDBACK_CLK | NVQUIRK_SET_TAP_DELAY | NVQUIRK_ENABLE_SDR50_TUNING | NVQUIRK_ENABLE_SDR50 | |