Jamie Chen | 71b8ee0 | 2023-07-18 10:53:02 +0800 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
| 2 | |
Rex Chou | 3c83995 | 2023-10-31 15:01:28 +0800 | [diff] [blame] | 3 | #include <baseboard/variants.h> |
Ian Feng | 5eecafe | 2024-04-02 08:57:43 +0800 | [diff] [blame^] | 4 | #include <boardid.h> |
Rex Chou | 3c83995 | 2023-10-31 15:01:28 +0800 | [diff] [blame] | 5 | #include <device/device.h> |
Jamie Chen | 71b8ee0 | 2023-07-18 10:53:02 +0800 | [diff] [blame] | 6 | #include <sar.h> |
| 7 | |
| 8 | const char *get_wifi_sar_cbfs_filename(void) |
| 9 | { |
| 10 | return "wifi_sar_0.hex"; |
| 11 | } |
Rex Chou | 3c83995 | 2023-10-31 15:01:28 +0800 | [diff] [blame] | 12 | |
| 13 | void 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 Feng | 5eecafe | 2024-04-02 08:57:43 +0800 | [diff] [blame^] | 35 | |
| 36 | void 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 | } |