Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 297325
b: refs/heads/master
c: f060bc9
h: refs/heads/master
i:
  297323: 35fd46d
v: v3
  • Loading branch information
Jerry Huang authored and Chris Ball committed Mar 25, 2012
1 parent e1ea293 commit 8256c05
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7b2fd4f23f72c13a78c0892d330dde305ef2fb80
refs/heads/master: f060bc9c12d28c9a561fdd8cf1d60bdefd92db2d
19 changes: 17 additions & 2 deletions trunk/drivers/mmc/host/sdhci-of-esdhc.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* Freescale eSDHC controller driver.
*
* Copyright (c) 2007, 2010 Freescale Semiconductor, Inc.
* Copyright (c) 2007, 2010, 2012 Freescale Semiconductor, Inc.
* Copyright (c) 2009 MontaVista Software, Inc.
*
* Authors: Xiaobo Xie <X.Xie@freescale.com>
Expand All @@ -14,6 +14,7 @@
*/

#include <linux/io.h>
#include <linux/of.h>
#include <linux/delay.h>
#include <linux/module.h>
#include <linux/mmc/host.h>
Expand Down Expand Up @@ -114,6 +115,20 @@ static unsigned int esdhc_of_get_min_clock(struct sdhci_host *host)
return pltfm_host->clock / 256 / 16;
}

static void esdhc_of_set_clock(struct sdhci_host *host, unsigned int clock)
{
/* Workaround to reduce the clock frequency for p1010 esdhc */
if (of_find_compatible_node(NULL, NULL, "fsl,p1010-esdhc")) {
if (clock > 20000000)
clock -= 5000000;
if (clock > 40000000)
clock -= 5000000;
}

/* Set the clock */
esdhc_set_clock(host, clock);
}

#ifdef CONFIG_PM
static u32 esdhc_proctl;
static void esdhc_of_suspend(struct sdhci_host *host)
Expand All @@ -135,7 +150,7 @@ static struct sdhci_ops sdhci_esdhc_ops = {
.write_l = sdhci_be32bs_writel,
.write_w = esdhc_writew,
.write_b = esdhc_writeb,
.set_clock = esdhc_set_clock,
.set_clock = esdhc_of_set_clock,
.enable_dma = esdhc_of_enable_dma,
.get_max_clock = esdhc_of_get_max_clock,
.get_min_clock = esdhc_of_get_min_clock,
Expand Down

0 comments on commit 8256c05

Please sign in to comment.