configs/config.protectli_vp32xx_no_emmc: create viariant with disabled emmc

Adds ENABLE_EMMC option (default y) to support VP3210e and VP3230e
hardware variants 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 14:31:49 +02:00
parent 92c369e23a
commit 48f8fea2f7
5 changed files with 79 additions and 4 deletions
+5
View File
@@ -12,6 +12,7 @@ usage() {
echo -e "\tvp66xx - build Dasharo for Protectli VP66xx"
echo -e "\tvp46xx - build Dasharo for Protectli VP46xx"
echo -e "\tvp32xx - build Dasharo for Protectli VP32xx"
echo -e "\tvp32xx_noemmc - build Dasharo for Protectli VP32xx variants without eMMC (VP3210e, VP3230e)"
echo -e "\tvp2430 - build Dasharo for Protectli VP2430"
echo -e "\tvp2420 - build Dasharo for Protectli VP2420"
echo -e "\tvp2410 - build Dasharo for Protectli VP2410"
@@ -389,6 +390,10 @@ case "$CMD" in
BOARD="vp32xx"
build_protectli_vault
;;
"vp32xx_noemmc" | "VP32XX_noemmc" | "vp32xxe" | "VP32XXe")
BOARD="vp32xx"
build_protectli_vault _no_emmc
;;
"vp2410" | "VP2410")
BOARD="vp2410"
build_protectli_vault
+2 -2
View File
@@ -1,4 +1,4 @@
CONFIG_LOCALVERSION="v0.9.0"
CONFIG_LOCALVERSION="v0.9.1-rc1"
CONFIG_OPTION_BACKEND_NONE=y
CONFIG_VENDOR_PROTECTLI=y
CONFIG_VBOOT=y
@@ -26,7 +26,7 @@ CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y
# CONFIG_CONSOLE_USE_ANSI_ESCAPES is not set
CONFIG_PAYLOAD_EDK2=y
CONFIG_EDK2_REPOSITORY="https://github.com/Dasharo/edk2"
CONFIG_EDK2_TAG_OR_REV="c2de870a67b7c422bb5344ee0389723c1e6aa7af"
CONFIG_EDK2_TAG_OR_REV="a47bcc9cd5e5ea8c9f0b4e5bde43e9744b46c876"
CONFIG_EDK2_USE_EDK2_PLATFORMS=y
CONFIG_EDK2_PLATFORMS_REPOSITORY="https://github.com/Dasharo/edk2-platforms"
CONFIG_EDK2_PLATFORMS_TAG_OR_REV="3323ed481d35096fb6a7eae7b49f35eff00f86cf"
+63
View File
@@ -0,0 +1,63 @@
CONFIG_LOCALVERSION="v0.9.1-rc1"
CONFIG_OPTION_BACKEND_NONE=y
CONFIG_VENDOR_PROTECTLI=y
CONFIG_VBOOT=y
CONFIG_IFD_BIN_PATH="3rdparty/dasharo-blobs/$(MAINBOARDDIR)/vp32xx/descriptor.bin"
CONFIG_ME_BIN_PATH="3rdparty/dasharo-blobs/$(MAINBOARDDIR)/vp32xx/me.bin"
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x100000
CONFIG_EDK2_BOOT_TIMEOUT=6
CONFIG_HAVE_IFD_BIN=y
# CONFIG_ENABLE_EMMC is not set
CONFIG_EDK2_BOOTSPLASH_FILE="3rdparty/dasharo-blobs/protectli/black_background.bmp"
CONFIG_TPM_MEASURED_BOOT=y
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_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_REPOSITORY="https://github.com/Dasharo/edk2"
CONFIG_EDK2_TAG_OR_REV="a47bcc9cd5e5ea8c9f0b4e5bde43e9744b46c876"
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_NO_PROMPT=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_INTEL_ME_OPTIONS=y
CONFIG_EDK2_DASHARO_USB_CONFIG=y
CONFIG_EDK2_DASHARO_POWER_CONFIG=y
CONFIG_EDK2_FAN_CURVE_OPTION=y
CONFIG_EDK2_FAN_OFF_CURVE_OPTION=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
@@ -90,4 +90,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>
@@ -39,9 +40,9 @@ const char *smbios_mainboard_product_name(void)
}
if (strstr(str, "N100") != NULL)
return "VP3210";
return CONFIG(ENABLE_EMMC) ? "VP3210" : "VP3210e";
else if (strstr(str, "N305") != NULL)
return "VP3230";
return CONFIG(ENABLE_EMMC) ? "VP3230" : "VP3230e";
else
return CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME;
}