aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/gru/mainboard.c1
-rw-r--r--src/mainboard/google/gru/romstage.c9
2 files changed, 9 insertions, 1 deletions
diff --git a/src/mainboard/google/gru/mainboard.c b/src/mainboard/google/gru/mainboard.c
index 1c823f3e7c..b8a3e5521a 100644
--- a/src/mainboard/google/gru/mainboard.c
+++ b/src/mainboard/google/gru/mainboard.c
@@ -155,7 +155,6 @@ static void register_poweroff_to_bl31(void)
static void configure_sdmmc(void)
{
- gpio_output(GPIO(4, D, 5), 1); /* SDMMC_PWR_EN */
gpio_output(GPIO(2, A, 2), 1); /* SDMMC_SDIO_PWR_EN */
/* SDMMC_DET_L is different on Kevin board revision 0. */
diff --git a/src/mainboard/google/gru/romstage.c b/src/mainboard/google/gru/romstage.c
index 7c0dfd0594..d644f7d7c2 100644
--- a/src/mainboard/google/gru/romstage.c
+++ b/src/mainboard/google/gru/romstage.c
@@ -20,6 +20,7 @@
#include <arch/mmu.h>
#include <cbfs.h>
#include <cbmem.h>
+#include <gpio.h>
#include <console/console.h>
#include <delay.h>
#include <program_loading.h>
@@ -49,6 +50,13 @@ static void init_dvs_outputs(void)
udelay(500);
}
+static void prepare_sdmmc(void)
+{
+ /* Enable main SD rail early to allow ramp time before enabling SDIO
+ * rail. */
+ gpio_output(GPIO(4, D, 5), 1); /* SDMMC_PWR_EN */
+}
+
static void prepare_usb(void)
{
/*
@@ -68,6 +76,7 @@ void main(void)
/* Init DVS to conservative values. */
init_dvs_outputs();
+ prepare_sdmmc();
prepare_usb();
sdram_init(get_sdram_config());