summaryrefslogtreecommitdiff
path: root/src/mainboard/intel/galileo/sd.c
diff options
context:
space:
mode:
authorLee Leahy <leroy.p.leahy@intel.com>2017-04-07 12:07:46 -0700
committerLee Leahy <leroy.p.leahy@intel.com>2017-05-08 19:14:12 +0200
commit1ea7cce8ae8fbc8a14a3ddfdee3f81a5e0e50031 (patch)
tree3c8c359fc46e5ea876b50ee2f3c925e29d5eb19b /src/mainboard/intel/galileo/sd.c
parenta585358f9bb9ac417af1b8b03d08b573ca692d6a (diff)
mainboard/intel/galileo: Add SD controller configuration
Configure the SD controller to handle the SD card slot. * Galileo supports a removable SD card slot. * Set SD card initialization frequency to 100 MHz. * Set default removable delays. * Build SD/MMC components by default TEST=Build and run on Galileo Gen2 Change-Id: Iaf4faa40fe01eca98abffa2681f61fd8e059f0c4 Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com> Reviewed-on: https://review.coreboot.org/19212 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/mainboard/intel/galileo/sd.c')
-rw-r--r--src/mainboard/intel/galileo/sd.c34
1 files changed, 34 insertions, 0 deletions
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;
+}