coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
variants.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef BASEBOARD_VARIANTS_H
4 #define BASEBOARD_VARIANTS_H
5 
6 #include <soc/cnl_memcfg_init.h>
7 #include <soc/gpio.h>
8 #include <stdint.h>
9 
10 /*
11  * The next set of functions return the gpio table and fill in the number of
12  * entries for each table. The "base" GPIOs live in the "baseboard" variant, and
13  * the overrides live with the specific board (kohaku, kled, etc.).
14 */
15 const struct pad_config *base_gpio_table(size_t *num);
16 const struct pad_config *override_gpio_table(size_t *num);
17 
18 /* Return board specific memory configuration */
19 void variant_memory_params(struct cnl_mb_cfg *bcfg);
20 
21 /* Return memory SKU for the variant */
22 int variant_memory_sku(void);
23 
24 /* Return variant specific gpio pads to be configured during sleep */
25 const struct pad_config *variant_sleep_gpio_table(u8 slp_typ, size_t *num);
26 
27 /* Return GPIO pads that need to be configured before ramstage */
28 const struct pad_config *variant_early_gpio_table(size_t *num);
29 
30 /* Modify devictree settings during ramstage. */
31 void variant_devtree_update(void);
32 
33 /* Perform variant specific initialization early on in ramstage. */
34 void variant_ramstage_init(void);
35 
36 /* Perform variant specific mainboard initialization */
37 void variant_mainboard_enable(struct device *dev);
38 
39 #endif /* BASEBOARD_VARIANTS_H */
const struct mb_cfg * variant_memory_params(void)
Definition: memory.c:67
void variant_devtree_update(void)
Definition: mainboard.c:86
const struct pad_config * variant_early_gpio_table(size_t *num)
Definition: gpio.c:204
int variant_memory_sku(void)
Definition: memory.c:74
const struct pad_config * variant_sleep_gpio_table(size_t *num)
Definition: gpio.c:466
const struct pad_config * override_gpio_table(size_t *num)
Definition: gpio.c:124
void variant_ramstage_init(void)
Definition: ramstage.c:19
void variant_mainboard_enable(struct device *dev)
Definition: ramstage.c:24
const struct pad_config * base_gpio_table(size_t *num)
Definition: gpio.c:378
uint8_t u8
Definition: stdint.h:45
Definition: device.h:107