summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-loki-sdhci.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-tegra/board-loki-sdhci.c')
-rw-r--r--arch/arm/mach-tegra/board-loki-sdhci.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/board-loki-sdhci.c b/arch/arm/mach-tegra/board-loki-sdhci.c
index 86504670dd43..42e2ab6fe188 100644
--- a/arch/arm/mach-tegra/board-loki-sdhci.c
+++ b/arch/arm/mach-tegra/board-loki-sdhci.c
@@ -1,7 +1,7 @@
/*
* arch/arm/mach-tegra/board-loki-sdhci.c
*
- * Copyright (c) 2013, NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2013-2014, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
@@ -28,6 +28,7 @@
#include <linux/wl12xx.h>
#include <linux/platform_data/mmc-sdhci-tegra.h>
#include <linux/mfd/max77660/max77660-core.h>
+#include <linux/tegra-fuse.h>
#include <asm/mach-types.h>
#include <mach/irqs.h>
@@ -46,6 +47,8 @@
#define LOKI_SD_CD TEGRA_GPIO_PV2
+#define FUSE_SOC_SPEEDO_0 0x134
+
static void (*wifi_status_cb)(int card_present, void *dev_id);
static void *wifi_status_cb_devid;
static int loki_wifi_status_register(void (*callback)(int , void *), void *);
@@ -174,7 +177,7 @@ static struct tegra_sdhci_platform_data tegra_sdhci_platform_data3 = {
.power_gpio = -1,
.is_8bit = 1,
.tap_delay = 0x4,
- .trim_delay = 0x4,
+ .trim_delay = 0x3,
.ddr_trim_delay = 0x0,
.mmc_data = {
.built_in = 1,
@@ -453,6 +456,7 @@ int __init loki_sdhci_init(void)
int nominal_core_mv;
int min_vcore_override_mv;
int boot_vcore_mv;
+ u32 speedo;
struct board_info bi;
tegra_get_board_info(&bi);
@@ -488,6 +492,12 @@ int __init loki_sdhci_init(void)
tegra_sdhci_platform_data0.max_clk_limit = 204000000;
+ speedo = tegra_fuse_readl(FUSE_SOC_SPEEDO_0);
+ tegra_sdhci_platform_data0.cpu_speedo = speedo;
+ tegra_sdhci_platform_data2.cpu_speedo = speedo;
+ tegra_sdhci_platform_data3.cpu_speedo = speedo;
+
+
platform_device_register(&tegra_sdhci_device3);
if (!is_uart_over_sd_enabled())