configs/config.protectli_vp2420_no_emmc: create viariant with disabled emmc

Adds ENABLE_EMMC option (default y) to support VP2420e, a hardware
variant without eMMC. SMBIOS product name gets an "e" suffix when the
option is disabled.

`ScsEmmcEnabled` is set by `soc_silicon_init_params()` via
`is_devfn_enabled(PCH_DEVFN_EMMC)` before `mainboard_silicon_init_params()`
is called, so overriding it directly in FSP UPD at the end of
`mainboard_silicon_init_params()` is sufficient.

`pcidev_path_on_root(PCH_DEVFN_EMMC)->enabled` is also cleared to
prevent the device from appearing in ACPI tables.

Upstream-Status: Inappropriate [Dasharo downstream]

Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>
This commit is contained in:
Wiktor Mowinski
2026-05-19 15:54:22 +02:00
committed by Filip Gołaś
parent 0d14b14578
commit ec7b9eee42
5 changed files with 85 additions and 2 deletions
+5
View File
@@ -18,6 +18,7 @@ usage() {
echo -e "\tvp2430 - build Dasharo for Protectli VP2430"
echo -e "\tvp2430_noemmc - build Dasharo for Protectli VP2430 without eMMC (VP2430e)"
echo -e "\tvp2420 - build Dasharo for Protectli VP2420"
echo -e "\tvp2420_noemmc - build Dasharo for Protectli VP2420 without eMMC (VP2420e)"
echo -e "\tvp2410 - build Dasharo for Protectli VP2410"
echo -e "\tV1210 - build Dasharo for Protectli V1210"
echo -e "\tV1211 - build Dasharo for Protectli V1211"
@@ -386,6 +387,10 @@ case "$CMD" in
BOARD="vp2420"
build_protectli_vault
;;
"vp2420_noemmc" | "VP2420_noemmc" | "vp2420e" | "VP2420e")
BOARD="vp2420"
build_protectli_vault _no_emmc
;;
"vp2430" | "VP2430")
BOARD="vp2430"
build_protectli_vault
+1 -1
View File
@@ -1,4 +1,4 @@
CONFIG_LOCALVERSION="v1.2.1-rc8"
CONFIG_LOCALVERSION="v1.2.2-rc2"
CONFIG_VENDOR_PROTECTLI=y
CONFIG_ONBOARD_VGA_IS_PRIMARY=y
CONFIG_VBOOT=y
+65
View File
@@ -0,0 +1,65 @@
CONFIG_LOCALVERSION="v1.2.2-rc2"
CONFIG_VENDOR_PROTECTLI=y
CONFIG_ONBOARD_VGA_IS_PRIMARY=y
CONFIG_VBOOT=y
CONFIG_DISABLE_HECI1_AT_PRE_BOOT=y
CONFIG_USE_LEGACY_8254_TIMER=y
CONFIG_IFD_BIN_PATH="3rdparty/dasharo-blobs/$(MAINBOARDDIR)/descriptor.bin"
CONFIG_ME_BIN_PATH="3rdparty/dasharo-blobs/$(MAINBOARDDIR)/me.bin"
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x100000
CONFIG_EDK2_BOOT_TIMEOUT=6
CONFIG_HAVE_IFD_BIN=y
CONFIG_TPM_MEASURED_BOOT=y
CONFIG_BOARD_PROTECTLI_VP2420=y
# CONFIG_ENABLE_EMMC is not set
CONFIG_SOC_INTEL_ELKHARTLAKE_TCO_NO_REBOOT_EN=y
CONFIG_EDK2_BOOTSPLASH_FILE="3rdparty/dasharo-blobs/protectli/black_background.bmp"
CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
CONFIG_SOC_INTEL_COMMON_OC_WDT_WDAT=y
CONFIG_HAVE_ME_BIN=y
CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS=y
CONFIG_INTEL_ME_DISABLED_HECI=y
CONFIG_DASHARO_PREFER_S3_SLEEP=y
# CONFIG_DASHARO_FIRMWARE_UPDATE_MODE is not set
CONFIG_DRIVERS_EFI_VARIABLE_STORE=y
CONFIG_SPI_FLASH_NO_FAST_READ=y
CONFIG_DRIVERS_GENERIC_CBFS_SERIAL=y
CONFIG_DRIVERS_GENERIC_CBFS_UUID=y
CONFIG_CBFS_VERIFICATION=y
CONFIG_CBFS_ALLOW_UNVERIFIED_DECOMPRESSION=y
CONFIG_VBOOT_CBFS_INTEGRATION=y
CONFIG_TPM2=y
CONFIG_BOOTMEDIA_LOCK_CONTROLLER=y
CONFIG_BOOTMEDIA_LOCK_WPRO_VBOOT_RO=y
CONFIG_BOOTMEDIA_LOCK_IN_VERSTAGE=y
CONFIG_BOOTMEDIA_SMM_BWP=y
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y
CONFIG_POST_DEVICE_LPC=y
CONFIG_PAYLOAD_EDK2=y
CONFIG_EDK2_USE_EDK2_PLATFORMS=y
CONFIG_EDK2_PLATFORMS_REPOSITORY="https://github.com/Dasharo/edk2-platforms"
CONFIG_EDK2_PLATFORMS_TAG_OR_REV="1002a59639f111a2f8178b77d1f5fde0ea8d976f"
CONFIG_EDK2_CBMEM_LOGGING=y
CONFIG_EDK2_FOLLOW_BGRT_SPEC=y
# CONFIG_EDK2_PS2_SUPPORT is not set
CONFIG_EDK2_SERIAL_SUPPORT=y
CONFIG_BUILD_IPXE=y
CONFIG_IPXE_ADD_SCRIPT=y
CONFIG_IPXE_SCRIPT="3rdparty/dasharo-blobs/dasharo/protectli.ipxe"
CONFIG_IPXE_CUSTOM_BUILD_ID="0123456789"
CONFIG_DASHARO=y
CONFIG_EDK2_ENABLE_IPXE=y
CONFIG_EDK2_IPXE_OPTION_NAME="Network Boot and Utilities"
# CONFIG_EDK2_SECURE_BOOT_DEFAULT_ENABLE is not set
CONFIG_EDK2_SETUP_PASSWORD=y
CONFIG_EDK2_DASHARO_SYSTEM_FEATURES=y
CONFIG_EDK2_DASHARO_SECURITY_OPTIONS=y
CONFIG_EDK2_DASHARO_USB_CONFIG=y
CONFIG_EDK2_DASHARO_POWER_CONFIG=y
CONFIG_EDK2_CPU_THROTTLING_THRESHOLD_OPTION=y
CONFIG_EDK2_DASHARO_NETWORK_BOOT_DEFAULT_ENABLE=y
CONFIG_EDK2_DASHARO_SERIAL_REDIRECTION_DEFAULT_ENABLE=y
CONFIG_EDK2_BOOT_MENU_KEY=0x0015
CONFIG_EDK2_SETUP_MENU_KEY=0x0008
CONFIG_EDK2_DISABLE_OPTION_ROMS=y
CONFIG_EDK2_CREATE_PREINSTALLED_BOOT_OPTIONS=y
+8 -1
View File
@@ -18,7 +18,8 @@ config MAINBOARD_DIR
default "protectli/vault_ehl"
config MAINBOARD_PART_NUMBER
default "VP2420"
default "VP2420" if ENABLE_EMMC
default "VP2420e"
config MAINBOARD_FAMILY
default "Vault Pro"
@@ -55,6 +56,12 @@ config VBOOT_SLOTS_RW_A
config FMDFILE
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/vboot-rwa.fmd" if VBOOT && VBOOT_SLOTS_RW_A
config ENABLE_EMMC
bool "Enable eMMC support"
default y
help
Enable the eMMC storage controller
if PAYLOAD_EDK2
config EDK2_CPU_THROTTLING_THRESHOLD_DEFAULT
@@ -3,6 +3,7 @@
#include <device/device.h>
#include <fsp/api.h>
#include <pc80/i8254.h>
#include <soc/pci_devs.h>
#include <soc/ramstage.h>
static void mainboard_final(void *chip_info)
@@ -20,6 +21,11 @@ void mainboard_silicon_init_params(FSP_S_CONFIG *silconfig)
* intel_pstate by disabling HWP.
*/
silconfig->Hwp = 0;
if (!CONFIG(ENABLE_EMMC)) {
silconfig->ScsEmmcEnabled = 0;
pcidev_path_on_root(PCH_DEVFN_EMMC)->enabled = 0;
}
}
struct chip_operations mainboard_ops = {