blob: cee0308aaa19780e827296678a656ca27ba7ea55 [file] [log] [blame]
Jamie Chen71b8ee02023-07-18 10:53:02 +08001/* SPDX-License-Identifier: GPL-2.0-only */
2
Rex Chou3c839952023-10-31 15:01:28 +08003#include <baseboard/variants.h>
Ian Feng5eecafe2024-04-02 08:57:43 +08004#include <boardid.h>
Rex Chou3c839952023-10-31 15:01:28 +08005#include <device/device.h>
Jamie Chen71b8ee02023-07-18 10:53:02 +08006#include <sar.h>
7
8const char *get_wifi_sar_cbfs_filename(void)
9{
10 return "wifi_sar_0.hex";
11}
Rex Chou3c839952023-10-31 15:01:28 +080012
13void variant_devtree_update(void)
14{
15 struct device *emmc = DEV_PTR(emmc);
16 struct device *ufs = DEV_PTR(ufs);
17 struct device *ish = DEV_PTR(ish);
18
19 if (!fw_config_is_provisioned()) {
20 printk(BIOS_INFO, "fw_config unprovisioned so enable all storage devices\n");
21 return;
22 }
23
24 if (!fw_config_probe(FW_CONFIG(STORAGE, STORAGE_EMMC))) {
25 printk(BIOS_INFO, "eMMC disabled by fw_config\n");
26 emmc->enabled = 0;
27 }
28
29 if (!fw_config_probe(FW_CONFIG(STORAGE, STORAGE_UFS))) {
30 printk(BIOS_INFO, "UFS disabled by fw_config\n");
31 ufs->enabled = 0;
32 ish->enabled = 0;
33 }
34}
Ian Feng5eecafe2024-04-02 08:57:43 +080035
36void variant_update_soc_chip_config(struct soc_intel_alderlake_config *config)
37{
38 const uint32_t id = board_id();
39 if (id == BOARD_ID_UNKNOWN || id < 2) { // proto=0, EVT=1
40 config->ext_fivr_settings.configure_ext_fivr = 1;
41
42 config->ext_fivr_settings.v1p05_enable_bitmap =
43 FIVR_ENABLE_ALL_SX & ~FIVR_ENABLE_S0;
44 config->ext_fivr_settings.vnn_enable_bitmap =
45 FIVR_ENABLE_ALL_SX;
46 config->ext_fivr_settings.vnn_sx_enable_bitmap =
47 FIVR_ENABLE_ALL_SX;
48 config->ext_fivr_settings.v1p05_supported_voltage_bitmap =
49 FIVR_VOLTAGE_NORMAL;
50 config->ext_fivr_settings.vnn_supported_voltage_bitmap =
51 FIVR_VOLTAGE_MIN_ACTIVE;
52 config->ext_fivr_settings.v1p05_voltage_mv = 1050;
53 config->ext_fivr_settings.vnn_voltage_mv = 780;
54 config->ext_fivr_settings.vnn_sx_voltage_mv = 1050;
55 config->ext_fivr_settings.v1p05_icc_max_ma = 500;
56 config->ext_fivr_settings.vnn_icc_max_ma = 500;
57 printk(BIOS_INFO, "Configured external FIVR\n");
58 }
59}