From 491b6948b4cb58fddb70652f533bdcb10ae1eec1 Mon Sep 17 00:00:00 2001 From: Mary Ruthven Date: Fri, 21 May 2021 11:20:47 -0700 Subject: flash_cr50: wait up to 15 seconds for EC cutoff BUG=b:188846962 TEST=run on hatch Change-Id: I1d9ea6048cec240c830dcd5d56c41b5cbfd622a1 Signed-off-by: Mary Ruthven Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2911495 Reviewed-by: Aseda Aboagye --- util/flash_cr50.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'util') diff --git a/util/flash_cr50.py b/util/flash_cr50.py index 6dde1148af..d94ef7fb6e 100755 --- a/util/flash_cr50.py +++ b/util/flash_cr50.py @@ -410,6 +410,8 @@ class BatteryCutoffReset(Cr50Reset): # EC console needs to be read-write to issue cutoff command. 'ec_uart', ) + CHECK_EC_RETRIES = 5 + WAIT_EC = 3 def run_reset(self): """Use EC commands to cutoff the battery.""" @@ -423,9 +425,14 @@ class BatteryCutoffReset(Cr50Reset): self._servo.dut_control('ec_uart_cmd:reboot', check_error=False, wait=True) - if not self._servo.dut_control('ec_board', check_error=False)[0]: + for i in range(self.CHECK_EC_RETRIES): + time.sleep(self.WAIT_EC) + if self._servo.dut_control('ec_board', check_error=False)[0]: + logging.info('Device is cutoff') + return + logging.info('EC still responsive') + else: raise Error('EC still responsive after cutoff') - logging.info('Device is cutoff') def recover_from_reset(self): """Connect power using servo v4 to recover from cutoff.""" -- cgit v1.2.1