From 06c2b877d61d210440ad4fffc44ebe58fe201915 Mon Sep 17 00:00:00 2001 From: Shelley Chen Date: Wed, 18 Nov 2015 16:29:19 -0800 Subject: [PATCH] flash_ec: Accomodate using flashrom on beaglebone Currently, using flash_ec for mec1322 chips only supports flashing from servo v2. Updated to work from v3 as well. This is a resubmission. BUG=chromium:554230 BRANCH=None TEST=tested locally with beaglebone/cyan setup at my desk Ran flash_ec --board=cyan --chip=mec1322 --image=/tmp/image.bin. Also ran with servov2. Change-Id: Ia2a7edb577350cd4aa1c9835f24f4e3df2e508e2 Signed-off-by: Shelley Chen Reviewed-on: https://chromium-review.googlesource.com/313053 Reviewed-by: Wai-Hong Tam --- util/flash_ec | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/util/flash_ec b/util/flash_ec index be172c616c..5b05604d76 100755 --- a/util/flash_ec +++ b/util/flash_ec @@ -232,6 +232,11 @@ ec_enable_boot0() { eval ${SERVO_TYPE}_${MCU}_boot0 } +# Returns 0 on success (if on beaglebone) +on_servov3() { + grep -qs '^CHROMEOS_RELEASE_BOARD=beaglebone_servo' /etc/lsb-release +} + # Put back the servo and the system in a clean state at exit FROZEN_PIDS="" cleanup() { @@ -375,15 +380,21 @@ function flash_openocd() { function flash_flashrom() { TOOL_PATH="${EC_DIR}/build/${BOARD}/util:/usr/sbin/:$PATH" FLASHROM=$(PATH="${TOOL_PATH}" which flashrom) - FLASHROM_PARAM="-p ft2232_spi:type=servo-v2,port=B" + if on_servov3; then + FLASHROM_PARAM="-p linux_spi" + else + FLASHROM_PARAM="-p ft2232_spi:type=servo-v2,port=B" + fi if [ ! -x "$FLASHROM" ]; then die "no flashrom util found." fi - SERIALNAME=$(${DUT_CONTROL_CMD} serialname | cut -d: -f2) - if [[ "$SERIALNAME" != "" ]] ; then - FLASHROM_PARAM="${FLASHROM_PARAM},serial=${SERIALNAME}" + if ! on_servov3; then + SERIALNAME=$(${DUT_CONTROL_CMD} serialname | cut -d: -f2) + if [[ "$SERIALNAME" != "" ]] ; then + FLASHROM_PARAM="${FLASHROM_PARAM},serial=${SERIALNAME}" + fi fi dut_control cold_reset:on