summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/intel/galileo/Kconfig8
-rw-r--r--src/mainboard/intel/galileo/Makefile.inc2
-rw-r--r--src/mainboard/intel/galileo/sd.c34
3 files changed, 44 insertions, 0 deletions
diff --git a/src/mainboard/intel/galileo/Kconfig b/src/mainboard/intel/galileo/Kconfig
index 0ab682c827..4ae412f5d6 100644
--- a/src/mainboard/intel/galileo/Kconfig
+++ b/src/mainboard/intel/galileo/Kconfig
@@ -179,4 +179,12 @@ config FMDFILE
When an FMD descriptionn file is specified, the build system uses it
instead of creating a default FMAP file.
+config ENABLE_SD_TESTING
+ bool "Enable SD card testing"
+ default y
+ select DRIVERS_STORAGE_SD
+ select SDHC_DEBUG
+ select STORAGE_LOG
+ select STORAGE_TEST
+
endif # BOARD_INTEL_QUARK
diff --git a/src/mainboard/intel/galileo/Makefile.inc b/src/mainboard/intel/galileo/Makefile.inc
index f2fda318c0..25f672e5f7 100644
--- a/src/mainboard/intel/galileo/Makefile.inc
+++ b/src/mainboard/intel/galileo/Makefile.inc
@@ -26,6 +26,7 @@ verstage-$(CONFIG_VBOOT) += vboot.c
romstage-y += gpio.c
romstage-y += reg_access.c
+romstage-$(CONFIG_DRIVERS_STORAGE_SD) += sd.c
romstage-$(CONFIG_VBOOT) += vboot.c
postcar-y += gpio.c
@@ -33,3 +34,4 @@ postcar-y += reg_access.c
ramstage-y += gpio.c
ramstage-y += reg_access.c
+ramstage-$(CONFIG_DRIVERS_STORAGE_SD) += sd.c
diff --git a/src/mainboard/intel/galileo/sd.c b/src/mainboard/intel/galileo/sd.c
new file mode 100644
index 0000000000..d13b318679
--- /dev/null
+++ b/src/mainboard/intel/galileo/sd.c
@@ -0,0 +1,34 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2017 Intel Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <console/console.h>
+#include <device/sdhci.h>
+#include <device/storage.h>
+
+void soc_sd_mmc_controller_quirks(struct sd_mmc_ctrlr *ctrlr)
+{
+ /* Specify the additional driver support */
+ ctrlr->caps |= DRVR_CAP_REMOVABLE;
+
+ /* ADMA currently not working on Quark */
+ ctrlr->caps &= ~DRVR_CAP_AUTO_CMD12;
+
+ /* Set initialization clock frequency */
+ ctrlr->f_min = 100 * CLOCK_KHZ;
+
+ /* Set the initialization delays */
+ ctrlr->mdelay_before_cmd0 = 1;
+ ctrlr->mdelay_after_cmd0 = 2;
+}