From d171a6e35c9330bb04579df4aea8e25f7d7dcb23 Mon Sep 17 00:00:00 2001 From: Wiktor Mowinski Date: Tue, 19 May 2026 15:54:22 +0200 Subject: [PATCH] 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 --- 3rdparty/dasharo-blobs | 2 +- build.sh | 5 ++ configs/config.protectli_vp2420 | 4 +- configs/config.protectli_vp2420_no_emmc | 66 +++++++++++++++++++ src/mainboard/protectli/vault_ehl/Kconfig | 9 ++- src/mainboard/protectli/vault_ehl/mainboard.c | 6 ++ 6 files changed, 88 insertions(+), 4 deletions(-) create mode 100644 configs/config.protectli_vp2420_no_emmc diff --git a/3rdparty/dasharo-blobs b/3rdparty/dasharo-blobs index 5e9a871331..cc5549a841 160000 --- a/3rdparty/dasharo-blobs +++ b/3rdparty/dasharo-blobs @@ -1 +1 @@ -Subproject commit 5e9a8713316908361ae5f192fcedd5fad0346895 +Subproject commit cc5549a841bdf7a444a6cbacae0dc47c377c07b8 diff --git a/build.sh b/build.sh index 0c980e3619..429ac2b944 100755 --- a/build.sh +++ b/build.sh @@ -14,6 +14,7 @@ usage() { echo -e "\tvp32xx - build Dasharo for Protectli VP32xx" echo -e "\tvp2430 - build Dasharo for Protectli VP2430" 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 "\tV1410 - build Dasharo for Protectli V1410" @@ -307,6 +308,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 diff --git a/configs/config.protectli_vp2420 b/configs/config.protectli_vp2420 index 9f8e1707a6..cc2aa9f106 100644 --- a/configs/config.protectli_vp2420 +++ b/configs/config.protectli_vp2420 @@ -1,4 +1,4 @@ -CONFIG_LOCALVERSION="v1.2.2-rc1" +CONFIG_LOCALVERSION="v1.2.2-rc2" CONFIG_VENDOR_PROTECTLI=y CONFIG_ONBOARD_VGA_IS_PRIMARY=y CONFIG_VBOOT=y @@ -36,7 +36,7 @@ CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y CONFIG_POST_DEVICE_LPC=y CONFIG_PAYLOAD_EDK2=y CONFIG_EDK2_REPOSITORY="https://github.com/Dasharo/edk2" -CONFIG_EDK2_TAG_OR_REV="8d06fe48bd991fbb42deb627f72867fc8860a614" +CONFIG_EDK2_TAG_OR_REV="1140f00597394d9ebc3d228498538e809d6e2b25" CONFIG_EDK2_USE_EDK2_PLATFORMS=y CONFIG_EDK2_PLATFORMS_REPOSITORY="https://github.com/Dasharo/edk2-platforms" CONFIG_EDK2_PLATFORMS_TAG_OR_REV="3323ed481d35096fb6a7eae7b49f35eff00f86cf" diff --git a/configs/config.protectli_vp2420_no_emmc b/configs/config.protectli_vp2420_no_emmc new file mode 100644 index 0000000000..efd9409f9f --- /dev/null +++ b/configs/config.protectli_vp2420_no_emmc @@ -0,0 +1,66 @@ +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_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_USE_LEGACY_8254_TIMER=y +CONFIG_HAVE_IFD_BIN=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/bootsplash.bmp" +CONFIG_TPM_MEASURED_BOOT=y +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_REPOSITORY="https://github.com/Dasharo/edk2" +CONFIG_EDK2_TAG_OR_REV="1140f00597394d9ebc3d228498538e809d6e2b25" +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_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 diff --git a/src/mainboard/protectli/vault_ehl/Kconfig b/src/mainboard/protectli/vault_ehl/Kconfig index e5b0f66944..b6eb8256a9 100644 --- a/src/mainboard/protectli/vault_ehl/Kconfig +++ b/src/mainboard/protectli/vault_ehl/Kconfig @@ -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 diff --git a/src/mainboard/protectli/vault_ehl/mainboard.c b/src/mainboard/protectli/vault_ehl/mainboard.c index 9163984edf..169c32579a 100644 --- a/src/mainboard/protectli/vault_ehl/mainboard.c +++ b/src/mainboard/protectli/vault_ehl/mainboard.c @@ -3,6 +3,7 @@ #include #include #include +#include #include 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 = {