[coreboot-gerrit] New patch to review for coreboot: f6e3aaa nyan*: Disable SD card reader power gpio.

Marc Jones (marc.jones@se-eng.com) gerrit at coreboot.org
Thu Dec 18 21:42:57 CET 2014


Marc Jones (marc.jones at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7865

-gerrit

commit f6e3aaa37b648bb65623a4e52203c9d57b1b07aa
Author: Hung-Te Lin <hungte at chromium.org>
Date:   Thu Apr 24 21:07:05 2014 +0800

    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 at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/196774
    Original-Reviewed-by: David Hendricks <dhendrix at chromium.org>
    Original-Tested-by: Andrew Bresticker <abrestic at chromium.org>
    (cherry picked from commit 62bb7d04dff1a87474a8557f144b24e6b7d006ae)
    Signed-off-by: Marc Jones <marc.jones at se-eng.com>
    
    Change-Id: I3429535d0d032f9db89d8e70a525a6281102537a
---
 src/mainboard/google/nyan/mainboard.c       | 9 +++++----
 src/mainboard/google/nyan_big/mainboard.c   | 9 +++++----
 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 15eff8e..a25b5fd 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 0539d84..7a55ad4 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 8717a87..87a17fb 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,



More information about the coreboot-gerrit mailing list