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
7
uint32_t
variant_board_sku
(
void
)
8
{
9
#if ENV_ROMSTAGE
10
uint32_t
sku_id
=
SKU_UNKNOWN
;
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
*/
23
gpio_input_pulldown
(
GPP_B20
);
24
if
(!
gpio_get
(
GPP_B20
))
25
sku_id
=
SKU_0_NAUTILUS
;
26
else
27
sku_id
=
SKU_1_NAUTILUS_LTE
;
28
29
return
sku_id
;
30
}
GPP_B20
#define GPP_B20
Definition:
gpio_soc_defs.h:73
sku_id
uint32_t sku_id(void)
Definition:
sku.c:14
SKU_UNKNOWN
#define SKU_UNKNOWN
Definition:
variant.c:8
gpio_get
int gpio_get(gpio_t gpio)
Definition:
gpio.c:166
gpio_input_pulldown
void gpio_input_pulldown(gpio_t gpio)
Definition:
gpio.c:179
SKU_0_NAUTILUS
#define SKU_0_NAUTILUS
Definition:
sku.h:7
SKU_1_NAUTILUS_LTE
#define SKU_1_NAUTILUS_LTE
Definition:
sku.h:8
variant_board_sku
uint32_t variant_board_sku(void)
Definition:
sku.c:7
uint32_t
unsigned int uint32_t
Definition:
stdint.h:14
src
mainboard
google
poppy
variants
nautilus
sku.c
Generated by
1.9.1