Skip to content

Commit 9e74290

Browse files
committed
Add support for Gen13 retimer capsule GUIDs
Both when parsed from capsule binaries and UEFI ESRT table. Signed-off-by: Daniel Schaefer <[email protected]>
1 parent 2df6fc6 commit 9e74290

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

framework_lib/src/commandline/mod.rs

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -230,21 +230,24 @@ fn print_versions(ec: &CrosEc) {
230230
if let Some(esrt) = esrt::get_esrt() {
231231
for entry in &esrt.entries {
232232
match entry.fw_class {
233-
esrt::RETIMER01_GUID | esrt::RETIMER23_GUID => {
233+
esrt::RETIMER01_GUID
234+
| esrt::RETIMER23_GUID
235+
| esrt::GEN13_RETIMER01_GUID
236+
| esrt::GEN13_RETIMER23_GUID => {
234237
if !found_retimer {
235238
found_retimer = true;
236239
}
237240
}
238241
_ => {}
239242
}
240243
match entry.fw_class {
241-
esrt::RETIMER01_GUID => {
244+
esrt::RETIMER01_GUID | esrt::GEN13_RETIMER01_GUID => {
242245
println!(
243246
" Left: 0x{:X} ({})",
244247
entry.fw_version, entry.fw_version
245248
);
246249
}
247-
esrt::RETIMER23_GUID => {
250+
esrt::RETIMER23_GUID | esrt::GEN13_RETIMER23_GUID => {
248251
println!(
249252
" Right: 0x{:X} ({})",
250253
entry.fw_version, entry.fw_version
@@ -643,10 +646,16 @@ pub fn analyze_capsule(data: &[u8]) -> Option<capsule::EfiCapsuleHeader> {
643646
println!(" Type: Framework Insyde BIOS");
644647
}
645648
esrt::RETIMER01_GUID => {
646-
println!(" Type: Framework Retimer01 (Left)");
649+
println!(" Type: Framework ADL Retimer01 (Left)");
647650
}
648651
esrt::RETIMER23_GUID => {
649-
println!(" Type: Framework Retimer23 (Right)");
652+
println!(" Type: Framework ADL Retimer23 (Right)");
653+
}
654+
esrt::GEN13_RETIMER01_GUID => {
655+
println!(" Type: Framework RPL Retimer01 (Left)");
656+
}
657+
esrt::GEN13_RETIMER23_GUID => {
658+
println!(" Type: Framework RPL Retimer23 (Right)");
650659
}
651660
esrt::WINUX_GUID => {
652661
println!(" Type: Windows UX capsule");

framework_lib/src/esrt/mod.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ pub fn guid_from_str(string: &str) -> Option<Guid> {
6969
pub const BIOS_GUID: Guid = guid!("a30a8cf3-847f-5e59-bd59-f9ec145c1a8c");
7070
pub const RETIMER01_GUID: Guid = guid!("a9c91b0c-c0b8-463d-a7da-a5d6ec646333");
7171
pub const RETIMER23_GUID: Guid = guid!("ba2e4e6e-3b0c-4f25-8a59-4c553fc86ea2");
72+
pub const GEN13_RETIMER01_GUID: Guid = guid!("0c42b824-818f-428f-8687-5efcaf059bea");
73+
pub const GEN13_RETIMER23_GUID: Guid = guid!("268ccbde-e087-420b-bf82-2212bd3f9bfc");
74+
7275
// In EDK2
7376
// Handled by MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c
7477
// Defined by MdePkg/Include/IndustryStandard/WindowsUxCapsule.h
@@ -79,6 +82,8 @@ pub enum FrameworkGuidKind {
7982
Bios,
8083
Retimer01,
8184
Retimer23,
85+
Gen13Retimer01,
86+
Gen13Retimer23,
8287
WinUx,
8388
Unknown,
8489
}
@@ -88,6 +93,8 @@ pub fn match_guid_kind(guid: &Guid) -> FrameworkGuidKind {
8893
BIOS_GUID => FrameworkGuidKind::Bios,
8994
RETIMER01_GUID => FrameworkGuidKind::Retimer01,
9095
RETIMER23_GUID => FrameworkGuidKind::Retimer23,
96+
GEN13_RETIMER01_GUID => FrameworkGuidKind::Gen13Retimer01,
97+
GEN13_RETIMER23_GUID => FrameworkGuidKind::Gen13Retimer23,
9198
WINUX_GUID => FrameworkGuidKind::WinUx,
9299
_ => FrameworkGuidKind::Unknown,
93100
}

0 commit comments

Comments
 (0)