diff --git a/build.sh b/build.sh index 3493287b7a2..6c35d8ad289 100755 --- a/build.sh +++ b/build.sh @@ -13,6 +13,7 @@ usage() { echo -e "\tvp46xx - build Dasharo for Protectli VP46xx" 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" @@ -386,6 +387,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" ;; diff --git a/configs/config.protectli_vp2440_no_emmc b/configs/config.protectli_vp2440_no_emmc new file mode 100644 index 00000000000..cc79dbd4a3a --- /dev/null +++ b/configs/config.protectli_vp2440_no_emmc @@ -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 diff --git a/src/mainboard/protectli/vault_adl_n/Kconfig b/src/mainboard/protectli/vault_adl_n/Kconfig index 3bb7ca0bb27..9f99313a2c9 100644 --- a/src/mainboard/protectli/vault_adl_n/Kconfig +++ b/src/mainboard/protectli/vault_adl_n/Kconfig @@ -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 diff --git a/src/mainboard/protectli/vault_adl_n/mainboard.c b/src/mainboard/protectli/vault_adl_n/mainboard.c index 03657c940d0..d1ee3bc59bf 100644 --- a/src/mainboard/protectli/vault_adl_n/mainboard.c +++ b/src/mainboard/protectli/vault_adl_n/mainboard.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -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;