arm: at91: enable mci support for at91sam9g20ek.
authorWu, Josh <Josh.wu@atmel.com>
Thu, 28 Mar 2013 20:28:41 +0000 (20:28 +0000)
committerAndreas Bießmann <andreas.devel@googlemail.com>
Sun, 12 May 2013 14:42:24 +0000 (16:42 +0200)
Signed-off-by: Josh Wu <josh.wu@atmel.com>
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c
board/atmel/at91sam9260ek/at91sam9260ek.c
include/configs/at91sam9260ek.h

index 19ec615c723b062cc78c449fe7a6e4ce9b950acf..5e995e1d0720c3c8c2a32d7a07f2f36d527c4d46 100644 (file)
@@ -203,6 +203,10 @@ void at91_macb_hw_init(void)
 #if defined(CONFIG_GENERIC_ATMEL_MCI)
 void at91_mci_hw_init(void)
 {
+       /* Enable mci clock */
+       struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC;
+       writel(1 << ATMEL_ID_MCI, &pmc->pcer);
+
        at91_set_a_periph(AT91_PIO_PORTA, 8, 1);        /* MCCK */
 #if defined(CONFIG_ATMEL_MCI_PORTB)
        at91_set_b_periph(AT91_PIO_PORTA, 1, 1);        /* MCCDB */
index 3aa394a4bb03b2bf1fd7f0c51a6a0eb6b6a7c10b..1e7b33e39c1e63b8cc7ee48d8ea92bd1e2f05292 100644 (file)
@@ -30,6 +30,7 @@
 #include <asm/arch/at91_pmc.h>
 #include <asm/arch/at91_rstc.h>
 #include <asm/arch/gpio.h>
+#include <atmel_mci.h>
 
 #if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_MACB)
 # include <net.h>
@@ -143,6 +144,15 @@ static void at91sam9260ek_macb_hw_init(void)
 }
 #endif
 
+#ifdef CONFIG_GENERIC_ATMEL_MCI
+int board_mmc_init(bd_t *bd)
+{
+       at91_mci_hw_init();
+
+       return atmel_mci_init((void *)ATMEL_BASE_MCI);
+}
+#endif
+
 int board_early_init_f(void)
 {
        struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC;
index ebcc69afa3e6c0fa18074e0c4d1c58ca0e1b9bff..f6193bb7fa002a1fcd54474b6dde379079a21981 100644 (file)
 #define CONFIG_CMD_PING                1
 #define CONFIG_CMD_DHCP                1
 #define CONFIG_CMD_NAND                1
+#define CONFIG_CMD_MMC
+#define CONFIG_CMD_FAT
 #define CONFIG_CMD_USB         1
 
 /*
 #define CONFIG_SYS_NAND_READY_PIN      AT91_PIN_PC13
 #endif
 
+/* MMC */
+#ifdef CONFIG_CMD_MMC
+#define CONFIG_MMC
+#define CONFIG_GENERIC_MMC
+#define CONFIG_GENERIC_ATMEL_MCI
+#endif
+
+/* FAT */
+#ifdef CONFIG_CMD_FAT
+#define CONFIG_DOS_PARTITION
+#endif
+
 /* NOR flash - no real flash on this board */
 #define CONFIG_SYS_NO_FLASH                    1
 
 /* USB */
 #define CONFIG_USB_ATMEL
 #define CONFIG_USB_OHCI_NEW            1
-#define CONFIG_DOS_PARTITION           1
 #define CONFIG_SYS_USB_OHCI_CPU_INIT           1
 #define CONFIG_SYS_USB_OHCI_REGS_BASE          0x00500000      /* AT91SAM9260_UHP_BASE */
 #define CONFIG_SYS_USB_OHCI_SLOT_NAME          "at91sam9260"
 #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS     2
 #define CONFIG_USB_STORAGE             1
-#define CONFIG_CMD_FAT                 1
 
 #define CONFIG_SYS_LOAD_ADDR                   0x22000000      /* load address */