coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
romstage.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <arch/stages.h>
4 #include <soc/usb/usb_common.h>
5 #include <soc/qclib_common.h>
6 #include "board.h"
7 #include <soc/shrm.h>
8 
9 static void prepare_usb(void)
10 {
11  /*
12  * Do DWC3 core and phy reset. Kick these resets
13  * off early so they get at least 1ms to settle.
14  */
15  reset_usb0();
16 }
17 
19 {
21  /* QCLib: DDR init & train */
23  prepare_usb();
24  /* This rail needs to be stable by the time we take the FPMCU out of
25  reset in ramstage, so already turn it on here. This needs to happen
26  at least 200ms after this pin was first driven low in the bootblock. */
27  if (CONFIG(HEROBRINE_HAS_FINGERPRINT))
29 }
__weak void platform_romstage_main(void)
Definition: romstage.c:10
@ CONFIG
Definition: dsi_common.h:201
#define GPIO_EN_FP_RAILS
Definition: board.h:49
void gpio_output(gpio_t gpio, int value)
Definition: gpio.c:194
static void prepare_usb(void)
Definition: romstage.c:9
void qclib_load_and_run(void)
Definition: qclib.c:152
void reset_usb0(void)
Definition: usb.c:75
void shrm_fw_load_reset(void)