summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/sdhci.h
diff options
context:
space:
mode:
authorPierre Ossman2006-06-30 11:22:25 +0200
committerRussell King2006-07-02 17:02:04 +0200
commit1c8cde92fa5c57daa9ff58d970ca6374f8d484a2 (patch)
tree96ddfe6071bcede86521fda46c0eafd27c4689c1 /drivers/mmc/sdhci.h
parent[MMC] sdhci: fix sdhci reset timeout (diff)
downloadkernel-qcow2-linux-1c8cde92fa5c57daa9ff58d970ca6374f8d484a2.tar.gz
kernel-qcow2-linux-1c8cde92fa5c57daa9ff58d970ca6374f8d484a2.tar.xz
kernel-qcow2-linux-1c8cde92fa5c57daa9ff58d970ca6374f8d484a2.zip
[MMC] sdhci: proper timeout handling
Use the give timeout clock and calculate a proper timeout instead of using the maximum at all times. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/mmc/sdhci.h')
-rw-r--r--drivers/mmc/sdhci.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mmc/sdhci.h b/drivers/mmc/sdhci.h
index aed4abd37bfd..a8f45215ef3a 100644
--- a/drivers/mmc/sdhci.h
+++ b/drivers/mmc/sdhci.h
@@ -125,6 +125,9 @@
/* 3E-3F reserved */
#define SDHCI_CAPABILITIES 0x40
+#define SDHCI_TIMEOUT_CLK_MASK 0x0000003F
+#define SDHCI_TIMEOUT_CLK_SHIFT 0
+#define SDHCI_TIMEOUT_CLK_UNIT 0x00000080
#define SDHCI_CLOCK_BASE_MASK 0x00003F00
#define SDHCI_CLOCK_BASE_SHIFT 8
#define SDHCI_CAN_DO_DMA 0x00400000
@@ -156,6 +159,7 @@ struct sdhci_host {
#define SDHCI_USE_DMA (1<<0)
unsigned int max_clk; /* Max possible freq (MHz) */
+ unsigned int timeout_clk; /* Timeout freq (KHz) */
unsigned int clock; /* Current clock (MHz) */
unsigned short power; /* Current voltage */