From ddcb06fdc59b17a900a7ef61e93fd2ca1f0ced51 Mon Sep 17 00:00:00 2001 From: Marcel Ziswiler Date: Thu, 18 Dec 2014 05:48:47 +0100 Subject: apalis_t30: optional mmc uhs support (v1.1a and later hw) This patch adds optional UHS support for the 8-bit MMC controller. Please note that this requires V1.1A or later module hardware plus the pull-up resistors on the data as well as the command signal lines of your carrier board need to be removed (e.g. R46 to R54 on our Apalis Evaluation Board V1.1A). If those pre-requisites are met support can be enabled using the following kernel command line parameter: mmc_uhs=1 --- arch/arm/mach-tegra/board-apalis_t30.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'arch/arm/mach-tegra/board-apalis_t30.c') diff --git a/arch/arm/mach-tegra/board-apalis_t30.c b/arch/arm/mach-tegra/board-apalis_t30.c index d01f420f33c5..ef709c872d17 100644 --- a/arch/arm/mach-tegra/board-apalis_t30.c +++ b/arch/arm/mach-tegra/board-apalis_t30.c @@ -622,6 +622,18 @@ static struct platform_device apalis_t30_keys_device = { /* MMC/SD */ +/* To limit the 8-bit MMC slot to 3.3 volt only operation (e.g. no UHS) */ +int g_sdmmc3_uhs = 0; + +static int __init enable_mmc_uhs(char *s) +{ + if (!(*s) || !strcmp(s, "1")) + g_sdmmc3_uhs = 1; + + return 0; +} +__setup("mmc_uhs=", enable_mmc_uhs); + static struct tegra_sdhci_platform_data apalis_t30_emmc_platform_data = { .cd_gpio = -1, .ddr_clk_limit = 52000000, @@ -661,6 +673,8 @@ static void __init apalis_t30_sdhci_init(void) &apalis_t30_emmc_platform_data; platform_device_register(&tegra_sdhci_device4); + if (g_sdmmc3_uhs) + apalis_t30_mmccard_platform_data.no_1v8 = 0; tegra_sdhci_device3.dev.platform_data = &apalis_t30_mmccard_platform_data; platform_device_register(&tegra_sdhci_device3); -- cgit v1.2.3