@@ -35,6 +35,7 @@ use crate::chromium_ec;
35
35
use crate :: chromium_ec:: commands:: DeckStateMode ;
36
36
use crate :: chromium_ec:: commands:: FpLedBrightnessLevel ;
37
37
use crate :: chromium_ec:: commands:: RebootEcCmd ;
38
+ use crate :: chromium_ec:: EcResponseStatus ;
38
39
use crate :: chromium_ec:: { print_err, EcFlashType } ;
39
40
use crate :: chromium_ec:: { EcError , EcResult } ;
40
41
#[ cfg( feature = "linux" ) ]
@@ -1049,14 +1050,16 @@ fn selftest(ec: &CrosEc) -> Option<()> {
1049
1050
println ! ( " Reading EC Build Version" ) ;
1050
1051
print_err ( ec. version_info ( ) ) ?;
1051
1052
1052
- println ! ( " Reading EC Flash by EC" ) ;
1053
+ print ! ( " Reading EC Flash by EC" ) ;
1053
1054
ec. flash_version ( ) ?;
1055
+ println ! ( " - OK" ) ;
1054
1056
1055
- println ! ( " Reading EC Flash directly" ) ;
1057
+ println ! ( " Reading EC Flash directly - See below " ) ;
1056
1058
ec. test_ec_flash_read ( ) . ok ( ) ?;
1057
1059
1058
- println ! ( " Getting power info from EC" ) ;
1060
+ print ! ( " Getting power info from EC" ) ;
1059
1061
power:: power_info ( ec) ?;
1062
+ println ! ( " - OK" ) ;
1060
1063
1061
1064
println ! ( " Getting AC info from EC" ) ;
1062
1065
// All our laptops have at least 4 PD ports so far
@@ -1065,19 +1068,31 @@ fn selftest(ec: &CrosEc) -> Option<()> {
1065
1068
return None ;
1066
1069
}
1067
1070
1068
- // Try to get PD versions through EC
1069
- power:: read_pd_version ( ec) . ok ( ) ?;
1071
+ print ! ( "Reading PD Version from EC" ) ;
1072
+ if let Err ( err) = power:: read_pd_version ( ec) {
1073
+ // TGL does not have this command, so we have to ignore it
1074
+ if err != EcError :: Response ( EcResponseStatus :: InvalidCommand ) {
1075
+ println ! ( ) ;
1076
+ println ! ( "Err: {:?}" , err) ;
1077
+ } else {
1078
+ println ! ( " - Skipped" ) ;
1079
+ }
1080
+ } else {
1081
+ println ! ( " - OK" ) ;
1082
+ }
1070
1083
1071
1084
let pd_01 = PdController :: new ( PdPort :: Left01 , ec. clone ( ) ) ;
1072
1085
let pd_23 = PdController :: new ( PdPort :: Right23 , ec. clone ( ) ) ;
1073
- println ! ( " Getting PD01 info" ) ;
1086
+ print ! ( " Getting PD01 info through I2C tunnel " ) ;
1074
1087
print_err ( pd_01. get_silicon_id ( ) ) ?;
1075
1088
print_err ( pd_01. get_device_info ( ) ) ?;
1076
1089
print_err ( pd_01. get_fw_versions ( ) ) ?;
1077
- println ! ( " Getting PD23 info" ) ;
1090
+ println ! ( " - OK" ) ;
1091
+ print ! ( " Getting PD23 info through I2C tunnel" ) ;
1078
1092
print_err ( pd_23. get_silicon_id ( ) ) ?;
1079
1093
print_err ( pd_23. get_device_info ( ) ) ?;
1080
1094
print_err ( pd_23. get_fw_versions ( ) ) ?;
1095
+ println ! ( " - OK" ) ;
1081
1096
1082
1097
Some ( ( ) )
1083
1098
}
0 commit comments