coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
verstage.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 #include <amdblocks/acpimmio.h>
4 #include <amdblocks/gpio.h>
5 #include <arch/io.h>
6 #include <baseboard/variants.h>
7 #include <psp_verstage.h>
9 #include <soc/southbridge.h>
10 
12 {
13  const struct soc_amd_gpio *gpios, *override_gpios;
14  size_t num_gpios, override_num_gpios;
15 
16  variant_early_gpio_table(&gpios, &num_gpios);
17  variant_early_override_gpio_table(&override_gpios, &override_num_gpios);
18  gpio_configure_pads_with_override(gpios, num_gpios, override_gpios, override_num_gpios);
19 }
20 
22 {
23  const struct soc_amd_gpio *gpios;
24  size_t num_gpios;
25 
26  variant_espi_gpio_table(&gpios, &num_gpios);
27  gpio_configure_pads(gpios, num_gpios);
28 }
29 
31 {
32  const struct soc_amd_gpio *gpios;
33  size_t num_gpios;
34 
35  variant_tpm_gpio_table(&gpios, &num_gpios);
36  gpio_configure_pads(gpios, num_gpios);
37 }
const struct pad_config * variant_early_gpio_table(size_t *num)
Definition: gpio.c:204
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
void verstage_mainboard_tpm_init(void)
Definition: verstage.c:44
void verstage_mainboard_early_init(void)
Definition: verstage.c:11
void verstage_mainboard_espi_init(void)
Definition: verstage.c:21
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