summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Hendricks <dhendrix@chromium.org>2015-08-05 14:13:34 -0700
committerPatrick Georgi <pgeorgi@google.com>2015-08-28 06:41:01 +0000
commitbf62b8cc8b67843d4b7600e1544ccf4598f2136f (patch)
tree5c53047bce84eb7165bafd6c2e55d202e8a3d7c1
parent50967870a9b0a55a5c973785803d7fe8921c1107 (diff)
veyron_rialto: Force 3G modem off
This basically does the same thing for firmware what CL:290631 did in the kernel. We want to keep the modem off until it needs to be used to avoid enumeration/detection issues. BUG=chrome-os-partner:43271 BRANCH=none TEST=needs testing Change-Id: I3b63a77c732dc4895b728b30f1dd71210a9c0e90 Signed-off-by: Patrick Georgi <patrick@georgi-clan.de> Original-Commit-Id: a90ccd7fbffe44abe05e96341cc77067442c85e4 Original-Change-Id: I3516de1ea9160f7186ad7f5fb3b5d29ac73143b5 Original-Signed-off-by: David Hendricks <dhendrix@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/290890 Original-Reviewed-by: Alexandru Stan <amstan@chromium.org> Reviewed-on: http://review.coreboot.org/11385 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--src/mainboard/google/veyron_rialto/mainboard.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mainboard/google/veyron_rialto/mainboard.c b/src/mainboard/google/veyron_rialto/mainboard.c
index 52a27bbcd3..4dba666721 100644
--- a/src/mainboard/google/veyron_rialto/mainboard.c
+++ b/src/mainboard/google/veyron_rialto/mainboard.c
@@ -72,6 +72,14 @@ static void configure_codec(void)
rkclk_configure_i2s(12288000);
}
+static void configure_3g(void)
+{
+ /* Force 3G modem off to avoid confusing the EHCI host and
+ * causing problems during enumeration/init */
+ gpio_output(GPIO(5, C, 1), 1); /* 3G_SHUTDOWN */
+ gpio_output(GPIO(4, D, 2), 0); /* 3G_ON_OFF */
+}
+
static void mainboard_init(device_t dev)
{
gpio_output(GPIO_RESET, 0);
@@ -79,6 +87,7 @@ static void mainboard_init(device_t dev)
configure_usb();
configure_emmc();
configure_codec();
+ configure_3g();
/* No video. */
elog_init();