diff --git a/src/mainboard/google/bluey/mainboard.c b/src/mainboard/google/bluey/mainboard.c index 91c0f3dfad..6551976f55 100644 --- a/src/mainboard/google/bluey/mainboard.c +++ b/src/mainboard/google/bluey/mainboard.c @@ -2,6 +2,7 @@ #include #include +#include #include #include #include @@ -93,9 +94,19 @@ static void setup_usb(void) setup_usb_typec(); enable_usb_camera(); +} + +static void setup_usb_late(void *unused) +{ + /* Skip USB initialization if boot mode is "low-battery" or "off-mode charging"*/ + if (is_low_power_boot()) + return; + setup_usb_host0(); } +BOOT_STATE_INIT_ENTRY(BS_DEV_INIT, BS_ON_EXIT, setup_usb_late, NULL); + void lb_add_boot_mode(struct lb_header *header) { if (!CONFIG(EC_GOOGLE_CHROMEEC)) diff --git a/src/mainboard/google/bluey/romstage.c b/src/mainboard/google/bluey/romstage.c index e0f1f05743..aeb1eeda6b 100644 --- a/src/mainboard/google/bluey/romstage.c +++ b/src/mainboard/google/bluey/romstage.c @@ -101,6 +101,9 @@ static void early_setup_usb(void) void platform_romstage_main(void) { + /* Setup early USB related config */ + early_setup_usb(); + /* Watchdog must be checked first to avoid erasing watchdog info later. */ check_wdog(); @@ -120,9 +123,6 @@ void platform_romstage_main(void) qclib_rerun(); - /* Setup early USB related config */ - early_setup_usb(); - /* * Enable this power rail now for FPMCU stability prior to * its reset being deasserted in ramstage. This applies