From f2e5867988aed2e3a04d821a3e0622bdbad1b51f Mon Sep 17 00:00:00 2001 From: Wiktor Mowinski Date: Tue, 19 May 2026 13:43:41 +0200 Subject: [PATCH] configs/config.protectli_vp2410_no_emmc: create config variant MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds ENABLE_EMMC option (default y) to allow building firmware for VP2410e — a hardware variant without eMMC. When disabled, the product name reported via SMBIOS changes to "VP2410e". `eMMCEnabled` is set by `parse_devicetree()` at the start of `platform_fsp_silicon_init_params_cb()`, before `mainboard_silicon_init_params()` is called. Overriding it directly in FSP UPD at the end of that function is sufficient to prevent FSP from initializing the controller. `pcidev_path_on_root(PCH_DEVFN_EMMC)->enabled` is also cleared so the device does not appear in ACPI tables. Upstream-Status: Inappropriate [Dasharo downstream] Signed-off-by: Wiktor Mowinski --- build.sh | 4 ++ configs/config.protectli_vp2410 | 2 +- configs/config.protectli_vp2410_no_emmc | 63 +++++++++++++++++++ src/mainboard/protectli/vault_glk/Kconfig | 9 ++- src/mainboard/protectli/vault_glk/mainboard.c | 6 ++ 5 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 configs/config.protectli_vp2410_no_emmc diff --git a/build.sh b/build.sh index f8cacc52dce..e9db2f1d015 100755 --- a/build.sh +++ b/build.sh @@ -381,6 +381,10 @@ case "$CMD" in BOARD="vp2410" build_protectli_vault ;; + "vp2410_noemmc" | "VP2410_noemmc" | "vp2410e" | "VP2410e") + BOARD="vp2410" + build_protectli_vault _no_emmc + ;; "vp2420" | "VP2420") BOARD="vp2420" build_protectli_vault diff --git a/configs/config.protectli_vp2410 b/configs/config.protectli_vp2410 index 5f76b660af6..6c36fc0235c 100644 --- a/configs/config.protectli_vp2410 +++ b/configs/config.protectli_vp2410 @@ -1,4 +1,4 @@ -CONFIG_LOCALVERSION="v1.1.1" +CONFIG_LOCALVERSION="v1.1.2-rc1" CONFIG_OPTION_BACKEND_NONE=y CONFIG_VENDOR_PROTECTLI=y CONFIG_ONBOARD_VGA_IS_PRIMARY=y diff --git a/configs/config.protectli_vp2410_no_emmc b/configs/config.protectli_vp2410_no_emmc new file mode 100644 index 00000000000..c00aff22a4b --- /dev/null +++ b/configs/config.protectli_vp2410_no_emmc @@ -0,0 +1,63 @@ +CONFIG_LOCALVERSION="v1.1.2-rc1" +CONFIG_OPTION_BACKEND_NONE=y +CONFIG_VENDOR_PROTECTLI=y +CONFIG_ONBOARD_VGA_IS_PRIMARY=y +# CONFIG_DISABLE_HECI1_AT_PRE_BOOT is not set +CONFIG_FSP_FD_PATH="3rdparty/dasharo-blobs/$(MAINBOARDDIR)/GeminilakeFspBinPkg/Fsp.fd" +CONFIG_IFD_BIN_PATH="3rdparty/dasharo-blobs/$(MAINBOARDDIR)/descriptor.bin" +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x100000 +CONFIG_EDK2_BOOT_TIMEOUT=6 +CONFIG_IFWI_FILE_NAME="3rdparty/dasharo-blobs/$(MAINBOARDDIR)/ifwi.bin" +CONFIG_HAVE_IFD_BIN=y +CONFIG_TPM_MEASURED_BOOT=y +CONFIG_BOARD_PROTECTLI_VP2410=y +# CONFIG_ENABLE_EMMC is not set +CONFIG_DRIVERS_UART_8250IO=y +CONFIG_EDK2_BOOTSPLASH_FILE="3rdparty/dasharo-blobs/protectli/black_background.bmp" +CONFIG_FSP_HEADER_PATH="3rdparty/dasharo-blobs/$(MAINBOARDDIR)/GeminilakeFspBinPkg/Include" +CONFIG_USE_INTEL_FSP_MP_INIT=y +CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS=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_ADD_FSP_BINARIES=y +CONFIG_FSP_FULL_FD=y +CONFIG_TPM2=y +CONFIG_BOOTMEDIA_SMM_BWP=y +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y +# CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX is not set +# CONFIG_CONSOLE_USE_ANSI_ESCAPES is not set +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_PRIORITIZE_INTERNAL is not set +# 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 +CONFIG_EDK2_USE_UEFIVAR_BACKED_TPM_PPI=y diff --git a/src/mainboard/protectli/vault_glk/Kconfig b/src/mainboard/protectli/vault_glk/Kconfig index fb37ae42666..1b8807dd7fa 100644 --- a/src/mainboard/protectli/vault_glk/Kconfig +++ b/src/mainboard/protectli/vault_glk/Kconfig @@ -26,7 +26,8 @@ config DEVICETREE config MAINBOARD_PART_NUMBER string - default "VP2410" + default "VP2410" if ENABLE_EMMC + default "VP2410e" config MAINBOARD_FAMILY default "Vault Pro" @@ -50,6 +51,12 @@ config FMDFILE string default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/board.fmd" if !VBOOT +config ENABLE_EMMC + bool "Enable eMMC support" + default y + help + Enable the eMMC storage controller + config BEEP_ON_BOOT bool "Beep on successful boot" default y diff --git a/src/mainboard/protectli/vault_glk/mainboard.c b/src/mainboard/protectli/vault_glk/mainboard.c index 341ef0497a5..6f4cd0e12a5 100644 --- a/src/mainboard/protectli/vault_glk/mainboard.c +++ b/src/mainboard/protectli/vault_glk/mainboard.c @@ -4,6 +4,7 @@ #include #include #include +#include #include static void mainboard_final(void *chip_info) @@ -77,6 +78,11 @@ void mainboard_silicon_init_params(FSP_S_CONFIG *silconfig) silconfig->PcieRpClkReqSupported[5] = 0x0; silconfig->AdvancedErrorReporting[5] = 0x1; silconfig->PmeInterrupt[5] = 0x1; + + if (!CONFIG(ENABLE_EMMC)) { + silconfig->eMMCEnabled = 0; + pcidev_path_on_root(PCH_DEVFN_EMMC)->enabled = 0; + } } struct chip_operations mainboard_ops = {