1 /* SPDX-License-Identifier: GPL-2.0-or-later */
6 #include <include/types.h>
8 /* VPD variable for enabling/disabling FRB2 timer. 1/0: Enable/disable */
9 #define FRB2_TIMER "frb2_timer_enable"
10 #define FRB2_TIMER_DEFAULT 1 /* Default value when the VPD variable is not found */
12 /* VPD variable for setting FRB2 timer countdown value (unit: 100ms). */
13 #define FRB2_COUNTDOWN "frb2_countdown"
14 /* Default countdown is 15 minutes when the VPD variable is not found */
15 #define FRB2_COUNTDOWN_DEFAULT 9000
17 /* VPD variable for setting FRB2 timer action.
18 0: No action, 1: hard reset, 2: power down, 3: power cycle */
19 #define FRB2_ACTION "frb2_action"
20 #define FRB2_ACTION_DEFAULT 0 /* Default no action when the VPD variable is not found */
22 /* coreboot log level */
23 #define COREBOOT_LOG_LEVEL "coreboot_log_level"
24 #define COREBOOT_LOG_LEVEL_DEFAULT 4
26 /* Define the VPD keys for UPD variables that can be overwritten */
27 #define FSP_LOG "fsp_log_enable" /* 1 or 0: enable or disable FSP SOL log */
28 #define FSP_LOG_DEFAULT 1 /* Default value when the VPD variable is not found */
30 /* Select Memory Serial Debug Message Level.
31 0:Disable, 1:Minimum, 2:Normal, 3:Maximum, 4:Auto */
32 #define FSP_MEM_LOG_LEVEL "fsp_mem_log_lvl"
33 #define FSP_MEM_LOG_LEVEL_DEFAULT 1
35 /* VPD variable for enabling/disabling MRC promote warning in FSP.
36 System may upgrade memory training warning to fatal error when enabled.
37 0: Disable, 1: Enable */
38 #define MRC_PROMOTE_WARNING "mrc_promote_warning"
39 #define MRC_PROMOTE_WARNING_DEFAULT 1
42 #define SMM_LOG_LEVEL "smm_log_level"
43 #define SMM_LOG_LEVEL_DEFAULT 0 /* By default 0 would disable SMM log completely */
45 /* FSP Dfx PMIC secure mode.
46 0:Disable Pmic Secure Mode, 1:Enable Pmic Secure Mode, 2:Auto Pmic Secure Mode */
47 #define FSP_PMIC_SECURE_MODE "fsp_pmic_mode"
48 #define FSP_PMIC_SECURE_MODE_DEFAULT 2
50 enum cxl_memory_mode
{
52 CXL_SYSTEM_MEMORY
= 1,
57 /* CXL mode. 0: Disable CXL, 1: configured as system memory, 2: configured as SPM. */
58 #define CXL_MODE "cxl_mode"
59 #define CXL_MODE_DEFAULT CXL_SYSTEM_MEMORY /* By default configured as system memory */
61 /* Skip TXT lockdown */
62 #define SKIP_INTEL_TXT_LOCKDOWN "skip_intel_txt_lockdown"
63 #define SKIP_INTEL_TXT_LOCKDOWN_DEFAULT 0
65 /* Disable boot drive PCIe root port for testing */
66 #define DISABLE_BOOTDRIVE "disable_bootdrive"
67 #define DISABLE_BOOTDRIVE_DEFAULT 0 /* By default don't disable */
69 /* Skip Global reset so that information in Previous Boot Error HOB won't be cleared */
70 #define SKIP_GLOBAL_RESET "skip_global_reset"
71 #define SKIP_GLOBAL_RESET_DEFAULT 1
73 /* Disable memory poison */
74 #define DISABLE_MEM_POISON "disable_mem_poison"
75 #define DISABLE_MEM_POISON_DEFAULT 0
77 /* Socket 0 core disable bitmask, set 1 to disable core */
78 #define CORE_DIS_BITMSK0 "core_disable_bitmask0"
79 /* Socket 1 core disable bitmask */
80 #define CORE_DIS_BITMSK1 "core_disable_bitmask1"
82 /* Linux payload kernel log level */
83 #define KERNEL_LOG_LEVEL "kernel_log_level"
85 /* Get VPD key with provided fallback value and min/max ranges */
86 int get_int_from_vpd_range(const char *const key
, const int fallback
, const int min
,
88 bool get_bool_from_vpd(const char *const key
, const bool fallback
);
89 int get_cxl_mode_from_vpd(void);
90 int get_loglevel_from_vpd(const char *const key
, const int fallback
);