summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHung-Te Lin <hungte@chromium.org>2014-04-24 21:07:05 +0800
committerMarc Jones <marc.jones@se-eng.com>2014-12-19 23:47:00 +0100
commit6a16f697d8ab27eb9a19f9c0ec0ca82ca60adc47 (patch)
tree244ccb59c34ec23efc3c43e5f897b7cd6214949e
parent75f701799a789b3d80eb90a441539be55fd0f5b2 (diff)
downloadcoreboot-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.c9
-rw-r--r--src/mainboard/google/nyan_big/mainboard.c9
-rw-r--r--src/mainboard/google/nyan_blaze/mainboard.c9
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,