36824cce905c08738f9e0e4dfd0f2a9d2394239f |
|
11-Nov-2016 |
Wai-Hong Tam <waihong@google.com> |
[autotest] Support CCD firmware programmer Detect the CCD using the servo serial RPC. Pass the proper parameters to flashrom and flash_ec for firmware programming. BUG=chrome-os-partner:58039 CQ-DEPEND=CL:410058 CQ-DEPEND=CL:410162 TEST=Ran provision_FirmwareUpdate to program firmware via CCD: $ sudo servod -b gru -v 0x18d1 -p 0x501b $ test_that --board $BOARD --args \ "value=gru-firmware/R55-8785.84.0 servo_host=localhost" \ $DUT_IP provision_FirmwareUpdate Change-Id: I5af37ebdae26ca1f157849362445a013924accdc Reviewed-on: https://chromium-review.googlesource.com/425326 Commit-Ready: Wai-Hong Tam <waihong@google.com> Tested-by: Wai-Hong Tam <waihong@google.com> Reviewed-by: Kevin Cheng <kevcheng@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
df2e29f4bff8fbb53f3d90745b63ed92b6aed5d2 |
|
09-Sep-2016 |
Kevin Cheng <kevcheng@chromium.org> |
[autotest] Enable firmware install for servo v4. CQ-DEPEND=CL:352820 CQ-DEPEND=CL:383591 BUG=chromium:643081 TEST=not yet Change-Id: I8df2c8961031041fee2c06affc8f5a0a794d64a6 Reviewed-on: https://chromium-review.googlesource.com/383592 Commit-Ready: Wai-Hong Tam <waihong@google.com> Tested-by: Wai-Hong Tam <waihong@google.com> Reviewed-by: Wai-Hong Tam <waihong@google.com>
/external/autotest/server/cros/servo/firmware_programmer.py
|
c36c4d230bdaf2b23740e5db90acd583a86555bf |
|
09-Sep-2016 |
Wai-Hong Tam <waihong@google.com> |
Add the RW-only firmware programmer for servo v2 Created a new main programmer class which provides programmer for only updating the RW portion of BIOS with servo V2. It does nothing on EC, as EC software sync on the next boot will automatically overwrite the EC RW portion, using the EC RW image inside the BIOS RW image. BUG=chromium:645311 TEST=TBD Change-Id: Ife660ecb76732aef13a9d27ed911ee9e6e4d2c95 Reviewed-on: https://chromium-review.googlesource.com/383772 Commit-Ready: Wai-Hong Tam <waihong@google.com> Tested-by: Wai-Hong Tam <waihong@google.com> Reviewed-by: danny chan <dchan@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
97678db49943c064c51f311eae98701add4a90be |
|
16-Mar-2016 |
Tom Wai-Hong Tam <waihong@chromium.org> |
firmware_programmer: Fix cold_reset not work on beltino devices The cold_reset does not work on beltino devices. Use the power_state control to reset the device after the firmware programmer is done. BUG=None TEST=Use firmware_programmer to reflash BIOS on beltino devices. Change-Id: I237c8b0867db07fb8e80c4c0b69d1a92ef549837 Reviewed-on: https://chromium-review.googlesource.com/333105 Commit-Ready: Wai-Hong Tam <waihong@chromium.org> Tested-by: Wai-Hong Tam <waihong@chromium.org> Reviewed-by: danny chan <dchan@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
4ac78988b048811d6268c1b77765616426642f6b |
|
07-Jan-2016 |
Tom Wai-Hong Tam <waihong@chromium.org> |
autotest: Support the flow to update RW firmware for BIOS and EC This change completes the flow to update RW firmware, through CrosHost.firmware_install(), Servo.program_bios()/Servo.program_ec(), ProgrammerV3RwOnly.program_bios(), to FlashromProgrammer.program(). BUG=chromium:555709 TEST=Ran the following script: import common from autotest_lib.server import hosts h = hosts.create_host(DUT_IP, servo_args={}) h.firmware_install(RO_VERSION) h.firmware_install(RW_VERSION, rw_only=True) Checked the DUT installed the proper RO and RW firmware (BIOS and EC). Change-Id: I5dfca7b3d80c6cd23b0c1e3d2605fce008bd60b2 Reviewed-on: https://chromium-review.googlesource.com/320825 Commit-Ready: Wai-Hong Tam <waihong@chromium.org> Tested-by: Wai-Hong Tam <waihong@chromium.org> Reviewed-by: Dan Shi <dshi@google.com>
/external/autotest/server/cros/servo/firmware_programmer.py
|
73f14ed2e345240080dd157145879dc720bb1cb8 |
|
07-Jan-2016 |
Tom Wai-Hong Tam <waihong@chromium.org> |
firmware_programmer: Support an argument to keep the RO portion Supporting this argument enables updating the RW portion only. The RO portion is defined in the WP_RO FMap section. The HWID (GBB) and RO_VPD are also inside WP_RO. So don't need to preserve HWID and RO_VPD when we keep the RO portion. BUG=chromium:555709 TEST=Check the next change to use this argument. Change-Id: I294fbe5d785b6211348cbaaf34de72274c6a94e6 Reviewed-on: https://chromium-review.googlesource.com/320824 Commit-Ready: Wai-Hong Tam <waihong@chromium.org> Tested-by: Wai-Hong Tam <waihong@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
a8d4a106f84f6a65750b7b20d55200ab9a57041f |
|
10-Oct-2015 |
Tom Wai-Hong Tam <waihong@chromium.org> |
firmware_programmer: Set usbpd_reset to on during running flashrom On Samus or other devices with USB PD, should make usbpd_reset to on during running flashrom. Otherwise, the ME comes back on and tries to write something to SPI flash that it might get confused. Also add a FAFT config to define this wait time after changing the servo state for programming, in order to ensure the ME turns off gracefully. BUG=chromium:538125 TEST=Running the following Python script: import common from autotest_lib.server.hosts import servo_host sh = servo_host.create_servo_host(SAMUS_DUT_IP, {}) sh._servo.program_bios(FIRMWARE_PATH) Change-Id: Ia4187c1589475b5113014c85d562f35d904344fc Reviewed-on: https://chromium-review.googlesource.com/305230 Commit-Ready: Wai-Hong Tam <waihong@chromium.org> Tested-by: Wai-Hong Tam <waihong@chromium.org> Reviewed-by: danny chan <dchan@chromium.org> Reviewed-by: Dan Shi <dshi@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
fecdaf4ead5b2dba5ead0b86eb59311023527f9d |
|
28-Jul-2015 |
Dan Shi <dshi@chromium.org> |
[autotest] Add 10 min timeout when re-program EC/BIOS Without the timeout, firmware provision will stuck long time before test/ special task timeout kicks in. retry.timeout does not work with process started in code. refer to CL 288366 BUG=None TEST=local test Change-Id: Icefcb8841ff61a300087cb1c012f68ad96c4cb0a Reviewed-on: https://chromium-review.googlesource.com/288974 Trybot-Ready: Dan Shi <dshi@chromium.org> Tested-by: Dan Shi <dshi@chromium.org> Reviewed-by: Wai-Hong Tam <waihong@chromium.org> Commit-Queue: Dan Shi <dshi@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
7b7eeac6f64c5083d1cc2d3885138da97fa3c9df |
|
22-Jul-2015 |
Tom Wai-Hong Tam <waihong@chromium.org> |
[autotest] Flash EC according to the chip name The flash_ec doesn't keep all the board variants and doesn't know how to program in some boards. Should call the flash_ec by passing the chip name instead of the board name. CQ-DEPEND=CL:287445,CL:287600 BUG=chromium:505003 TEST=Ran the following Python code to test: > import common > from autotest_lib.server.hosts import servo_host > sh = servo_host.create_servo_host(DUT_IP_ADDRESS, {}) > sh._servo.program_ec(EC_IMAGE_PATH) Change-Id: I82e9e2cc5c4ab6fd4d7eef0a977f665bc8b4f842 Reviewed-on: https://chromium-review.googlesource.com/287601 Trybot-Ready: Wai-Hong Tam <waihong@chromium.org> Tested-by: Wai-Hong Tam <waihong@chromium.org> Reviewed-by: Dan Shi <dshi@chromium.org> Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
a5fef0518cfcffeb1eb4a7abcf24ac68e1b870a8 |
|
19-May-2015 |
Dan Shi <dshi@chromium.org> |
[autotest] Add ProgrammerV3 for updating bios and ec using servo V3 Update firmware_programmer with a new class of ProgrammerV3 for updating bios and ec using servo V3. BUG=chromium:279410 TEST=local flash firmware, test script: import common from autotest_lib.server import hosts machine = '172.27.215.232' host = hosts.create_host(machine, initialize=True) host.firmware_install('veyron_jerry-firmware/R41-6588.10.0') local change in servo_host needed: 1. ServoHost._initialize, force server proxy to use localhost: remote = 'http://%s:%s' % ('localhost', servo_port) 2. servo_host.create_servo_host, use remote servo: return ServoHost(servo_host='172.27.215.231', is_in_lab=False, required_by_test=True) 3. ServoHost._update_image force to skip. Change-Id: I6ae7162f53c3f8c5e5314f1a8ac35fa89cca4dda Reviewed-on: https://chromium-review.googlesource.com/271987 Tested-by: Dan Shi <dshi@chromium.org> Reviewed-by: Tom Tam <waihong@google.com> Commit-Queue: Dan Shi <dshi@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
f19ab9f015ddebadfed27bcf114dfd267a1c309d |
|
11-Jun-2014 |
Ricky Liang <jcliang@chromium.org> |
Grok servo XML configs to find out all v2-compatible boards. Some servo_<board>_overlay.xml configs contain indirect includes to pull in servoflex_v2_r0_p50.xml. For example, glimmer config pulls in rambi config which in turn pulls in v2 servoflex config. We need to examine each included config to determine if a board is v2-compatible. BUG=chrome-os-partner:26795 TEST=manually use firmware_programmer module to program firmware on my DUT. Change-Id: I11339f4286cf15d07430cd0e8dad770bf6e7c062 Reviewed-on: https://chromium-review.googlesource.com/203382 Commit-Queue: Ricky Liang <jcliang@chromium.org> Tested-by: Ricky Liang <jcliang@chromium.org> Reviewed-by: Vic Yang <victoryang@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
15c2dcbdcc125d5be186ff18bd3a593c9afc2af3 |
|
02-Jun-2014 |
Vic Yang <victoryang@chromium.org> |
FAFT: split wp_voltage and spi_voltage in FAFT config The write protect reference voltage and SPI voltage are not necessarily the same. Make them two separate options so that we can configure them to be different. BUG=chrome-os-partner:29210 TEST=Grep 'vref' and check each one is using the correct config value. Change-Id: I5cc30ea364f482a0febd66bfd99d857630bfa401 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/202381 Reviewed-by: Wai-Hong Tam <waihong@chromium.org> Reviewed-by: David Hendricks <dhendrix@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
c7cc34053bec10baaae6c78a978284a091745260 |
|
23-May-2014 |
Ricky Liang <jcliang@chromium.org> |
Search for servo configs in system site-packages directory. This is to make server.cros.firmware_programmer work on a CrOS host. BUG=chrome-os-partner:29159 TEST=manually on my moblab host Change-Id: Ib7f52160b580f36685783e23b26eb5ac2f0d3bff Reviewed-on: https://chromium-review.googlesource.com/201476 Reviewed-by: Vic Yang <victoryang@chromium.org> Commit-Queue: Ricky Liang <jcliang@chromium.org> Tested-by: Ricky Liang <jcliang@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
c101a562f7b0c10b6b311e2f03e7367a423d6f5d |
|
15-May-2014 |
Ricky Liang <jcliang@chromium.org> |
Parse out valid servo v2 boards from servod config files. BUG=chromium:371661 TEST=manually on my DUT Change-Id: I56bc5c747bb3ab3bf3e035e94e6658f2147a1b54 Reviewed-on: https://chromium-review.googlesource.com/200001 Commit-Queue: Ricky Liang <jcliang@chromium.org> Tested-by: Ricky Liang <jcliang@chromium.org> Reviewed-by: Vic Yang <victoryang@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
8c4631d02de931e6a367dd474eb7588e873113b0 |
|
06-May-2014 |
Yusuf Mohsinally <mohsinally@google.com> |
Catching exception when checking for existance of firmware programmer utilities. Ignoring the exception that occurs when checking for the existance of some required utilties for the fw programmer. Currently the firmware programmer is not working or used, and the check is blocking us from running tests in environments that do not package the required dependent bins. We should reinstate this exception once the programmer is working to indicate the missing utilities earlier in the test cycle, rather than hitting the exception when they are called. BUG=chromium:370288,chromium:371011 TEST=Manually at desk with/without require bins, and saw the expected msg. Change-Id: Idbfbe1a43f65e0cda22a7f7c8814f431dfa6f124 Reviewed-on: https://chromium-review.googlesource.com/198307 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Yusuf Mohsinally <mohsinally@chromium.org> Commit-Queue: Yusuf Mohsinally <mohsinally@chromium.org> Tested-by: Yusuf Mohsinally <mohsinally@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
04be2bd5e4666a5c253e9c30ab20555e04286032 |
|
08-May-2014 |
Ilja H. Friedel <ihf@chromium.org> |
Autotest: Change logging.warn() to logging.warning(). logging.warn() is deprecated. See http://bugs.python.org/issue13235 Substitution was performed via ~/cros/src/third_party/autotest/files$ find ./ -type f | xargs sed -i 's/logging.warn(/logging.warning(/' BUG=None. TEST=There should be one-- and preferably only one --obvious way to do it. Change-Id: Ie5665743121a49f7fbd5d1f47896a7c65e87e489 Reviewed-on: https://chromium-review.googlesource.com/198793 Commit-Queue: Ilja Friedel <ihf@chromium.org> Tested-by: Ilja Friedel <ihf@chromium.org> Reviewed-by: Alex Miller <milleral@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
c0003476d00af8f656a2f14d1c84127ffa98b0f4 |
|
24-Apr-2014 |
Ricky Liang <jcliang@chromium.org> |
firmware_programmer: Add support for Squawks. BUG=none TEST=manually test with my DUT Change-Id: Ie45b78e06c961429147ea01168d604311c90329e Reviewed-on: https://chromium-review.googlesource.com/196763 Reviewed-by: Vic Yang <victoryang@chromium.org> Tested-by: Ricky Liang <jcliang@chromium.org> Commit-Queue: Ricky Liang <jcliang@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
0dd379c7808b6e1c8c503b1b51981f2a598acf81 |
|
23-Apr-2014 |
Ricky Liang <jcliang@chromium.org> |
Add servo_serial property in servo module. Also propagate servo serial number to flashrom programmer. BUG=none TEST=manually tested on my DUT Change-Id: I1106221913ffd7adeb8d1f4118699ecc18bcf4ef Reviewed-on: https://chromium-review.googlesource.com/196419 Reviewed-by: Vic Yang <victoryang@chromium.org> Commit-Queue: Ricky Liang <jcliang@chromium.org> Tested-by: Ricky Liang <jcliang@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|
6c078aec7161a9c69429ccdf7d606a0c0ae1356d |
|
21-Nov-2013 |
Yusuf Mohsinally <mohsinally@google.com> |
Refactoring and cleaning up FW programming functions. Moved and cleaned up the programmer.py functionality to firmware_programmer.py. 1. Now using the flash_ec script for ec programming of supported boards. This script is maintained by the development teams. 2. Refactored flashrom programmer to support multiple boards with the correct vref voltages supplied. 3. FW programmer objects are instantiated in the servo client and can be changed based on the version of servo. 4. Exposed get_board and get_version in the servo client. 5. Smaller cleanup of functions calls, etc. BUG=chromium:317911 TEST=Manually at desk Change-Id: I0440fa0a7694ca53c7bbc944fbd906df94e1bd25 Reviewed-on: https://chromium-review.googlesource.com/177598 Reviewed-by: Yusuf Mohsinally <mohsinally@chromium.org> Tested-by: Vic Yang <victoryang@chromium.org> Commit-Queue: Vic Yang <victoryang@chromium.org>
/external/autotest/server/cros/servo/firmware_programmer.py
|