Skip to content

[WIP] ec/dasharo/ec: UCSI-ACPI support - #860

Draft
mkopec wants to merge 1117 commits into
dasharofrom
novacustom_ucsi
Draft

[WIP] ec/dasharo/ec: UCSI-ACPI support#860
mkopec wants to merge 1117 commits into
dasharofrom
novacustom_ucsi

Conversation

@mkopec

@mkopec mkopec commented Mar 8, 2026

Copy link
Copy Markdown
Member

No description provided.

mkopec and others added 30 commits August 19, 2025 15:01
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I4a732b79b1a24e2bd9a0db8c0957ea02e7fc46e5
Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
The option is not implemented on this platform yet, and it's unknown
whether such implementation is even possible.

Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
…r IO as well

The Super IO also has its own registers determining the power failure
resume behavior. They need to be set accordingly to the option as well,
besides the SoC-wide PMC write.

Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
The Image Processing Unit is only required for CSI/MIPI cameras, which
is not present on the platform.

Upstream-Status: Pending
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
IntelGopDriver has been removed from the NUC BOX blobs, since it's no
longer needed.

Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Disable serial redir. by default

Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Change-Id: Ia7789ca2e7ae96880d439665492bdb9f367dd6bd
Upstream-Status: Pending
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
When set, the value of ACM_POLICY_STATUS register is masked to exclude
dynamically detectable values making measurements more reliable.

Upstream-Status: Pending
Change-Id: I25ae3794c7aa0cf7bae66a498098bc74f1bbebf2
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Saw it being mentioned in CBnT BWG, adding it here to have easier time
when we get to trying BtG with TPM 1.2.

Upstream-Status: Pending
Change-Id: I25b4fdf8dad40a4f1c17e302156f8eaab25a9560
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
This is a preparation for supporting measurements on MTL and newer
generations.

Change-Id: I7f49d6defb0ba71868eb8aa971dfbc3b8941f3c7
Upstream-Status: Pending
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Differences from the previous way of measurements:
 - must log CRTM version to PCR-0
 - must log IBB hash (as is, provided in BPM)to PCR-0
 - need to extend PCR-0 with POLICY_DATA which is a subset of PCR0_DATA
   from the original ("conventional") way

Half of the changes is just moving things into if-statement.

Upstream-Status: Pending
Change-Id: Icc101aa03db99a741c3b7142aa00d42ec6569ae9
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: Iec8f5390cce146015cf50bb452673921d3e30232
Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Add blank default logo to payload to allow client customization without
showing Protectli branding. The logo is to be set afterwards, resulting
in the custom logo displaying on normal boot and the black one on
recovery.

This is adapted commit from dasharo-24.02.01 branch:
91140dd

Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I01b4c28a4f03b58c0bc856b03b645c45fa67c6af
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Add the custom Protectli logo to built binaries, replacing the black
screen in the normal boot path and preserving it in recovery.

Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I3ddbb41233403b89d2c8d823f0ae36abfaef8f0a
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: Ia5bc9fbf711c02e1e038a7be5d646dc1e5f3e66e
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
ESXi’s bootloader doesn’t properly parse 1GB page entries when it
tries to replicate or interpret UEFI’s memory map/page tables during boot.
This fixes the issue of the ESXi installer crashing on startup.

Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: Icb8865da7b658d55e80190fa041abcf7876f24c5
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I695d20de7a6215e31c2e13cc6cc54305d9d0e9c8
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Protectli don't want to include this feature in this release yet.

Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Disables some devices and functionalities via devicetree and FSP params,
since they're unused and may impact boot time and performance.

Upstream-Status: Pending
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
S3 sleep doesn't currently work on VP2440. Disable it on the platform,
so that the faulty state is never attempted.

Upstream-Status: Pending
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
ESXi’s bootloader doesn’t properly parse 1GB page entries when it
tries to replicate or interpret UEFI’s memory map/page tables during boot.
This fixes the issue of the ESXi installer crashing on startup.

Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
…anges

Some of the changes to FSP params were introduced when attempting to
resolve the MultiPhaseSiInit stage hang. Remove them, as they don't add
any value after all.

Upstream-Status: Pending
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
build.sh uses _ instead of - to separate components.

Change-Id: I06d11509c130eb1556b907e0d8393cd995d118c1
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Wiktor Mowinski <wiktor.mowinski@3mdeb.com>
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
mkopec and others added 28 commits February 6, 2026 12:01
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I226fce12502b9cf2379c4a57c64569f7a05d5c34
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Inappropriate (Dasharo automation)
Change-Id: Ia2a747da8ade3a594c1e817d173f9aa21dabdb34
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Keep in sync with the changes on the EDK2 side, where a separate FUM
Request variable was added for allowing booting FUM twice in a row.

Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I7a553e9dc82192022594d017392d778619b269d8
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I671d7b4762453a411a17b78ec5ec9d4e4b25e1b3
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I700848e20427f1cdcefbb6ee18075dff6ad53a14
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I1840f28d16835e83ace3cd23871762138aa44844
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Improve performance by lowering the EPP value from the power-on default
of 0xb3 (70%) to 0x73 (45%). Lower value = higher performance.

Upstream-Status: Pending
Change-Id: I5a1f48dd2b563cf7dc37f7682317e5b7f81ad13c
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
The GPE 6B event had no handler defined, which resulted in an ACPI Error
appearing in dmesg after a s0ix-wake cycle by closing and opening the
lid.

After adding the matching method, the issue does not reproduce.

Upstream-Status: Pending
Change-Id: I7f7c8fe5ee8245c6f0558ae080b66fa29beccf23
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
The IoT FSP seems to be maintained for longer and more actively for the
Alder Lake P (Raptor Lake P) platforms. For the nv4x_adl platforms,
going from Client to IoT FSP resolved issues with waking from S3 suspend
and detecting Thunderbolt devices as USB fallbacks.

Upstream-Status: Pending
Change-Id: I46f47971691b3a76ef9926941b5cabf5c48ef10e
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Includes adding an SD card driver and extended description of
DMA-related security options

Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I5ad3c1f2b41de9cf221e0e2f22757b7884157d25
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I86c27d1b49a501b08eaabd10b6e66c2c1cd975b0
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
…tection"

This reverts commit c7bf17c.

Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I6cf60a15cc7d7d6a2e452b033f46d06a530f2a9a
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I2672cd90ad23f7f9f6b516b113c5ca4957485b9a
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: Id2571e08c2ddb59d73d0808229ed3460d996b211
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I0941aa969c356df939b9eb2ccbaef9f1ca772b6b
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: Iae8490b5e5a75f5428f3a490e5415b0d3e5b98f0
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: Id809b8e4e644fe023270e23b8c219284072fd2bb
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
After switching to IoT FSP, TPM 2.0 would no longer initialize. To fix
this, GPIO configuration had to be moved earlier, before ramstage
enumeration, mimicking Protectli VP66XX.

Upstream-Status: Pending
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
After updating the FSP to a newer version, there was no room to add
required IBG ACMs into cbfs, with proper alignment. Since the ACMs
cannot be redistributed, and keeping placeholders in the final
binaries didn't work, the problem was addressed by introducing a Kconfig
option to add placeholders during build and remove them from the final
image.

This ensures there's room for inserting ACMs, and there are no
potentially faulty placeholders in the final ROM.

Upstream-Status: Pending
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
When the per-bank hash loop was introduced, the hash length
was accidentally left pointing at the pre-loop write position, so BPM
signature and IBB digest were never included in the computed hash. Fix
by using the correct post-write length.

Makes PCR-0 reconstruction valid on ADL-P.

Upstream-Status: Pending
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Prior to this, with redundancy and Boot Guard enabled, FIT in TOPSWAP
lacked the BIOS ACM.

Upstream-Status: Pending
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Upstream-Status: Inappropriate (Dasharo automation)
Change-Id: Ib073a38d1ca458d681ab58a68e9de3037424107b
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I2b3c8ebc558fe4a00e5b74d78a887c7e66d30916
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I77883e9f48da6e9941373bef3b4f2387b0d47102
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
… cache to PCR

EV_NO_ACTION must not be measured.

Fixes reconstruction of PCR-0 if redundancy and boot guard are enabled
at the same time.

Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I4792ebfe37cdfd532e868cfffd0f628de2bb053f
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
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.