summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/google/gru/mainboard.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/mainboard/google/gru/mainboard.c b/src/mainboard/google/gru/mainboard.c
index 2542d74106..240a5493e8 100644
--- a/src/mainboard/google/gru/mainboard.c
+++ b/src/mainboard/google/gru/mainboard.c
@@ -167,13 +167,25 @@ static void configure_sdmmc(void)
{
gpio_output(GPIO(2, A, 2), 1); /* SDMMC_SDIO_PWR_EN */
- /* SDMMC_DET_L is different on Kevin board revision 0. */
- if (IS_ENABLED(CONFIG_BOARD_GOOGLE_KEVIN) && (board_id() == 0))
- gpio_input(GPIO(4, D, 2));
+ /* set SDMMC_DET_L pin */
+ if (IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET))
+ /*
+ * do not have external pull up, so need to
+ * set this pin internal pull up
+ */
+ gpio_input_pullup(GPIO(1, B, 3));
else
gpio_input(GPIO(4, D, 0));
- gpio_output(GPIO(2, D, 4), 0); /* Keep the max voltage */
+ /*
+ * Keep sd card io domain 3v
+ * In Scarlet this GPIO set to high will get 3v,
+ * With other board variants setting this GPIO low results in 3V.
+ */
+ if (IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET))
+ gpio_output(GPIO(2, D, 4), 1);
+ else
+ gpio_output(GPIO(2, D, 4), 0);
gpio_input(GPIO(4, B, 0)); /* SDMMC0_D0 remove pull-up */
gpio_input(GPIO(4, B, 1)); /* SDMMC0_D1 remove pull-up */