(ec: &CrosEc)
| 511 | } |
| 512 | |
| 513 | fn print_versions(ec: &CrosEc) { |
| 514 | println!("Tool Version: {}", built_info::PKG_VERSION); |
| 515 | println!("OS Version: {}", os_specific::get_os_version()); |
| 516 | println!("Mainboard Hardware"); |
| 517 | if let Some(ver) = smbios::get_product_name() { |
| 518 | println!(" Type: {}", ver); |
| 519 | } else { |
| 520 | println!(" Type: Unknown"); |
| 521 | } |
| 522 | if let Some(ver) = smbios::get_baseboard_version() { |
| 523 | println!(" Revision: {:?}", ver); |
| 524 | } else { |
| 525 | println!(" Revision: Unknown"); |
| 526 | } |
| 527 | println!("UEFI BIOS"); |
| 528 | if let Some(smbios) = get_smbios() { |
| 529 | if let Some(bios) = smbios.structures().find_map(|r| match r { |
| 530 | Ok(Structure::Bios(b)) => Some(b), |
| 531 | _ => None, |
| 532 | }) { |
| 533 | println!(" Version: {}", bios.bios_version); |
| 534 | println!(" Release Date: {}", bios.bios_release_date); |
| 535 | } else { |
| 536 | println!(" Version: Unknown"); |
| 537 | } |
| 538 | } else { |
| 539 | println!(" Version: Unknown"); |
| 540 | } |
| 541 | |
| 542 | println!("EC Firmware"); |
| 543 | let ver = print_err(ec.version_info()).unwrap_or_else(|| "UNKNOWN".to_string()); |
| 544 | println!(" Build version: {}", ver); |
| 545 | |
| 546 | if let Some((ro, rw, curr)) = ec.flash_version() { |
| 547 | if ro != rw || log_enabled!(Level::Info) { |
| 548 | println!(" RO Version: {}", ro); |
| 549 | println!(" RW Version: {}", rw); |
| 550 | } |
| 551 | print!(" Current image: "); |
| 552 | if curr == chromium_ec::EcCurrentImage::RO { |
| 553 | println!("RO"); |
| 554 | } else if curr == chromium_ec::EcCurrentImage::RW { |
| 555 | println!("RW"); |
| 556 | } else { |
| 557 | println!("Unknown"); |
| 558 | } |
| 559 | } else { |
| 560 | println!(" RO Version: Unknown"); |
| 561 | println!(" RW Version: Unknown"); |
| 562 | println!(" Current image: Unknown"); |
| 563 | } |
| 564 | |
| 565 | println!("PD Controllers"); |
| 566 | let ccgx_pd_vers = ccgx::get_pd_controller_versions(ec); |
| 567 | if let Ok(PdVersions::RightLeft((right, left))) = ccgx_pd_vers { |
| 568 | if let Some(Platform::IntelGen11) = smbios::get_platform() { |
| 569 | if right.main_fw.base != right.backup_fw.base { |
| 570 | println!(" Right (01)"); |
no test coverage detected