diff options
-rw-r--r-- | arch/arm/mach-tegra/board-apalis_t30.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-colibri_t30.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-tegra/include/mach/sdhci.h | 1 | ||||
-rw-r--r-- | drivers/mmc/host/sdhci-tegra.c | 12 |
4 files changed, 11 insertions, 5 deletions
diff --git a/arch/arm/mach-tegra/board-apalis_t30.c b/arch/arm/mach-tegra/board-apalis_t30.c index 5755ff9adce2..d7e5396220e9 100644 --- a/arch/arm/mach-tegra/board-apalis_t30.c +++ b/arch/arm/mach-tegra/board-apalis_t30.c @@ -637,6 +637,7 @@ static struct tegra_sdhci_platform_data apalis_t30_mmccard_platform_data = { .power_gpio = -1, .tap_delay = 0x0f, .wp_gpio = -1, + .no_1v8 = 1, }; static struct tegra_sdhci_platform_data apalis_t30_sdcard_platform_data = { @@ -646,6 +647,7 @@ static struct tegra_sdhci_platform_data apalis_t30_sdcard_platform_data = { .power_gpio = -1, .tap_delay = 0x0f, .wp_gpio = -1, + .no_1v8 = 1, }; static void __init apalis_t30_sdhci_init(void) diff --git a/arch/arm/mach-tegra/board-colibri_t30.c b/arch/arm/mach-tegra/board-colibri_t30.c index 39f0b7c7d8a0..6e6df2afb004 100644 --- a/arch/arm/mach-tegra/board-colibri_t30.c +++ b/arch/arm/mach-tegra/board-colibri_t30.c @@ -697,6 +697,7 @@ static struct tegra_sdhci_platform_data colibri_t30_sdcard_platform_data = { .power_gpio = -1, .tap_delay = 0x0f, .wp_gpio = -1, + .no_1v8 = 1, }; static void __init colibri_t30_sdhci_init(void) diff --git a/arch/arm/mach-tegra/include/mach/sdhci.h b/arch/arm/mach-tegra/include/mach/sdhci.h index e307506eb40b..00fd5c678b5b 100644 --- a/arch/arm/mach-tegra/include/mach/sdhci.h +++ b/arch/arm/mach-tegra/include/mach/sdhci.h @@ -33,6 +33,7 @@ struct tegra_sdhci_platform_data { int wp_gpio; int power_gpio; int is_8bit; + int no_1v8; int pm_flags; int pm_caps; unsigned int max_clk_limit; diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c index 73b65ce3089e..8b79ae82793e 100644 --- a/drivers/mmc/host/sdhci-tegra.c +++ b/drivers/mmc/host/sdhci-tegra.c @@ -943,11 +943,6 @@ static struct sdhci_pltfm_data sdhci_tegra_pdata = { SDHCI_QUIRK_BROKEN_ADMA_ZEROLEN_DESC | SDHCI_QUIRK_NO_CALC_MAX_DISCARD_TO | SDHCI_QUIRK_BROKEN_CARD_DETECTION | -#if defined(CONFIG_MACH_APALIS_T30) || defined(CONFIG_MACH_COLIBRI_T30) -/* Hack: SDR12, SDR25, SDR50, SDR104 and DDR50 all require 1.8V signalling which - our current T30 designs can't do. */ - SDHCI_QUIRK2_NO_1_8_V | -#endif 0, .ops = &tegra_sdhci_ops, }; @@ -982,6 +977,13 @@ static int __devinit sdhci_tegra_probe(struct platform_device *pdev) goto err_no_mem; } + /* + * Hack: SDR12, SDR25, SDR50, SDR104 and DDR50 all require 1.8V + * signalling which our current T30 designs can't do. + */ + if (plat->no_1v8) + host->quirks |= SDHCI_QUIRK2_NO_1_8_V; + #ifdef CONFIG_MMC_EMBEDDED_SDIO if (plat->mmc_data.embedded_sdio) mmc_set_embedded_sdio_data(host->mmc, |