1# Copyright 2017 The Chromium OS Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5AUTHOR = "Chrome OS Team" 6NAME = "firmware_ChipFwUpdate" 7PURPOSE = "TCPC firmware update test." 8CRITERIA = "This test will pass if the updated bios.bin booted successfully." 9TIME = "SHORT" 10TEST_CATEGORY = "Functional" 11TEST_CLASS = "firmware" 12TEST_TYPE = "server" 13 14DOC = """ 15This test replaces chip (i.e. TCPC) firmware on the DUT's bios.bin 16and reboots into it. The expectation is that the TCPC firmware 17is updated correctly when the system boots with the updated bios.bin 18 19Software sync applies the TCPC firmware update and verifies that 20it has been applied. If the DUT rebooted successfully, we know 21that the test has passed. 22 23For independent verification, the firmware_CompareChipFwToShellBall 24FAFT test can be used to verify the running TCPC firmware versions. 25 26For complete testing, this test needs to be invoked to downgrade, then 27upgrade the TCPCs so that we have confidence that the update process 28really happened. 29""" 30 31from autotest_lib.client.common_lib import utils 32 33args_dict = utils.args_to_dict(args) 34servo_args = hosts.CrosHost.get_servo_arguments(args_dict) 35 36def run_chip_fw_update(machine): 37 # Setup the client machine. 38 host = hosts.create_host(machine, servo_args=servo_args) 39 job.run_test('firmware_ChipFwUpdate', 40 host=host, cmdline_args=args) 41 42 43parallel_simple(run_chip_fw_update, machines) 44