From 3871e5126429fabf3002ca0ff9031aa96a0f7acf Mon Sep 17 00:00:00 2001 From: Aseda Aboagye Date: Fri, 18 Dec 2015 14:53:39 -0800 Subject: flash_ec: Disconnect EC-3PO interps when flashing. Due to the recent changes for EC-3PO in servod, flash_ec needs to be modified in the same way that was done for ToT. Since the stm32 MCUs are programmed over the UART, we need to make some changes to allow the interpreter to stop listening to the UART PTY when flash_ec needs those PTYs. Otherwise, the EC-3PO interpreter will interfere with the programming and cause the flash to fail every time. BUG=chromium:571170 BUG=chromium:587600 BRANCH=kitty TEST=Tested same patch on other branches to flash stm32 ECs. Change-Id: I6f8de0ca5fdc877d2ef7dc613d1f813edaba8187 Signed-off-by: Aseda Aboagye Reviewed-on: https://chromium-review.googlesource.com/328291 Reviewed-by: Aseda Aboagye Commit-Queue: Aseda Aboagye Tested-by: Aseda Aboagye --- util/flash_ec | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/util/flash_ec b/util/flash_ec index 2af7475668..3a6c9c6fa3 100755 --- a/util/flash_ec +++ b/util/flash_ec @@ -108,7 +108,8 @@ DUT_CONTROL_CMD="dut-control --port=${FLAGS_port}" # Find the EC UART on the servo v2 function ec_uart() { SERVOD_FAIL="Cannot communicate with servo. is servod running ?" - ($DUT_CONTROL_CMD ec_uart_pty || \ + ($DUT_CONTROL_CMD raw_ec_uart_pty || \ + $DUT_CONTROL_CMD ec_uart_pty || \ die "${SERVOD_FAIL}") | cut -d: -f2 } @@ -137,6 +138,12 @@ function servo_restore() { function free_pty() { local pids + # Disconnect the EC-3PO interpreter from the UART since it will + # interfere with flashing. + dut_control ec_ec3po_interp_connect:off || \ + warn "hdctools cannot disconnect the EC-3PO interpreter from" \ + "the UART." + pids=$(lsof -F p 2>/dev/null -- $1 | cut -d'p' -f2) if [ "${pids}" == "" ]; then return @@ -188,6 +195,11 @@ function flash_stm32() { ec_reset # Unprotect flash, erase, and write ${STM32MON} -d ${EC_UART} -u -e -w ${IMG} + + # Reconnect the EC-3PO interpreter to the UART. + dut_control ec_ec3po_interp_connect:on || \ + warn "hdctools cannot reconnect the EC-3PO interpreter to" \ + "the UART." } function flash_link() { -- cgit v1.2.1