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 <baseboard/variants.h>
4 #include <bootblock_common.h>
5 #include <ec/ec.h>
6 #include <soc/gpio.h>
7 
9 {
10  const struct pad_config *pads;
11  size_t num;
12 
14  gpio_configure_pads(pads, num);
15 };
16 
18 {
19  const struct pad_config *pads, *override_pads;
20  size_t num, override_num;
21 
22  /*
23  * Perform EC init before configuring GPIOs. This is because variant
24  * might talk to the EC to get board id and hence it will require EC
25  * init to have already performed.
26  */
28 
29  pads = variant_early_gpio_table(&num);
30  override_pads = variant_early_override_gpio_table(&override_num);
32  override_pads, override_num);
33 }
void mainboard_ec_init(void)
Definition: ec.c:8
__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
const struct soc_amd_gpio *__weak variant_early_override_gpio_table(size_t *size)
Definition: gpio.c:317
const struct pad_config * mainboard_early_bootblock_gpio_table(size_t *num)
Definition: gpio.c:302
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