servod: scarlet: bypass wait-ext functionality
power_state:rec uses a regex to see if wait-ext is implemented.
However, Scarlet claims to implement this but doesn't.
BUG=b:77829289
TEST=test_that platform_ServoPowerStateController_USBPluggedin
Change-Id: I9b9dbc333a0171be84ebbfeac0c760789fdfedb9
Reviewed-on: https://chromium-review.googlesource.com/1011103
Commit-Ready: Nick Sanders <nsanders@chromium.org>
Tested-by: Nick Sanders <nsanders@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
diff --git a/servo/data/servo_scarlet_overlay.xml b/servo/data/servo_scarlet_overlay.xml
index 1971492..c51cd1a 100644
--- a/servo/data/servo_scarlet_overlay.xml
+++ b/servo/data/servo_scarlet_overlay.xml
@@ -17,7 +17,8 @@
<control>
<name>power_state</name>
<doc>Used to turn the DUT off and on</doc>
- <params clobber_ok="" shutdown_delay="11.0" reset_recovery="0.5"/>
+ <params clobber_ok="" shutdown_delay="3.0" reset_recovery="2.0"
+ warm_reset_can_hold_ap="yes" wait_ext_is_fake="yes"/>
</control>
<control>
<name>lid_open</name>
diff --git a/servo/drv/cros_ec_softrec_power.py b/servo/drv/cros_ec_softrec_power.py
index 961cf9e..d486f3b 100644
--- a/servo/drv/cros_ec_softrec_power.py
+++ b/servo/drv/cros_ec_softrec_power.py
@@ -51,6 +51,8 @@
self._params.get('hostevent_delay', 0.1))
self._warm_reset_can_hold_ap = ('yes' == self._params.get(
'warm_reset_can_hold_ap', 'yes'))
+ self._wait_ext_is_fake = ('yes' == self._params.get(
+ 'wait_ext_is_fake', 'no'))
self._role_swap_delay = float(
self._params.get('role_swap_delay', 1.0))
@@ -68,6 +70,8 @@
self._interface.set('warm_reset', 'on')
try:
+ if self._wait_ext_is_fake:
+ raise Exception("wait-ext isn't supported")
# Before proceeding, we should really check that the EC has reset from
# our command. Pexpect is minimally greedy so we won't be able to match
# the exact reset cause string. But, this should be good enough.
@@ -123,6 +127,7 @@
self._logger.debug('Recovery detection delay: %s',
self._RECOVERY_DETECTION_DELAY)
time.sleep(self._RECOVERY_DETECTION_DELAY)
+
self._power_on_ap()
if rec_mode == self.REC_ON:
# Allow time to reach the recovery screen before yielding control.