| /* SPDX-License-Identifier: GPL-2.0-only */ |
| |
| #include <baseboard/variants.h> |
| #include <boardid.h> |
| #include <console/console.h> |
| #include <device/device.h> |
| #include <drivers/intel/gma/opregion.h> |
| #include <fw_config.h> |
| #include <sar.h> |
| |
| const char *get_wifi_sar_cbfs_filename(void) |
| { |
| if (fw_config_probe(FW_CONFIG(WIFI_SAR_ID, SAR_ID_0))) |
| return "wifi_sar_0.hex"; |
| if (fw_config_probe(FW_CONFIG(WIFI_SAR_ID, SAR_ID_2))) |
| return "wifi_sar_2.hex"; |
| |
| return NULL; |
| } |
| |
| const char *mainboard_vbt_filename(void) |
| { |
| if (fw_config_probe(FW_CONFIG(MB_HDMI, HDMI_PRESENT))) { |
| printk(BIOS_INFO, "Use vbt-yavilla.bin\n"); |
| return "vbt-yavilla.bin"; |
| } |
| printk(BIOS_INFO, "Use vbt.bin\n"); |
| return "vbt.bin"; |
| } |
| |
| void variant_update_soc_chip_config(struct soc_intel_alderlake_config *config) |
| { |
| const uint32_t id = board_id(); |
| if (id == BOARD_ID_UNKNOWN || id < 4) { // proto, EVT |
| config->ext_fivr_settings.configure_ext_fivr = 1; |
| |
| config->ext_fivr_settings.v1p05_enable_bitmap = |
| FIVR_ENABLE_ALL_SX & ~FIVR_ENABLE_S0; |
| config->ext_fivr_settings.vnn_enable_bitmap = |
| FIVR_ENABLE_ALL_SX; |
| config->ext_fivr_settings.vnn_sx_enable_bitmap = |
| FIVR_ENABLE_ALL_SX; |
| config->ext_fivr_settings.v1p05_supported_voltage_bitmap = |
| FIVR_VOLTAGE_NORMAL; |
| config->ext_fivr_settings.vnn_supported_voltage_bitmap = |
| FIVR_VOLTAGE_MIN_ACTIVE; |
| config->ext_fivr_settings.v1p05_voltage_mv = 1050; |
| config->ext_fivr_settings.vnn_voltage_mv = 780; |
| config->ext_fivr_settings.vnn_sx_voltage_mv = 1050; |
| config->ext_fivr_settings.v1p05_icc_max_ma = 500; |
| config->ext_fivr_settings.vnn_icc_max_ma = 500; |
| printk(BIOS_INFO, "Configured External FIVR\n"); |
| } |
| } |
| |
| void variant_devtree_update(void) |
| { |
| struct device *emmc = DEV_PTR(emmc); |
| struct device *ufs = DEV_PTR(ufs); |
| struct device *ish = DEV_PTR(ish); |
| |
| if (!fw_config_is_provisioned()) { |
| printk(BIOS_INFO, "fw_config unprovisioned so enable all storage devices\n"); |
| return; |
| } |
| |
| if (!fw_config_probe(FW_CONFIG(STORAGE, STORAGE_EMMC))) { |
| printk(BIOS_INFO, "eMMC disabled by fw_config\n"); |
| emmc->enabled = 0; |
| } |
| |
| if (!fw_config_probe(FW_CONFIG(STORAGE, STORAGE_UFS))) { |
| printk(BIOS_INFO, "UFS disabled by fw_config\n"); |
| ufs->enabled = 0; |
| ish->enabled = 0; |
| } |
| } |