configs/config.protectli_v2440_no_emmc: config with eMMC disabled

Add CONFIG_ENABLE_EMMC Kconfig option (default y) to allow building
firmware without eMMC support for VP2440e hardware variants that lack
the eMMC controller. When disabled, ScsEmmcEnabled is cleared in FSP-S
UPD and the PCH eMMC device is disabled in ACPI, preventing spurious
initialization errors in firmware logs. SMBIOS product name reflects
the variant ("VP2440" vs "VP2440e"). Adds config.protectli_vp2440_no_emmc
defconfig and vp2440_noemmc/vp2440e build targets to build.sh.

Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>
This commit is contained in:
Wiktor Mowinski
2026-05-21 11:10:58 +02:00
committed by Filip Gołaś
parent 18e421a572
commit 623e9ba192
4 changed files with 80 additions and 1 deletions
+5
View File
@@ -14,6 +14,7 @@ usage() {
echo -e "\tvp46xx_noemmc- build Dasharo for Protectli VP46xx variants without eMMC (VP46xxe, VP4651)"
echo -e "\tvp32xx - build Dasharo for Protectli VP32xx"
echo -e "\tvp2440 - build Dasharo for Protectli VP2440"
echo -e "\tvp2440_noemmc - build Dasharo for Protectli VP2440 without eMMC (VP2440e)"
echo -e "\tvp2430 - build Dasharo for Protectli VP2430"
echo -e "\tvp2420 - build Dasharo for Protectli VP2420"
echo -e "\tvp2410 - build Dasharo for Protectli VP2410"
@@ -392,6 +393,10 @@ case "$CMD" in
BOARD="vp2440"
build_protectli_vault
;;
"vp2440_noemmc" | "VP2440_noemmc" | "vp2440e" | "VP2440e")
BOARD="vp2440"
build_protectli_vault _no_emmc
;;
"v1210" | "V1210" )
build_v1x10 "v1210"
;;
+62
View File
@@ -0,0 +1,62 @@
CONFIG_LOCALVERSION="v0.9.1-rc3"
CONFIG_OPTION_BACKEND_NONE=y
CONFIG_VENDOR_PROTECTLI=y
CONFIG_VBOOT=y
CONFIG_IFD_BIN_PATH="3rdparty/dasharo-blobs/$(MAINBOARDDIR)/vp2440/descriptor.bin"
CONFIG_ME_BIN_PATH="3rdparty/dasharo-blobs/$(MAINBOARDDIR)/vp2440/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_VP2440=y
# CONFIG_ENABLE_EMMC is not set
CONFIG_EDK2_BOOTSPLASH_FILE="$(top)/3rdparty/dasharo-blobs/protectli/black_background.bmp"
CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
CONFIG_HAVE_ME_BIN=y
CONFIG_INTEL_ME_DISABLED_HECI=y
# CONFIG_DASHARO_FIRMWARE_UPDATE_MODE is not set
CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR=y
CONFIG_DRIVERS_EFI_VARIABLE_STORE=y
CONFIG_DRIVERS_GENERIC_CBFS_SERIAL=y
CONFIG_DRIVERS_GENERIC_CBFS_UUID=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_CONSOLE_USE_LOGLEVEL_PREFIX is not set
# CONFIG_CONSOLE_USE_ANSI_ESCAPES is not set
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="3323ed481d35096fb6a7eae7b49f35eff00f86cf"
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_EDK2_CUSTOM_BUILD_PARAMS="-D VARIABLE_SUPPORT=SMMSTORE --pcd gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable=FALSE"
CONFIG_BUILD_IPXE=y
CONFIG_IPXE_NO_PROMPT=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_HAVE_2ND_UART=y
CONFIG_EDK2_DASHARO_SERIAL_REDIRECTION2_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
@@ -92,4 +92,10 @@ config BEEP_ON_BOOT
May serve as a useful indicator in headless mode that platform is
properly booting.
config ENABLE_EMMC
bool "Enable eMMC support"
default y
help
Enable the eMMC storage controller
endif
@@ -6,6 +6,7 @@
#include <device/device.h>
#include <pc80/i8254.h>
#include <smbios.h>
#include <soc/pci_devs.h>
#include <soc/ramstage.h>
#include <superio/ite/it8659e/chip.h>
#include <superio/ite/it8659e/it8659e.h>
@@ -18,7 +19,7 @@ const char *smbios_mainboard_product_name(void)
return "VP2430";
if (CONFIG(BOARD_PROTECTLI_VP2440))
return "VP2440";
return CONFIG(ENABLE_EMMC) ? "VP2440" : "VP2440e";
u32 tmp[13];
const char *str = "Unknown Processor Name";
@@ -112,6 +113,11 @@ void mainboard_silicon_init_params(FSP_S_CONFIG *params)
params->IomTypeCPortPadCfg[3] = 0x0902000E; // GPP_A14
}
if (!CONFIG(ENABLE_EMMC)) {
params->ScsEmmcEnabled = 0;
pcidev_path_on_root(PCH_DEVFN_EMMC)->enabled = 0;
}
// PMC-PD controller
params->PmcPdEnable = 1;