From 506954ad565954f4e86b8b925311e2b0291ab4f2 Mon Sep 17 00:00:00 2001 From: Naveen Kumar Arepalli Date: Thu, 28 Feb 2013 16:57:12 +0530 Subject: ARM: tegra: Roth: Set SD clock to 156 MHZ 1. Adding vdd_core regulators for sdmmc3 to be used for setting core voltage constraints during frequency tuning. 2. Pass nominal core voltage value through mmc platform data to be used for setting core voltage constraints during tuning. 3. Setting SD clock to 156MHz in SDR104 mode. Change-Id: Ie48df23c051b0251f037dd4ba942cec570eefd90 Signed-off-by: Naveen Kumar Arepalli Reviewed-on: http://git-master/r/207448 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Pavan Kunapuli GVS: Gerrit_Virtual_Submit Reviewed-by: Laxman Dewangan --- arch/arm/mach-tegra/board-roth-power.c | 1 + arch/arm/mach-tegra/board-roth-sdhci.c | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'arch') diff --git a/arch/arm/mach-tegra/board-roth-power.c b/arch/arm/mach-tegra/board-roth-power.c index 4c9f73618767..86a1c44acdd3 100644 --- a/arch/arm/mach-tegra/board-roth-power.c +++ b/arch/arm/mach-tegra/board-roth-power.c @@ -205,6 +205,7 @@ static struct regulator_consumer_supply palmas_smps3_supply[] = { static struct regulator_consumer_supply palmas_smps45_supply[] = { REGULATOR_SUPPLY("vdd_core", NULL), REGULATOR_SUPPLY("vdd_core", "sdhci-tegra.0"), + REGULATOR_SUPPLY("vdd_core", "sdhci-tegra.2"), REGULATOR_SUPPLY("vdd_core", "sdhci-tegra.3"), }; diff --git a/arch/arm/mach-tegra/board-roth-sdhci.c b/arch/arm/mach-tegra/board-roth-sdhci.c index 044ecc407ecc..3d6d38c07453 100644 --- a/arch/arm/mach-tegra/board-roth-sdhci.c +++ b/arch/arm/mach-tegra/board-roth-sdhci.c @@ -160,7 +160,7 @@ static struct tegra_sdhci_platform_data tegra_sdhci_platform_data2 = { .tap_delay = 0x3, .trim_delay = 0x3, .ddr_clk_limit = 41000000, - .max_clk_limit = 82000000, + .max_clk_limit = 156000000, .uhs_mask = MMC_UHS_MASK_DDR50, }; @@ -416,10 +416,13 @@ int __init roth_sdhci_init(void) { int nominal_core_mv; - nominal_core_mv = tegra_dvfs_rail_get_nominal_millivolts(tegra_core_rail); + nominal_core_mv = + tegra_dvfs_rail_get_nominal_millivolts(tegra_core_rail); if (nominal_core_mv > 0) { tegra_sdhci_platform_data0.nominal_vcore_uV = nominal_core_mv * 1000; + tegra_sdhci_platform_data2.nominal_vcore_uV = nominal_core_mv * + 1000; tegra_sdhci_platform_data3.nominal_vcore_uV = nominal_core_mv * 1000; } -- cgit v1.2.3