coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
bootblock.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <amdblocks/espi.h>
4 #include <bootblock_common.h>
5 #include <baseboard/variants.h>
6 #include <soc/espi.h>
7 
9 {
10  size_t num_gpios;
11  const struct soc_amd_gpio *gpios;
12 
13  variant_espi_gpio_table(&gpios, &num_gpios);
14  gpio_configure_pads(gpios, num_gpios);
15 
17 }
18 
20 {
21  size_t num_gpios, override_num_gpios;
22  const struct soc_amd_gpio *gpios, *override_gpios;
23 
24  variant_tpm_gpio_table(&gpios, &num_gpios);
25  gpio_configure_pads(gpios, num_gpios);
26 
27  variant_early_gpio_table(&gpios, &num_gpios);
28  variant_early_override_gpio_table(&override_gpios, &override_num_gpios);
29  gpio_configure_pads_with_override(gpios, num_gpios, override_gpios, override_num_gpios);
30 }
31 
33 {
34  size_t num_gpios;
35  const struct soc_amd_gpio *gpios;
36 
37  variant_bootblock_gpio_table(&gpios, &num_gpios);
38  gpio_configure_pads(gpios, num_gpios);
39 }
__weak void bootblock_mainboard_init(void)
Definition: bootblock.c:19
__weak void bootblock_mainboard_early_init(void)
Definition: bootblock.c:16
const struct pad_config * variant_early_gpio_table(size_t *num)
Definition: gpio.c:204
void mb_set_up_early_espi(void)
Definition: bootblock.c:15
const __weak struct soc_amd_gpio * variant_espi_gpio_table(size_t *size)
Definition: gpio.c:348
const struct soc_amd_gpio *__weak variant_early_override_gpio_table(size_t *size)
Definition: gpio.c:317
const __weak struct soc_amd_gpio * variant_tpm_gpio_table(size_t *size)
Definition: gpio.c:354
const struct soc_amd_gpio *__weak variant_bootblock_gpio_table(size_t *size)
Definition: gpio.c:300
void espi_switch_to_spi1_pads(void)
Definition: espi_util.c:13
void gpio_configure_pads(const struct soc_amd_gpio *gpio_list_ptr, size_t size)
program a particular set of GPIO
Definition: gpio.c:307
void gpio_configure_pads_with_override(const struct soc_amd_gpio *base_cfg, size_t base_num_pads, const struct soc_amd_gpio *override_cfg, size_t override_num_pads)
Definition: gpio.c:262