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>
This commit is contained in:
Lee Leahy 2017-04-07 12:07:46 -07:00
parent a585358f9b
commit 1ea7cce8ae
3 changed files with 44 additions and 0 deletions

View File

@ -179,4 +179,12 @@ config FMDFILE
When an FMD descriptionn file is specified, the build system uses it When an FMD descriptionn file is specified, the build system uses it
instead of creating a default FMAP file. 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 endif # BOARD_INTEL_QUARK

View File

@ -26,6 +26,7 @@ verstage-$(CONFIG_VBOOT) += vboot.c
romstage-y += gpio.c romstage-y += gpio.c
romstage-y += reg_access.c romstage-y += reg_access.c
romstage-$(CONFIG_DRIVERS_STORAGE_SD) += sd.c
romstage-$(CONFIG_VBOOT) += vboot.c romstage-$(CONFIG_VBOOT) += vboot.c
postcar-y += gpio.c postcar-y += gpio.c
@ -33,3 +34,4 @@ postcar-y += reg_access.c
ramstage-y += gpio.c ramstage-y += gpio.c
ramstage-y += reg_access.c ramstage-y += reg_access.c
ramstage-$(CONFIG_DRIVERS_STORAGE_SD) += sd.c

View File

@ -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;
}