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>
This commit is contained in:
Hung-Te Lin 2014-04-24 21:07:05 +08:00 committed by Marc Jones
parent 75f701799a
commit 6a16f697d8
3 changed files with 15 additions and 12 deletions

View File

@ -97,7 +97,7 @@ static void setup_pinmux(void)
pin_down = PINMUX_PULL_DOWN | PINMUX_INPUT_ENABLE, pin_down = PINMUX_PULL_DOWN | PINMUX_INPUT_ENABLE,
pin_none = PINMUX_PULL_NONE | PINMUX_INPUT_ENABLE; pin_none = PINMUX_PULL_NONE | PINMUX_INPUT_ENABLE;
// MMC3 // MMC3 (sdcard reader)
pinmux_set_config(PINMUX_SDMMC3_CLK_INDEX, pinmux_set_config(PINMUX_SDMMC3_CLK_INDEX,
PINMUX_SDMMC3_CLK_FUNC_SDMMC3 | pin_none); PINMUX_SDMMC3_CLK_FUNC_SDMMC3 | pin_none);
pinmux_set_config(PINMUX_SDMMC3_CMD_INDEX, pinmux_set_config(PINMUX_SDMMC3_CMD_INDEX,
@ -117,10 +117,11 @@ static void setup_pinmux(void)
// MMC3 Card Detect pin. // MMC3 Card Detect pin.
gpio_input_pullup(GPIO(V2)); gpio_input_pullup(GPIO(V2));
// Enable MMC power. // Disable SD card reader power so it can be reset even on warm boot.
gpio_output(GPIO(R0), 1); // 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_set_config(PINMUX_SDMMC4_CLK_INDEX,
PINMUX_SDMMC4_CLK_FUNC_SDMMC4 | pin_none); PINMUX_SDMMC4_CLK_FUNC_SDMMC4 | pin_none);
pinmux_set_config(PINMUX_SDMMC4_CMD_INDEX, pinmux_set_config(PINMUX_SDMMC4_CMD_INDEX,

View File

@ -97,7 +97,7 @@ static void setup_pinmux(void)
pin_down = PINMUX_PULL_DOWN | PINMUX_INPUT_ENABLE, pin_down = PINMUX_PULL_DOWN | PINMUX_INPUT_ENABLE,
pin_none = PINMUX_PULL_NONE | PINMUX_INPUT_ENABLE; pin_none = PINMUX_PULL_NONE | PINMUX_INPUT_ENABLE;
// MMC3 // MMC3 (sdcard reader)
pinmux_set_config(PINMUX_SDMMC3_CLK_INDEX, pinmux_set_config(PINMUX_SDMMC3_CLK_INDEX,
PINMUX_SDMMC3_CLK_FUNC_SDMMC3 | pin_none); PINMUX_SDMMC3_CLK_FUNC_SDMMC3 | pin_none);
pinmux_set_config(PINMUX_SDMMC3_CMD_INDEX, pinmux_set_config(PINMUX_SDMMC3_CMD_INDEX,
@ -117,10 +117,11 @@ static void setup_pinmux(void)
// MMC3 Card Detect pin. // MMC3 Card Detect pin.
gpio_input_pullup(GPIO(V2)); gpio_input_pullup(GPIO(V2));
// Enable MMC power. // Disable SD card reader power so it can be reset even on warm boot.
gpio_output(GPIO(R0), 1); // 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_set_config(PINMUX_SDMMC4_CLK_INDEX,
PINMUX_SDMMC4_CLK_FUNC_SDMMC4 | pin_none); PINMUX_SDMMC4_CLK_FUNC_SDMMC4 | pin_none);
pinmux_set_config(PINMUX_SDMMC4_CMD_INDEX, pinmux_set_config(PINMUX_SDMMC4_CMD_INDEX,

View File

@ -97,7 +97,7 @@ static void setup_pinmux(void)
pin_down = PINMUX_PULL_DOWN | PINMUX_INPUT_ENABLE, pin_down = PINMUX_PULL_DOWN | PINMUX_INPUT_ENABLE,
pin_none = PINMUX_PULL_NONE | PINMUX_INPUT_ENABLE; pin_none = PINMUX_PULL_NONE | PINMUX_INPUT_ENABLE;
// MMC3 // MMC3 (sdcard reader)
pinmux_set_config(PINMUX_SDMMC3_CLK_INDEX, pinmux_set_config(PINMUX_SDMMC3_CLK_INDEX,
PINMUX_SDMMC3_CLK_FUNC_SDMMC3 | pin_none); PINMUX_SDMMC3_CLK_FUNC_SDMMC3 | pin_none);
pinmux_set_config(PINMUX_SDMMC3_CMD_INDEX, pinmux_set_config(PINMUX_SDMMC3_CMD_INDEX,
@ -117,10 +117,11 @@ static void setup_pinmux(void)
// MMC3 Card Detect pin. // MMC3 Card Detect pin.
gpio_input_pullup(GPIO(V2)); gpio_input_pullup(GPIO(V2));
// Enable MMC power. // Disable SD card reader power so it can be reset even on warm boot.
gpio_output(GPIO(R0), 1); // 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_set_config(PINMUX_SDMMC4_CLK_INDEX,
PINMUX_SDMMC4_CLK_FUNC_SDMMC4 | pin_none); PINMUX_SDMMC4_CLK_FUNC_SDMMC4 | pin_none);
pinmux_set_config(PINMUX_SDMMC4_CMD_INDEX, pinmux_set_config(PINMUX_SDMMC4_CMD_INDEX,