avr32: factor out cpu_mmc_init()
authorAndreas Bießmann <andreas.devel@googlemail.com>
Fri, 6 Feb 2015 22:06:41 +0000 (23:06 +0100)
committerAndreas Bießmann <andreas.devel@googlemail.com>
Tue, 17 Feb 2015 21:52:40 +0000 (22:52 +0100)
cpu_mmc_init() is required by the init sequence to have a working MMC interface
on avr32. This will not be included in the binary if we omit the avr32 board.c
when building the generic board.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
arch/avr32/cpu/Makefile
arch/avr32/cpu/mmc.c [new file with mode: 0644]
arch/avr32/lib/board.c

index 00cede3fd981be7be855df45f0a84ef727c4edc1..e111db3e75727274d7df5869a6d52e7e04634482 100644 (file)
@@ -16,5 +16,6 @@ obj-y                 += cache.o
 obj-y                  += interrupts.o
 obj-$(CONFIG_PORTMUX_PIO) += portmux-pio.o
 obj-$(CONFIG_PORTMUX_GPIO) += portmux-gpio.o
+obj-y += mmc.o
 
 obj-$(if $(filter at32ap700x,$(SOC)),y) += at32ap700x/
diff --git a/arch/avr32/cpu/mmc.c b/arch/avr32/cpu/mmc.c
new file mode 100644 (file)
index 0000000..b7213e4
--- /dev/null
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2004-2006 Atmel Corporation
+ * Copyright (C) 2015 Andreas Bießmann <andreas.devel@googlmail.com>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+#include <common.h>
+#include <atmel_mci.h>
+#include <asm/arch/hardware.h>
+
+/* 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);
+}
index 95f95266f1272a8ffebfb16e269719d26c5b9efe..e86530fe772fe451f328ba3207ee14c6dd15b11e 100644 (file)
@@ -9,7 +9,6 @@
 #include <stdio_dev.h>
 #include <version.h>
 #include <net.h>
-#include <atmel_mci.h>
 
 #ifdef CONFIG_BITBANGMII
 #include <miiphy.h>
@@ -38,13 +37,6 @@ 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);
-}
-
 static int init_baudrate(void)
 {
        gd->baudrate = getenv_ulong("baudrate", 10, CONFIG_BAUDRATE);