aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/google/pit/mainboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/google/pit/mainboard.c')
-rw-r--r--src/mainboard/google/pit/mainboard.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/mainboard/google/pit/mainboard.c b/src/mainboard/google/pit/mainboard.c
index bdf2d571b2..211160d754 100644
--- a/src/mainboard/google/pit/mainboard.c
+++ b/src/mainboard/google/pit/mainboard.c
@@ -312,9 +312,22 @@ static enum exynos5_gpio_pin usb_drd0_vbus = GPIO_H00;
static enum exynos5_gpio_pin usb_drd1_vbus = GPIO_H01;
/* static enum exynos5_gpio_pin hsic_reset_l = GPIO_X24; */
+static void prepare_usb(void)
+{
+ /* Kick these resets off early so they get at least 100ms to settle */
+ reset_usb_drd0_dwc3();
+ reset_usb_drd1_dwc3();
+}
+
static void setup_usb(void)
{
/* HSIC and USB HOST port not needed in firmware on this board */
+ setup_usb_drd0_phy();
+ setup_usb_drd1_phy();
+
+ setup_usb_drd0_dwc3();
+ setup_usb_drd1_dwc3();
+
gpio_direction_output(usb_drd0_vbus, 1);
gpio_direction_output(usb_drd1_vbus, 1);
}
@@ -401,6 +414,7 @@ static void mainboard_init(device_t dev)
void *fb_addr = (void *)(get_fb_base_kb() * KiB);
+ prepare_usb();
gpio_init();
setup_storage();
tmu_init(&exynos5420_tmu_info);
@@ -408,8 +422,6 @@ static void mainboard_init(device_t dev)
/* Clock Gating all the unused IP's to save power */
clock_gate();
- setup_usb();
-
sdmmc_vdd();
set_vbe_mode_info_valid(&edid, (uintptr_t)fb_addr);
@@ -447,6 +459,8 @@ static void mainboard_init(device_t dev)
backlight_vdd();
backlight_pwm();
backlight_en();
+
+ setup_usb();
}
static void mainboard_enable(device_t dev)