coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
sku.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <baseboard/variants.h>
4 #include <gpio.h>
5 #include <variant/sku.h>
6 
8 {
9 #if ENV_ROMSTAGE
11 #else
12  static uint32_t sku_id = SKU_UNKNOWN;
13 
14  if (sku_id != SKU_UNKNOWN)
15  return sku_id;
16 #endif
17 
18  /*
19  * Nautilus uses GPP_B20 to determine SKU
20  * 0 - Wifi SKU
21  * 1 - LTE SKU
22  */
24  if (!gpio_get(GPP_B20))
26  else
28 
29  return sku_id;
30 }
#define GPP_B20
Definition: gpio_soc_defs.h:73
uint32_t sku_id(void)
Definition: sku.c:14
#define SKU_UNKNOWN
Definition: variant.c:8
int gpio_get(gpio_t gpio)
Definition: gpio.c:166
void gpio_input_pulldown(gpio_t gpio)
Definition: gpio.c:179
#define SKU_0_NAUTILUS
Definition: sku.h:7
#define SKU_1_NAUTILUS_LTE
Definition: sku.h:8
uint32_t variant_board_sku(void)
Definition: sku.c:7
unsigned int uint32_t
Definition: stdint.h:14