summaryrefslogtreecommitdiff
path: root/cpu/at32ap/atmel_mci.c
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2008-06-03 00:19:57 +0200
committerWolfgang Denk <wd@denx.de>2008-06-03 00:19:57 +0200
commit7a68389a231ac061ba2ffd628f86e15ed0545a7b (patch)
tree723fd35290b988810be6d417c21fa1949f25aae8 /cpu/at32ap/atmel_mci.c
parent7feb4d38ff1fdf8877f39447001ff9f6e93fa6bc (diff)
parenta8092c021d27f27f4b323b7d49979ca01b3fc19d (diff)
Merge remote branch 'u-boot-avr32/master'
Diffstat (limited to 'cpu/at32ap/atmel_mci.c')
-rw-r--r--cpu/at32ap/atmel_mci.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/cpu/at32ap/atmel_mci.c b/cpu/at32ap/atmel_mci.c
index f59dfb5995..3795addf05 100644
--- a/cpu/at32ap/atmel_mci.c
+++ b/cpu/at32ap/atmel_mci.c
@@ -21,8 +21,6 @@
*/
#include <common.h>
-#ifdef CONFIG_MMC
-
#include <part.h>
#include <mmc.h>
@@ -139,7 +137,7 @@ mmc_cmd(unsigned long cmd, unsigned long arg,
pr_debug("mmc: status 0x%08lx\n", status);
- if (status & ERROR_FLAGS) {
+ if (status & error_flags) {
printf("mmc: command %lu failed (status: 0x%08lx)\n",
cmd, status);
return -EIO;
@@ -182,12 +180,13 @@ static int mmc_acmd(unsigned long cmd, unsigned long arg,
static unsigned long
mmc_bread(int dev, unsigned long start, lbaint_t blkcnt,
- unsigned long *buffer)
+ void *buffer)
{
int ret, i = 0;
unsigned long resp[4];
unsigned long card_status, data;
unsigned long wordcount;
+ u32 *p = buffer;
u32 status;
if (blkcnt == 0)
@@ -225,7 +224,7 @@ mmc_bread(int dev, unsigned long start, lbaint_t blkcnt,
if (status & MMCI_BIT(RXRDY)) {
data = mmci_readl(RDR);
/* pr_debug("%x\n", data); */
- *buffer++ = data;
+ *p++ = data;
wordcount++;
}
} while(wordcount < (mmc_blkdev.blksz / 4));
@@ -443,6 +442,7 @@ static void mci_set_data_timeout(struct mmc_csd *csd)
dtocyc = timeout_clks;
dtomul = 0;
+ shift = 0;
while (dtocyc > 15 && dtomul < 8) {
dtomul++;
shift = dtomul_to_shift[dtomul];
@@ -546,5 +546,3 @@ int mmc2info(ulong addr)
{
return 0;
}
-
-#endif /* CONFIG_MMC */