diff options
author | Hung-Te Lin <hungte@chromium.org> | 2014-04-24 21:07:05 +0800 |
---|---|---|
committer | Marc Jones <marc.jones@se-eng.com> | 2014-12-19 23:47:00 +0100 |
commit | 6a16f697d8ab27eb9a19f9c0ec0ca82ca60adc47 (patch) | |
tree | 244ccb59c34ec23efc3c43e5f897b7cd6214949e | |
parent | 75f701799a789b3d80eb90a441539be55fd0f5b2 (diff) | |
download | coreboot-6a16f697d8ab27eb9a19f9c0ec0ca82ca60adc47.tar.xz |
nyan*: Disable SD card reader power gpio.
When warm booting, SD card reader on Tegra 124 needs to be reset by setting
power GPIO to zero. Since we don't really access SD card in Coreboot, set it to
zero and let payloads enable power when they need to access SD cards.
CQ-DEPEND=CL:196783
BRANCH=nyan
BUG=chrome-os-partner:27053
TEST=emerge-nyan coreboot depthcharge chromeos-bootimage
# With related changes in depthcharge, boots SD card successfully.
Original-Change-Id: I2d368eb9480c978e9e343648b58a729028c94622
Original-Signed-off-by: Hung-Te Lin <hungte@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/196774
Original-Reviewed-by: David Hendricks <dhendrix@chromium.org>
Original-Tested-by: Andrew Bresticker <abrestic@chromium.org>
(cherry picked from commit 62bb7d04dff1a87474a8557f144b24e6b7d006ae)
Signed-off-by: Marc Jones <marc.jones@se-eng.com>
Change-Id: I3429535d0d032f9db89d8e70a525a6281102537a
Reviewed-on: http://review.coreboot.org/7865
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r-- | src/mainboard/google/nyan/mainboard.c | 9 | ||||
-rw-r--r-- | src/mainboard/google/nyan_big/mainboard.c | 9 | ||||
-rw-r--r-- | src/mainboard/google/nyan_blaze/mainboard.c | 9 |
3 files changed, 15 insertions, 12 deletions
diff --git a/src/mainboard/google/nyan/mainboard.c b/src/mainboard/google/nyan/mainboard.c index 15eff8ecd5..a25b5fd238 100644 --- a/src/mainboard/google/nyan/mainboard.c +++ b/src/mainboard/google/nyan/mainboard.c @@ -97,7 +97,7 @@ static void setup_pinmux(void) pin_down = PINMUX_PULL_DOWN | PINMUX_INPUT_ENABLE, pin_none = PINMUX_PULL_NONE | PINMUX_INPUT_ENABLE; - // MMC3 + // MMC3 (sdcard reader) pinmux_set_config(PINMUX_SDMMC3_CLK_INDEX, PINMUX_SDMMC3_CLK_FUNC_SDMMC3 | pin_none); pinmux_set_config(PINMUX_SDMMC3_CMD_INDEX, @@ -117,10 +117,11 @@ static void setup_pinmux(void) // MMC3 Card Detect pin. gpio_input_pullup(GPIO(V2)); - // Enable MMC power. - gpio_output(GPIO(R0), 1); + // Disable SD card reader power so it can be reset even on warm boot. + // Payloads must enable power before accessing SD card slots. + gpio_output(GPIO(R0), 0); - // MMC4 + // MMC4 (eMMC) pinmux_set_config(PINMUX_SDMMC4_CLK_INDEX, PINMUX_SDMMC4_CLK_FUNC_SDMMC4 | pin_none); pinmux_set_config(PINMUX_SDMMC4_CMD_INDEX, diff --git a/src/mainboard/google/nyan_big/mainboard.c b/src/mainboard/google/nyan_big/mainboard.c index 0539d849bd..7a55ad4170 100644 --- a/src/mainboard/google/nyan_big/mainboard.c +++ b/src/mainboard/google/nyan_big/mainboard.c @@ -97,7 +97,7 @@ static void setup_pinmux(void) pin_down = PINMUX_PULL_DOWN | PINMUX_INPUT_ENABLE, pin_none = PINMUX_PULL_NONE | PINMUX_INPUT_ENABLE; - // MMC3 + // MMC3 (sdcard reader) pinmux_set_config(PINMUX_SDMMC3_CLK_INDEX, PINMUX_SDMMC3_CLK_FUNC_SDMMC3 | pin_none); pinmux_set_config(PINMUX_SDMMC3_CMD_INDEX, @@ -117,10 +117,11 @@ static void setup_pinmux(void) // MMC3 Card Detect pin. gpio_input_pullup(GPIO(V2)); - // Enable MMC power. - gpio_output(GPIO(R0), 1); + // Disable SD card reader power so it can be reset even on warm boot. + // Payloads must enable power before accessing SD card slots. + gpio_output(GPIO(R0), 0); - // MMC4 + // MMC4 (eMMC) pinmux_set_config(PINMUX_SDMMC4_CLK_INDEX, PINMUX_SDMMC4_CLK_FUNC_SDMMC4 | pin_none); pinmux_set_config(PINMUX_SDMMC4_CMD_INDEX, diff --git a/src/mainboard/google/nyan_blaze/mainboard.c b/src/mainboard/google/nyan_blaze/mainboard.c index 8717a87df5..87a17fb9ca 100644 --- a/src/mainboard/google/nyan_blaze/mainboard.c +++ b/src/mainboard/google/nyan_blaze/mainboard.c @@ -97,7 +97,7 @@ static void setup_pinmux(void) pin_down = PINMUX_PULL_DOWN | PINMUX_INPUT_ENABLE, pin_none = PINMUX_PULL_NONE | PINMUX_INPUT_ENABLE; - // MMC3 + // MMC3 (sdcard reader) pinmux_set_config(PINMUX_SDMMC3_CLK_INDEX, PINMUX_SDMMC3_CLK_FUNC_SDMMC3 | pin_none); pinmux_set_config(PINMUX_SDMMC3_CMD_INDEX, @@ -117,10 +117,11 @@ static void setup_pinmux(void) // MMC3 Card Detect pin. gpio_input_pullup(GPIO(V2)); - // Enable MMC power. - gpio_output(GPIO(R0), 1); + // Disable SD card reader power so it can be reset even on warm boot. + // Payloads must enable power before accessing SD card slots. + gpio_output(GPIO(R0), 0); - // MMC4 + // MMC4 (eMMC) pinmux_set_config(PINMUX_SDMMC4_CLK_INDEX, PINMUX_SDMMC4_CLK_FUNC_SDMMC4 | pin_none); pinmux_set_config(PINMUX_SDMMC4_CMD_INDEX, |