Skip to content

Protectli emmc variants#877

Open
philipanda wants to merge 3 commits intodasharofrom
protectli_emmc_variants
Open

Protectli emmc variants#877
philipanda wants to merge 3 commits intodasharofrom
protectli_emmc_variants

Conversation

@philipanda
Copy link
Copy Markdown
Contributor

@philipanda philipanda commented Apr 21, 2026

The eMMC card is located on PCI 00:1a.0 and listed under lsblk as a mmcblk device.
Witht the changes applied, the kernel does not detect any of those on the *_no_emmc vp46xx variants :

ubuntu@3mdeb:~$ sudo dmidecode
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.
Table at 0x98945000.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
        Vendor: 3mdeb
        Version: Dasharo (coreboot+UEFI) v1.2.2-rc1
        Release Date: 04/22/2026
(...)
Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: Protectli
        Product Name: VP4630e
(...)

ubuntu@3mdeb:~$ lspci
00:00.0 Host bridge: Intel Corporation Device 9b71 (rev 01)
00:02.0 VGA compatible controller: Intel Corporation Comet Lake UHD Graphics (rev 05)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Comet Lake Thermal Subsytem
00:14.0 USB controller: Intel Corporation Comet Lake PCH-LP USB 3.1 xHCI Host Controller
00:14.2 RAM memory: Intel Corporation Comet Lake PCH-LP Shared SRAM
00:17.0 SATA controller: Intel Corporation Comet Lake SATA AHCI Controller
00:1c.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #5 (rev f0)
00:1c.5 PCI bridge: Intel Corporation Device 02bd (rev f0)
00:1c.6 PCI bridge: Intel Corporation Device 02be (rev f0)
00:1c.7 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #8 (rev f0)
00:1d.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #9 (rev f0)
00:1d.1 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #10 (rev f0)
00:1d.3 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #12 (rev f0)
00:1d.4 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #13 (rev f0)
00:1f.0 ISA bridge: Intel Corporation Comet Lake PCH-LP LPC Premium Controller/eSPI Controller
00:1f.3 Audio device: Intel Corporation Comet Lake PCH-LP cAVS
00:1f.4 SMBus: Intel Corporation Comet Lake PCH-LP SMBus Host Controller
00:1f.5 Serial bus controller: Intel Corporation Comet Lake SPI (flash) Controller
01:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
02:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
03:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
04:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
05:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
06:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
07:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
08:00.0 Non-Volatile memory controller: Kingston Technology Company, Inc. NV1 NVMe SSD SM2263XT (DRAM-less) (rev 03)


ubuntu@3mdeb:~$ lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0     7:0    0     4K  1 loop /snap/bare/5
loop1     7:1    0  73.9M  1 loop /snap/core22/1748
loop2     7:2    0    74M  1 loop /snap/core22/2292
loop3     7:3    0  66.8M  1 loop /snap/core24/1587
loop4     7:4    0   258M  1 loop /snap/firefox/5751
loop5     7:5    0 251.7M  1 loop /snap/firefox/7766
loop6     7:6    0  18.5M  1 loop /snap/firmware-updater/210
loop7     7:7    0  16.5M  1 loop /snap/firmware-updater/226
loop8     7:8    0   516M  1 loop /snap/gnome-42-2204/202
loop9     7:9    0 531.4M  1 loop /snap/gnome-42-2204/247
loop10    7:10   0 606.1M  1 loop /snap/gnome-46-2404/153
loop11    7:11   0  91.7M  1 loop /snap/gtk-common-themes/1535
loop12    7:12   0   395M  1 loop /snap/mesa-2404/1165
loop13    7:13   0  10.8M  1 loop /snap/snap-store/1248
loop14    7:14   0  48.1M  1 loop /snap/snapd/25935
loop15    7:15   0  10.8M  1 loop /snap/snap-store/1270
loop16    7:16   0  49.3M  1 loop /snap/snapd/26865
loop17    7:17   0   568K  1 loop /snap/snapd-desktop-integration/253
loop18    7:18   0   576K  1 loop /snap/snapd-desktop-integration/343
sda       8:0    0 238.5G  0 disk 
├─sda1    8:1    0   500M  0 part 
├─sda2    8:2    0   260M  0 part /boot/efi
├─sda3    8:3    0   128M  0 part 
├─sda4    8:4    0  96.9G  0 part 
├─sda5    8:5    0   764M  0 part 
├─sda6    8:6    0  27.2G  0 part 
└─sda7    8:7    0 112.7G  0 part /
sdb       8:16   1  14.3G  0 disk /media/ubuntu/ESXI-8.0U3E-24677879-STANDARD
nvme0n1 259:0    0 232.9G  0 disk 
ubuntu@3mdeb:~$ 

Vs. on the emmc variant:

ubuntu@3mdeb:~$ sudo dmidecode
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.
Table at 0x98945000.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
        Vendor: 3mdeb
        Version: Dasharo (coreboot+UEFI) v1.2.2-rc1
        Release Date: 04/22/2026
(...)
Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: Protectli
        Product Name: VP4630
(...)

ubuntu@3mdeb:~$ lspci
00:00.0 Host bridge: Intel Corporation Device 9b71 (rev 01)
00:02.0 VGA compatible controller: Intel Corporation Comet Lake UHD Graphics (rev 05)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Comet Lake Thermal Subsytem
00:14.0 USB controller: Intel Corporation Comet Lake PCH-LP USB 3.1 xHCI Host Controller
00:14.2 RAM memory: Intel Corporation Comet Lake PCH-LP Shared SRAM
00:17.0 SATA controller: Intel Corporation Comet Lake SATA AHCI Controller
00:1a.0 SD Host controller: Intel Corporation Device 02c4
00:1c.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #5 (rev f0)
00:1c.5 PCI bridge: Intel Corporation Device 02bd (rev f0)
00:1c.6 PCI bridge: Intel Corporation Device 02be (rev f0)
00:1c.7 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #8 (rev f0)
00:1d.0 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #9 (rev f0)
00:1d.1 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #10 (rev f0)
00:1d.3 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #12 (rev f0)
00:1d.4 PCI bridge: Intel Corporation Comet Lake PCI Express Root Port #13 (rev f0)
00:1f.0 ISA bridge: Intel Corporation Comet Lake PCH-LP LPC Premium Controller/eSPI Controller
00:1f.3 Audio device: Intel Corporation Comet Lake PCH-LP cAVS
00:1f.4 SMBus: Intel Corporation Comet Lake PCH-LP SMBus Host Controller
00:1f.5 Serial bus controller: Intel Corporation Comet Lake SPI (flash) Controller
01:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
02:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
03:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
04:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
05:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
06:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
07:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
08:00.0 Non-Volatile memory controller: Kingston Technology Company, Inc. NV1 NVMe SSD SM2263XT (DRAM-less) (rev 03)

ubuntu@3mdeb:~$ lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0          7:0    0     4K  1 loop /snap/bare/5
loop1          7:1    0    74M  1 loop /snap/core22/2292
loop2          7:2    0  73.9M  1 loop /snap/core22/1748
loop3          7:3    0  66.8M  1 loop /snap/core24/1587
loop4          7:4    0   258M  1 loop /snap/firefox/5751
loop5          7:5    0 251.7M  1 loop /snap/firefox/7766
loop6          7:6    0  16.5M  1 loop /snap/firmware-updater/226
loop7          7:7    0   516M  1 loop /snap/gnome-42-2204/202
loop8          7:8    0  18.5M  1 loop /snap/firmware-updater/210
loop9          7:9    0 531.4M  1 loop /snap/gnome-42-2204/247
loop10         7:10   0 606.1M  1 loop /snap/gnome-46-2404/153
loop11         7:11   0  91.7M  1 loop /snap/gtk-common-themes/1535
loop12         7:12   0  10.8M  1 loop /snap/snap-store/1248
loop13         7:13   0   395M  1 loop /snap/mesa-2404/1165
loop14         7:14   0  10.8M  1 loop /snap/snap-store/1270
loop15         7:15   0  48.1M  1 loop /snap/snapd/25935
loop16         7:16   0  49.3M  1 loop /snap/snapd/26865
loop17         7:17   0   576K  1 loop /snap/snapd-desktop-integration/343
loop18         7:18   0   568K  1 loop /snap/snapd-desktop-integration/253
sda            8:0    0 238.5G  0 disk 
├─sda1         8:1    0   500M  0 part 
├─sda2         8:2    0   260M  0 part /boot/efi
├─sda3         8:3    0   128M  0 part 
├─sda4         8:4    0  96.9G  0 part 
├─sda5         8:5    0   764M  0 part 
├─sda6         8:6    0  27.2G  0 part 
└─sda7         8:7    0 112.7G  0 part /
sdb            8:16   1  14.3G  0 disk /media/ubuntu/ESXI-8.0U3E-24677879-STANDARD
mmcblk0      179:0    0  14.6G  0 disk 
mmcblk0boot0 179:8    0     4M  1 disk 
mmcblk0boot1 179:16   0     4M  1 disk 
nvme0n1      259:0    0 232.9G  0 disk 

@philipanda philipanda requested a review from mkopec April 21, 2026 13:50
@philipanda philipanda force-pushed the protectli_emmc_variants branch from 6bff294 to 777f22a Compare April 21, 2026 13:55
@philipanda philipanda changed the base branch from dasharo to protectli_vault_cml/release April 21, 2026 13:56
@philipanda philipanda changed the base branch from protectli_vault_cml/release to dasharo April 21, 2026 13:56
@philipanda philipanda force-pushed the protectli_emmc_variants branch 4 times, most recently from 4ce1705 to 6dcfcc7 Compare April 21, 2026 15:02
@philipanda philipanda marked this pull request as draft April 21, 2026 15:07
@philipanda philipanda force-pushed the protectli_emmc_variants branch 4 times, most recently from 406208d to e85c87c Compare April 22, 2026 05:43
@philipanda
Copy link
Copy Markdown
Contributor Author

philipanda commented Apr 22, 2026

Logs for OSFV eMMC test on both firmware versions:
with_emmc.html - passes with eMMC enabled
no_emmc.html - fails with eMMC disabled

@philipanda philipanda force-pushed the protectli_emmc_variants branch from e85c87c to 8ef112b Compare April 22, 2026 07:14
@philipanda philipanda marked this pull request as ready for review April 22, 2026 07:14
@philipanda philipanda force-pushed the protectli_emmc_variants branch 5 times, most recently from df09ed8 to 2e8a7ec Compare April 22, 2026 09:21
@philipanda
Copy link
Copy Markdown
Contributor Author

@mkopec the check-defconfigs check fails, because make savedefconfig modifies the _no_emmc defconfig in a meaningful way.

Run # Start with the list of Dasharo boards, indicated by CONFIG_DASHARO
diff --git a/configs/config.protectli_vp46xx_no_emmc b/configs/config.protectli_vp46xx_no_emmc
index 0ac524fe..b1f86f03 100644
--- a/configs/config.protectli_vp46xx_no_emmc
+++ b/configs/config.protectli_vp46xx_no_emmc
@@ -11,7 +11,7 @@ CONFIG_EDK2_BOOT_TIMEOUT=6
 CONFIG_HAVE_IFD_BIN=y
 CONFIG_TPM_MEASURED_BOOT=y
 CONFIG_BOARD_PROTECTLI_VP46XX=y
-CONFIG_ENABLE_EMMC=n
+# CONFIG_ENABLE_EMMC is not set
 CONFIG_EDK2_BOOTSPLASH_FILE="$(top)/3rdparty/dasharo-blobs/protectli/black_background.bmp"
 CONFIG_USE_INTEL_FSP_MP_INIT=y
 CONFIG_SOC_INTEL_COMMON_OC_WDT_WDAT=y

ENABLE_EMMC default value is y, so It's not set in config.protectli_vp46xx, but set to n in config.protectli_vp46xx_no_emmc. savedefconfig changes that to not set which would enable eMMC in this config. What should I do about that? Does the option need to be n by default instead? I didn't want to do that as the default behavior up to now was to enable eMMC and there are other defconfigs for VP46xx I didn't want to have an effect on.

@mkopec
Copy link
Copy Markdown
Member

mkopec commented Apr 22, 2026

@philipanda the output that make savedefconfig generated is correct. Generally that's the only way that we generate defconfigs, instead of manually editing them.

hanges that to not set which would enable eMMC in this config.

It wouldn't, not set resolves to n

@philipanda
Copy link
Copy Markdown
Contributor Author

philipanda commented Apr 22, 2026

@mkopec I thought not set would resolve to the default value from Kconfig.
Do I need to invert the setting and make it DISABLE_EMMC instead in order to have it enabled by default? As not setting it explicitly would always default to not set despite the default Kconfig value?

@mkopec
Copy link
Copy Markdown
Member

mkopec commented Apr 22, 2026

No, the way you have it set up now should be fine. Just build from the defconfig that CI generated and see what happens :)

… FSPs

The option controls setting `ScsEmmcEnabled` and `ScsEmmcHs400Enabled` in FSPs.

`ScsEmmcHs400Enabled` can be set in devicetree.cb as it's read from the file created by sconfig.

`ScsEmmcEnabled` must be changed in the device config struct read using
`pcidev_on_root` in `mainboard_silicon_init_params()` in ramstage,
because `platform_fsp_silicon_init_params_cb()` sets it using
`is_devfn_enabled(PCH_DEVFN_EMMC)` after mainboard_silicon_init_params
was already called. Setting it directly in FSPS_UPD won't work as
it would be replaced with what `is_devfn_enabled` returns.

`is_devfn_enabled` returns true if in devicetree.cb `device pci 1a.0` is `on`
(PCH_DEVFN_EMMC for cometlake is at PCHDEV_SLOT 0x1A,
device 0 according to src/soc/intel/cannonlage/include/soc/pci_devs.h).

Upstream-Status: Pending
Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
@philipanda philipanda force-pushed the protectli_emmc_variants branch from 2e8a7ec to f6630a8 Compare April 22, 2026 12:07
@philipanda
Copy link
Copy Markdown
Contributor Author

Minimal regression: regression_2026_04_24_11_57_50.zip

eMMC and microcode tests on a firmware without eMMC:
vp46xx_no_emmc.html

for comparison, the same tests on the firmware with eMMC enabled:
vp46xx_with_emmc.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants