summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
authorSandeep Maheswaram <sanm@codeaurora.org>2021-06-04 11:07:53 +0530
committerShelley Chen <shchen@google.com>2021-12-01 00:39:51 +0000
commitccff30475165919914029a7756dc20d783c7ebe3 (patch)
treea38a65a60047b43539bc795384ef88aa79756725 /src/mainboard
parentd11c814172d9763895d46a12ccd8b409e2c41ab0 (diff)
herobrine: Assert gpio for USB_HUB_LDO_EN
Some herobrine variants have USB hub powered by discrete LDO that is controlled by USB_HUB_LDO_EN gpio. Assert the GPIO on boot. BUG=b:182963902 TEST=Validated on qualcomm sc7280 development board. Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org> Change-Id: Ia94e046f9eb0d3ce593f3445e0203a7391c14de2 Reviewed-on: https://review.coreboot.org/c/coreboot/+/55378 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/google/herobrine/board.h7
-rw-r--r--src/mainboard/google/herobrine/mainboard.c3
2 files changed, 10 insertions, 0 deletions
diff --git a/src/mainboard/google/herobrine/board.h b/src/mainboard/google/herobrine/board.h
index 0e4a7607b8..4278c11712 100644
--- a/src/mainboard/google/herobrine/board.h
+++ b/src/mainboard/google/herobrine/board.h
@@ -9,6 +9,13 @@
#define GPIO_SD_CD_L GPIO(91)
+#if CONFIG(BOARD_GOOGLE_SENOR) || CONFIG(BOARD_GOOGLE_PIGLIN) || CONFIG(BOARD_GOOGLE_HOGLIN)
+#define USB_HUB_LDO_EN GPIO(157)
+#else
+/* For Herobrine board and all variants */
+#define USB_HUB_LDO_EN GPIO(24)
+#endif
+
#define QCOM_SC7280_SKU1 0x0
#define QCOM_SC7280_SKU2 0x1
#define QCOM_SC7280_SKU3 0x2
diff --git a/src/mainboard/google/herobrine/mainboard.c b/src/mainboard/google/herobrine/mainboard.c
index e64fb15ae6..a2e0786866 100644
--- a/src/mainboard/google/herobrine/mainboard.c
+++ b/src/mainboard/google/herobrine/mainboard.c
@@ -24,6 +24,9 @@ static struct usb_board_data usb0_board_data = {
static void setup_usb(void)
{
+ /* Assert EN_PP3300_HUB for those board variants that use it. */
+ gpio_output(USB_HUB_LDO_EN, 1);
+
setup_usb_host0(&usb0_board_data);
}