@@ -35,6 +35,7 @@ use crate::chromium_ec;
3535use crate :: chromium_ec:: commands:: DeckStateMode ;
3636use crate :: chromium_ec:: commands:: FpLedBrightnessLevel ;
3737use crate :: chromium_ec:: commands:: RebootEcCmd ;
38+ use crate :: chromium_ec:: EcResponseStatus ;
3839use crate :: chromium_ec:: { print_err, EcFlashType } ;
3940use crate :: chromium_ec:: { EcError , EcResult } ;
4041#[ cfg( feature = "linux" ) ]
@@ -1049,14 +1050,16 @@ fn selftest(ec: &CrosEc) -> Option<()> {
10491050 println ! ( " Reading EC Build Version" ) ;
10501051 print_err ( ec. version_info ( ) ) ?;
10511052
1052- println ! ( " Reading EC Flash by EC" ) ;
1053+ print ! ( " Reading EC Flash by EC" ) ;
10531054 ec. flash_version ( ) ?;
1055+ println ! ( " - OK" ) ;
10541056
1055- println ! ( " Reading EC Flash directly" ) ;
1057+ println ! ( " Reading EC Flash directly - See below " ) ;
10561058 ec. test_ec_flash_read ( ) . ok ( ) ?;
10571059
1058- println ! ( " Getting power info from EC" ) ;
1060+ print ! ( " Getting power info from EC" ) ;
10591061 power:: power_info ( ec) ?;
1062+ println ! ( " - OK" ) ;
10601063
10611064 println ! ( " Getting AC info from EC" ) ;
10621065 // All our laptops have at least 4 PD ports so far
@@ -1065,19 +1068,31 @@ fn selftest(ec: &CrosEc) -> Option<()> {
10651068 return None ;
10661069 }
10671070
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+ }
10701083
10711084 let pd_01 = PdController :: new ( PdPort :: Left01 , ec. clone ( ) ) ;
10721085 let pd_23 = PdController :: new ( PdPort :: Right23 , ec. clone ( ) ) ;
1073- println ! ( " Getting PD01 info" ) ;
1086+ print ! ( " Getting PD01 info through I2C tunnel " ) ;
10741087 print_err ( pd_01. get_silicon_id ( ) ) ?;
10751088 print_err ( pd_01. get_device_info ( ) ) ?;
10761089 print_err ( pd_01. get_fw_versions ( ) ) ?;
1077- println ! ( " Getting PD23 info" ) ;
1090+ println ! ( " - OK" ) ;
1091+ print ! ( " Getting PD23 info through I2C tunnel" ) ;
10781092 print_err ( pd_23. get_silicon_id ( ) ) ?;
10791093 print_err ( pd_23. get_device_info ( ) ) ?;
10801094 print_err ( pd_23. get_fw_versions ( ) ) ?;
1095+ println ! ( " - OK" ) ;
10811096
10821097 Some ( ( ) )
10831098}
0 commit comments