coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
variant.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <acpi/acpi.h>
6 #include <baseboard/variants.h>
7 #include <gpio.h>
8 #include <variant/sku.h>
10 
11 const char *mainboard_vbt_filename(void)
12 {
14 
16 
17  switch (sku_id) {
18  case SKU_9_HDMI:
19  case SKU_19_HDMI_TS:
20  return "vbt_garg_hdmi.bin";
21  case SKU_49_2A2C_TS:
22  case SKU_51_2A2C:
23  return "vbt_garfour.bin";
24  case SKU_50_HDMI:
25  case SKU_52_HDMI_TS:
26  return "vbt_garfour_hdmi.bin";
27  default:
28  return "vbt.bin";
29  }
30 }
31 
32 void variant_smi_sleep(u8 slp_typ)
33 {
34  /* Currently use cases here all target to S5 therefore we do early return
35  * here for saving one transaction to the EC for getting SKU ID. */
36  if (slp_typ != ACPI_S5)
37  return;
38 
40  case SKU_17_LTE:
41  case SKU_18_LTE_TS:
44  return;
45  default:
46  return;
47  }
48 }
49 
50 void variant_update_devtree(struct device *dev)
51 {
52  struct soc_intel_apollolake_config *cfg = NULL;
53 
54  cfg = (struct soc_intel_apollolake_config *)dev->chip_info;
55 
56  if (cfg != NULL && (cfg->disable_xhci_lfps_pm != 1)) {
58  case SKU_17_LTE:
59  case SKU_18_LTE_TS:
61  cfg->disable_xhci_lfps_pm = 1;
62  return;
63  default:
64  return;
65  }
66  }
67 }
uint32_t sku_id(void)
uint32_t google_chromeec_get_board_sku(void)
Definition: ec_skuid.c:6
const char * mainboard_vbt_filename(void)
Definition: variant.c:9
void variant_smi_sleep(u8 slp_typ)
Definition: variant.c:15
static void power_off_lte_module(void)
Definition: variant.c:8
void variant_update_devtree(struct device *dev)
Definition: variant.c:46
@ ACPI_S5
Definition: acpi.h:1385
@ SKU_50_HDMI
Definition: sku.h:17
@ SKU_52_HDMI_TS
Definition: sku.h:19
@ SKU_19_HDMI_TS
Definition: sku.h:11
@ SKU_9_HDMI
Definition: sku.h:8
@ SKU_49_2A2C_TS
Definition: sku.h:16
@ SKU_17_LTE
Definition: sku.h:9
@ SKU_18_LTE_TS
Definition: sku.h:10
@ SKU_51_2A2C
Definition: sku.h:18
@ SKU_39_1A2C_360_LTE_TS_NO_STYLUES
Definition: sku.h:15
#define NULL
Definition: stddef.h:19
unsigned int uint32_t
Definition: stdint.h:14
uint8_t u8
Definition: stdint.h:45
Definition: device.h:107
DEVTREE_CONST void * chip_info
Definition: device.h:164
uint8_t disable_xhci_lfps_pm
Definition: chip.h:196