Skip to content

Commit 398f9d6

Browse files
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 <wiktor.mowinski@3mdeb.com>
1 parent 5e4b1fc commit 398f9d6

4 files changed

Lines changed: 84 additions & 1 deletion

File tree

build.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ usage() {
1616
echo -e "\tvp2440 - build Dasharo for Protectli VP2440"
1717
echo -e "\tvp2430 - build Dasharo for Protectli VP2430"
1818
echo -e "\tvp2420 - build Dasharo for Protectli VP2420"
19+
echo -e "\tvp2420_noemmc - build Dasharo for Protectli VP2420 without eMMC (VP2420e)"
1920
echo -e "\tvp2410 - build Dasharo for Protectli VP2410"
2021
echo -e "\tV1210 - build Dasharo for Protectli V1210"
2122
echo -e "\tV1211 - build Dasharo for Protectli V1211"
@@ -384,6 +385,10 @@ case "$CMD" in
384385
BOARD="vp2420"
385386
build_protectli_vault
386387
;;
388+
"vp2420_noemmc" | "VP2420_noemmc" | "vp2420e" | "VP2420e")
389+
BOARD="vp2420"
390+
build_protectli_vault _no_emmc
391+
;;
387392
"vp2430" | "VP2430")
388393
BOARD="vp2430"
389394
build_protectli_vault
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
CONFIG_LOCALVERSION="v1.2.1-rc8"
2+
CONFIG_VENDOR_PROTECTLI=y
3+
CONFIG_ONBOARD_VGA_IS_PRIMARY=y
4+
CONFIG_VBOOT=y
5+
CONFIG_DISABLE_HECI1_AT_PRE_BOOT=y
6+
CONFIG_USE_LEGACY_8254_TIMER=y
7+
CONFIG_IFD_BIN_PATH="3rdparty/dasharo-blobs/$(MAINBOARDDIR)/descriptor.bin"
8+
CONFIG_ME_BIN_PATH="3rdparty/dasharo-blobs/$(MAINBOARDDIR)/me.bin"
9+
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x100000
10+
CONFIG_EDK2_BOOT_TIMEOUT=6
11+
CONFIG_HAVE_IFD_BIN=y
12+
CONFIG_TPM_MEASURED_BOOT=y
13+
CONFIG_BOARD_PROTECTLI_VP2420=y
14+
# CONFIG_ENABLE_EMMC is not set
15+
CONFIG_SOC_INTEL_ELKHARTLAKE_TCO_NO_REBOOT_EN=y
16+
CONFIG_EDK2_BOOTSPLASH_FILE="3rdparty/dasharo-blobs/protectli/black_background.bmp"
17+
CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
18+
CONFIG_SOC_INTEL_COMMON_OC_WDT_WDAT=y
19+
CONFIG_HAVE_ME_BIN=y
20+
CONFIG_ME_REGION_ALLOW_CPU_READ_ACCESS=y
21+
CONFIG_INTEL_ME_DISABLED_HECI=y
22+
CONFIG_DASHARO_PREFER_S3_SLEEP=y
23+
# CONFIG_DASHARO_FIRMWARE_UPDATE_MODE is not set
24+
CONFIG_DRIVERS_EFI_VARIABLE_STORE=y
25+
CONFIG_SPI_FLASH_NO_FAST_READ=y
26+
CONFIG_DRIVERS_GENERIC_CBFS_SERIAL=y
27+
CONFIG_DRIVERS_GENERIC_CBFS_UUID=y
28+
CONFIG_CBFS_VERIFICATION=y
29+
CONFIG_CBFS_ALLOW_UNVERIFIED_DECOMPRESSION=y
30+
CONFIG_VBOOT_CBFS_INTEGRATION=y
31+
CONFIG_TPM2=y
32+
CONFIG_BOOTMEDIA_LOCK_CONTROLLER=y
33+
CONFIG_BOOTMEDIA_LOCK_WPRO_VBOOT_RO=y
34+
CONFIG_BOOTMEDIA_LOCK_IN_VERSTAGE=y
35+
CONFIG_BOOTMEDIA_SMM_BWP=y
36+
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y
37+
CONFIG_POST_DEVICE_LPC=y
38+
CONFIG_PAYLOAD_EDK2=y
39+
CONFIG_EDK2_USE_EDK2_PLATFORMS=y
40+
CONFIG_EDK2_PLATFORMS_REPOSITORY="https://github.com/Dasharo/edk2-platforms"
41+
CONFIG_EDK2_PLATFORMS_TAG_OR_REV="1002a59639f111a2f8178b77d1f5fde0ea8d976f"
42+
CONFIG_EDK2_CBMEM_LOGGING=y
43+
CONFIG_EDK2_FOLLOW_BGRT_SPEC=y
44+
# CONFIG_EDK2_PS2_SUPPORT is not set
45+
CONFIG_EDK2_SERIAL_SUPPORT=y
46+
CONFIG_BUILD_IPXE=y
47+
CONFIG_IPXE_ADD_SCRIPT=y
48+
CONFIG_IPXE_SCRIPT="3rdparty/dasharo-blobs/dasharo/protectli.ipxe"
49+
CONFIG_IPXE_CUSTOM_BUILD_ID="0123456789"
50+
CONFIG_DASHARO=y
51+
CONFIG_EDK2_ENABLE_IPXE=y
52+
CONFIG_EDK2_IPXE_OPTION_NAME="Network Boot and Utilities"
53+
# CONFIG_EDK2_SECURE_BOOT_DEFAULT_ENABLE is not set
54+
CONFIG_EDK2_SETUP_PASSWORD=y
55+
CONFIG_EDK2_DASHARO_SYSTEM_FEATURES=y
56+
CONFIG_EDK2_DASHARO_SECURITY_OPTIONS=y
57+
CONFIG_EDK2_DASHARO_USB_CONFIG=y
58+
CONFIG_EDK2_DASHARO_POWER_CONFIG=y
59+
CONFIG_EDK2_CPU_THROTTLING_THRESHOLD_OPTION=y
60+
CONFIG_EDK2_DASHARO_NETWORK_BOOT_DEFAULT_ENABLE=y
61+
CONFIG_EDK2_DASHARO_SERIAL_REDIRECTION_DEFAULT_ENABLE=y
62+
CONFIG_EDK2_BOOT_MENU_KEY=0x0015
63+
CONFIG_EDK2_SETUP_MENU_KEY=0x0008
64+
CONFIG_EDK2_DISABLE_OPTION_ROMS=y
65+
CONFIG_EDK2_CREATE_PREINSTALLED_BOOT_OPTIONS=y

src/mainboard/protectli/vault_ehl/Kconfig

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ config MAINBOARD_DIR
1818
default "protectli/vault_ehl"
1919

2020
config MAINBOARD_PART_NUMBER
21-
default "VP2420"
21+
default "VP2420" if ENABLE_EMMC
22+
default "VP2420e"
2223

2324
config MAINBOARD_FAMILY
2425
default "Vault Pro"
@@ -55,6 +56,12 @@ config VBOOT_SLOTS_RW_A
5556
config FMDFILE
5657
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/vboot-rwa.fmd" if VBOOT && VBOOT_SLOTS_RW_A
5758

59+
config ENABLE_EMMC
60+
bool "Enable eMMC support"
61+
default y
62+
help
63+
Enable the eMMC storage controller
64+
5865
if PAYLOAD_EDK2
5966

6067
config EDK2_CPU_THROTTLING_THRESHOLD_DEFAULT

src/mainboard/protectli/vault_ehl/mainboard.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include <device/device.h>
44
#include <fsp/api.h>
55
#include <pc80/i8254.h>
6+
#include <soc/pci_devs.h>
67
#include <soc/ramstage.h>
78

89
static void mainboard_final(void *chip_info)
@@ -20,6 +21,11 @@ void mainboard_silicon_init_params(FSP_S_CONFIG *silconfig)
2021
* intel_pstate by disabling HWP.
2122
*/
2223
silconfig->Hwp = 0;
24+
25+
if (!CONFIG(ENABLE_EMMC)) {
26+
silconfig->ScsEmmcEnabled = 0;
27+
pcidev_path_on_root(PCH_DEVFN_EMMC)->enabled = 0;
28+
}
2329
}
2430

2531
struct chip_operations mainboard_ops = {

0 commit comments

Comments
 (0)