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/gpio.h>
7 #include <soc/meminit.h>
8 #include <stdint.h>
9 
10 /* Return the sku id based off the strapping resistors attached to SoC. */
12 
13 /* The next set of functions return the gpio table and fill in the number of
14  * entries for each table. */
15 const struct pad_config *variant_gpio_table(size_t *num);
16 const struct pad_config *variant_early_gpio_table(size_t *num);
17 const struct pad_config *variant_sleep_gpio_table(u8 slp_typ, size_t *num);
18 const struct pad_config *variant_sku_gpio_table(size_t *num);
19 
20 /* Baseboard default swizzle. Can be reused if swizzle is same. */
22 /* Return LPDDR4 configuration structure. */
23 const struct lpddr4_cfg *variant_lpddr4_config(void);
24 /* Return memory SKU for the board. */
25 size_t variant_memory_sku(void);
26 /* Return board SKU. Limited to uint8_t, so it fits into 3 decimal digits */
28 /* Set variant board sku to ec by sku id */
30 
31 /* Seed the NHLT tables with the board specific information. */
32 struct nhlt;
33 void variant_nhlt_oem_overrides(const char **oem_id,
34  const char **oem_table_id, uint32_t *oem_revision);
35 void variant_nhlt_init(struct nhlt *nhlt);
36 
37 #endif /* BASEBOARD_VARIANTS_H */
const struct pad_config * variant_gpio_table(size_t *num)
Definition: gpio.c:406
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
void variant_nhlt_init(struct nhlt *nhlt)
Definition: nhlt.c:7
void variant_nhlt_oem_overrides(const char **oem_id, const char **oem_table_id, uint32_t *oem_revision)
Definition: nhlt.c:16
uint8_t variant_board_sku(void)
Definition: mainboard.c:172
const struct lpddr4_swizzle_cfg baseboard_lpddr4_swizzle
Definition: memory.c:9
const struct lpddr4_cfg * variant_lpddr4_config(void)
Definition: memory.c:190
const struct pad_config * variant_sku_gpio_table(size_t *num)
Definition: gpio.c:408
void variant_board_ec_set_skuid(void)
Definition: mainboard.c:73
uint8_t sku_strapping_value(void)
Definition: mainboard.c:52
unsigned int uint32_t
Definition: stdint.h:14
uint8_t u8
Definition: stdint.h:45
unsigned char uint8_t
Definition: stdint.h:8
Definition: nhlt.h:287