mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-30 18:41:11 +00:00
The warm_reset_l signal is an open drain output on the servo side and its input value can be read back as on (level 0) when the AP power rails are off on the DUT side and not pulling it up. So the current mechanism of reading the warm_reset input value with dut-control at the beginning, then restoring it at the end is sometimes broken because when the AP is OFF, we are reading input == on (while we had actually set output to "off" but we have no pull-up) and then restoring a "hard" on (drive low on the servo side). In this workaround, just assume we don't want to pull warm_reset after flashing the EC and restore it to off. A better solution might be to have a mechanism in dut-control to read the output register rather than the input value for GPIO, so we can save and restore them safely. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=chrome-os-partner:30738 TEST=On Ryu P5 with the AP off, run ./util/flash_ec --board=ryu then boot the AP properly with the power button. Change-Id: I96e65c2fec5e6d604445af3fe26fce73678b1d3b Reviewed-on: https://chromium-review.googlesource.com/265223 Reviewed-by: Todd Broch <tbroch@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org> Trybot-Ready: Vincent Palatin <vpalatin@chromium.org>