faft: Add different cold reboot sequence for Parrot
Parrot EC doesn't boot AP automatically. It needs this special reboot sequence
to make it work.
BUG=chrome-os-partner:11824
TEST=run a FAFT test on Parrot passed.
Change-Id: Icba98f54f49fec2bb8aceb1a5bc27c88c2e2e629
Reviewed-on: https://gerrit.chromium.org/gerrit/31083
Reviewed-by: Vic Yang <victoryang@chromium.org>
Commit-Ready: Tom Wai-Hong Tam <waihong@chromium.org>
Tested-by: Tom Wai-Hong Tam <waihong@chromium.org>
diff --git a/server/cros/faftsequence.py b/server/cros/faftsequence.py
index 242f285..aac40dd 100644
--- a/server/cros/faftsequence.py
+++ b/server/cros/faftsequence.py
@@ -957,7 +957,13 @@
A wrapper for underlying servo cold reset.
"""
- if self.check_ec_capability():
+ if self.client_attr.platform == 'Parrot':
+ self.servo.set('pwr_button', 'press')
+ self.servo.set('cold_reset', 'on')
+ self.servo.set('cold_reset', 'off')
+ time.sleep(self.POWER_BTN_DELAY)
+ self.servo.set('pwr_button', 'release')
+ elif self.check_ec_capability():
# We don't use servo.cold_reset() here because software sync is
# not yet finished, and device may or may not come up after cold
# reset. Pressing power button before firmware comes up solves this.