Browse Source

x86: Add SD/MMC support to quark/galileo

Intel Galileo board has a microSD slot which is routed from Quark SoC
SDIO controller. Enable SD/MMC support so that we can use an SD card.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Bin Meng 10 years ago
parent
commit
6df7ffea13
2 changed files with 18 additions and 0 deletions
  1. 11 0
      arch/x86/cpu/quark/quark.c
  2. 7 0
      include/configs/galileo.h

+ 11 - 0
arch/x86/cpu/quark/quark.c

@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <mmc.h>
 #include <asm/io.h>
 #include <asm/pci.h>
 #include <asm/post.h>
@@ -13,6 +14,10 @@
 #include <asm/arch/msg_port.h>
 #include <asm/arch/quark.h>
 
+static struct pci_device_id mmc_supported[] = {
+	{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QRK_SDIO },
+};
+
 /*
  * TODO:
  *
@@ -105,3 +110,9 @@ void reset_cpu(ulong addr)
 	/* cold reset */
 	outb(0x08, PORT_RESET);
 }
+
+int cpu_mmc_init(bd_t *bis)
+{
+	return pci_mmc_init("Quark SDHCI", mmc_supported,
+			    ARRAY_SIZE(mmc_supported));
+}

+ 7 - 0
include/configs/galileo.h

@@ -50,4 +50,11 @@
 #undef CONFIG_VIDEO
 #undef CONFIG_CFB_CONSOLE
 
+/* SD/MMC support */
+#define CONFIG_MMC
+#define CONFIG_SDHCI
+#define CONFIG_GENERIC_MMC
+#define CONFIG_MMC_SDMA
+#define CONFIG_CMD_MMC
+
 #endif	/* __CONFIG_H */