summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@google.com>2018-07-17 09:20:06 -0700
committerchrome-bot <chrome-bot@chromium.org>2018-07-18 18:15:24 -0700
commitd22bdeeaecd864835eacb9c22e05f09050fb0237 (patch)
treefa8162a8029f161f1eb4d0facfcf838ab8213f3b
parent9ba60c726b979cdddd31d1a30f48c85441dc9070 (diff)
downloadchrome-ec-d22bdeeaecd864835eacb9c22e05f09050fb0237.tar.gz
phaser: Change USB2_OTG_ID to open drain
USB2_OTG_ID is 3.3V pin on the EC whereas the SoC expects USB2_DUALROLE and USB2_VBUS_SNS to be 1.8V. Since there is an internal pull-up on USB2_DUALROLE from the SoC side, this change configures USB2_OTG_ID to be open drain so that it is actively driven from the EC when it wants to pull it low. Otherwise, the pin would be tri-stated from the EC side allowing it to be pulled up to 1.8V because of the SoC internal pull-up. BUG=b:111102089 BRANCH=None TEST=Verified that there is no more leakage of 1.8V rail. Change-Id: I306e809f6b3ad31596f7f11da68311afcd1eac32 Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://chromium-review.googlesource.com/1140498 Commit-Ready: Furquan Shaikh <furquan@chromium.org> Tested-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
-rw-r--r--board/phaser/gpio.inc7
1 files changed, 6 insertions, 1 deletions
diff --git a/board/phaser/gpio.inc b/board/phaser/gpio.inc
index aba6bdf429..73ba0f728d 100644
--- a/board/phaser/gpio.inc
+++ b/board/phaser/gpio.inc
@@ -128,7 +128,12 @@ GPIO(USB_C1_BC12_VBUS_ON, PIN(B, 1), GPIO_OUT_LOW) /* C1 BC1.2 Power */
GPIO(USB_C1_BC12_CHG_DET_L, PIN(E, 4), GPIO_INPUT) /* C1 BC1.2 Detect */
GPIO(USB_C1_HPD_1V8_ODL, PIN(C, 6), GPIO_INPUT | /* C1 DP Hotplug Detect */
GPIO_SEL_1P8V)
-GPIO(USB2_OTG_ID, PIN(8, 3), GPIO_OUT_LOW) /* OTG ID */
+/*
+ * USB2_OTG_ID is 1.8V pin on the SoC side with an internal pull-up. However, it
+ * 3.3V on the EC side. So, configure it as ODR so that the EC never drives it
+ * high.
+ */
+GPIO(USB2_OTG_ID, PIN(8, 3), GPIO_ODR_LOW) /* OTG ID */
/* LED */
GPIO(BAT_LED_ORANGE_L, PIN(C, 3), GPIO_OUT_HIGH) /* LED_1_L */