summaryrefslogtreecommitdiff
path: root/arch/avr32
diff options
context:
space:
mode:
authorSven Schnelle <svens@stackframe.org>2011-10-21 14:49:25 +0200
committerAndreas Bießmann <andreas@localhost>2012-03-13 12:06:41 +0100
commit72fa467988e7944407a634ddc4bc6a2df685c04c (patch)
treefa5fc3ddf5337aaabbfbe0ae1c2ff567d536be6d /arch/avr32
parent6751b05f855bbe56005d5b88d4eb58bcd52170d2 (diff)
ATMEL: use generic mmc framework
gen_atmel_mci works on AVR32 as well, so no need to use the legacy mmc driver. This also has the nice side effect of being able to use SDHC cards an those boards. Signed-off-by: Sven Schnelle <svens@stackframe.org> Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Diffstat (limited to 'arch/avr32')
-rw-r--r--arch/avr32/lib/board.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/avr32/lib/board.c b/arch/avr32/lib/board.c
index 63fe2979e71..e110d234e88 100644
--- a/arch/avr32/lib/board.c
+++ b/arch/avr32/lib/board.c
@@ -25,6 +25,7 @@
#include <stdio_dev.h>
#include <version.h>
#include <net.h>
+#include <atmel_mci.h>
#ifdef CONFIG_BITBANGMII
#include <miiphy.h>
@@ -32,11 +33,15 @@
#include <asm/sections.h>
#include <asm/arch/mmu.h>
+#include <asm/arch/hardware.h>
#ifndef CONFIG_IDENT_STRING
#define CONFIG_IDENT_STRING ""
#endif
+#ifdef CONFIG_ATMEL_MCI
+#include <mmc.h>
+#endif
DECLARE_GLOBAL_DATA_PTR;
unsigned long monitor_flash_len;
@@ -49,6 +54,13 @@ static int __do_nothing(void)
int board_postclk_init(void) __attribute__((weak, alias("__do_nothing")));
int board_early_init_r(void) __attribute__((weak, alias("__do_nothing")));
+/* provide cpu_mmc_init, to overwrite provide board_mmc_init */
+int cpu_mmc_init(bd_t *bd)
+{
+ /* This calls the atmel_mci_init in gen_atmel_mci.c */
+ return atmel_mci_init((void *)ATMEL_BASE_MMCI);
+}
+
#ifdef CONFIG_SYS_DMA_ALLOC_LEN
#include <asm/arch/cacheflush.h>
#include <asm/io.h>
@@ -324,6 +336,9 @@ void board_init_r(gd_t *new_gd, ulong dest_addr)
eth_initialize(gd->bd);
#endif
+#ifdef CONFIG_GENERIC_ATMEL_MCI
+ mmc_initialize(gd->bd);
+#endif
for (;;) {
main_loop();
}