cros_bundle_firmware: Improve USB download reliability on exynos
It seems that we no longer need the cold reset workaround, and in fact it
seems to cause occassional failures with the upstream U-Boot.
Also with a reset delay of 0.1s, the download sometimes doesn't work.
Increase this to 0.2s.
BUG=chromium-os:28229
TEST=run this script:
while true; do
cros_bundle_firmware -b daisy -d board/samsung/dts/exynos5250-snow.dts \
-I arch/arm/dts -I cros/dts -u u-boot-dtb.bin \
--bl2 spl/smdk5250-spl.bin -s -M exynos -w usb -O out
done
Change-Id: I9e3e93bb3b0a1ea81c0593fb1015eea36bf9965c
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/43284
Tested-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
diff --git a/host/lib/write_firmware.py b/host/lib/write_firmware.py
index e15ea01..0a55291 100644
--- a/host/lib/write_firmware.py
+++ b/host/lib/write_firmware.py
@@ -541,15 +541,11 @@
preserved_dut_hub_sel = self.DutControl(['dut_hub_sel',]
).strip().split(':')[-1]
required_dut_hub_sel = 'dut_sees_servo'
- args = ['warm_reset:on', 'fw_up:on', 'pwr_button:press', 'sleep:.1',
+ args = ['warm_reset:on', 'fw_up:on', 'pwr_button:press', 'sleep:.2',
'warm_reset:off']
if preserved_dut_hub_sel != required_dut_hub_sel:
# Need to set it to get the port properly powered up.
args += ['dut_hub_sel:%s' % required_dut_hub_sel]
- # TODO(sjg) If the board is bricked a reset does not seem to bring it
- # back to life.
- # BUG=chromium-os:28229
- args = ['cold_reset:on', 'sleep:.2', 'cold_reset:off'] + args
self._out.Progress('Reseting board via servo')
self.DutControl(args)
@@ -589,10 +585,6 @@
args = ['-a', '%#x' % item[1], '-f', item[2]]
self._tools.Run('smdk-usbdl', args, sudo=True)
- if upto == 1:
- # Once SPL starts up we can release the power buttom
- args = ['fw_up:off', 'pwr_button:release']
- self.DutControl(args)
finally:
# Make sure that the power button is released and dut_sel_hub state is