diff options
author | Lin Huang <hl@rock-chips.com> | 2017-07-25 09:50:10 +0800 |
---|---|---|
committer | Julius Werner <jwerner@chromium.org> | 2017-08-01 20:00:21 +0000 |
commit | a2c5b2f2522346c7b0d4e27a583485bfe70fc896 (patch) | |
tree | 4123ce87eaf27765ea1edbc558cf3361d932ce35 | |
parent | 05c3e846223326620ccf3b880fa97f630d34a7ed (diff) | |
download | coreboot-a2c5b2f2522346c7b0d4e27a583485bfe70fc896.tar.xz |
google/gru: Correct the Sdcard control gpio setting for Scarlet
in Scarlet the Sdcard control gpio differs from other
board variants, So set the GPIO to high on Scarlet.
Change-Id: I5fa19b212a716213462eea58b6242392d32a2c5c
Signed-off-by: Lin Huang <hl@rock-chips.com>
Reviewed-on: https://review.coreboot.org/20803
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
-rw-r--r-- | src/mainboard/google/gru/mainboard.c | 20 |
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 */ |