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>
4 #include <sar.h>
5 #include <baseboard/variants.h>
6 #include <gpio.h>
9 
10 enum {
11  SKU_37_DROID = 37, /* LTE */
12  SKU_38_DROID = 38, /* LTE + Touch */
13  SKU_39_DROID = 39, /* LTE + KB backlight*/
14  SKU_40_DROID = 40, /* LTE + Touch + KB backlight*/
15 };
16 
17 const char *get_wifi_sar_cbfs_filename(void)
18 {
20 
21  if (sku_id >= 33 && sku_id <= 44)
22  return "wifi_sar-droid.hex";
23 
25 }
26 
27 void variant_smi_sleep(u8 slp_typ)
28 {
29  /* Currently use cases here all target to S5 therefore we do early return
30  * here for saving one transaction to the EC for getting SKU ID. */
31  if (slp_typ != ACPI_S5)
32  return;
33 
35  case SKU_37_DROID:
36  case SKU_38_DROID:
37  case SKU_39_DROID:
38  case SKU_40_DROID:
40  return;
41  default:
42  return;
43  }
44 }
45 
46 void variant_update_devtree(struct device *dev)
47 {
48  struct soc_intel_apollolake_config *cfg = NULL;
49 
50  cfg = (struct soc_intel_apollolake_config *)dev->chip_info;
51 
52  if (cfg != NULL && (cfg->disable_xhci_lfps_pm != 1)) {
54  case 37:
55  case 38:
56  case 39:
57  case 40:
58  cfg->disable_xhci_lfps_pm = 1;
59  return;
60  default:
61  return;
62  }
63  }
64 }
uint32_t sku_id(void)
uint32_t google_chromeec_get_board_sku(void)
Definition: ec_skuid.c:6
const char * get_wifi_sar_cbfs_filename(void)
Definition: variant.c:5
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
@ SKU_39_DROID
Definition: variant.c:13
@ SKU_37_DROID
Definition: variant.c:11
@ SKU_38_DROID
Definition: variant.c:12
@ SKU_40_DROID
Definition: variant.c:14
@ ACPI_S5
Definition: acpi.h:1385
#define WIFI_SAR_CBFS_DEFAULT_FILENAME
Definition: sar.h:87
#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