blob: ce1ca3f659628c902861a2d29e2aa7e49c0a3d38 [file] [log] [blame] [edit]
# Copyright 2021 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# TODO: Name the build target.
"""{Build Target} configs."""
from chromite.lib.firmware import servo_lib
# BUILD CONFIGS.
# You probably don't need to fill those in.
# BUILD_WORKON_PACKAGES is the list packages that will be `cros_workon`ed.
# TODO(b/197680341): deprecate in favor of --workon-all.
# BUILD_WORKON_PACKAGES = (
# '',
# )
# All packages that need to be built.
# BUILD_PACKAGES = BUILD_WORKON_PACKAGES + (
# '',
# )
# End BUILD CONFIGS.
# FLASH CONFIGS.
# futility will be used by default for flashing.
# TODO: If flashrom is required, set the constant to True with explanation.
# DEPLOY_SSH_FORCE_FLASHROM = False
# DEPLOY_SERVO_FORCE_FLASHROM = False
# pylint: disable=unused-argument
def deploy_extra_flags_futility(servo: servo_lib.Servo) -> str:
"""Returns extra flags for flashing with futility"""
return ''
def deploy_extra_flags_flashrom(servo: servo_lib.Servo) -> str:
"""Returns extra flags for flashing with flashrom"""
return ''
def get_config(servo: servo_lib.Servo) -> servo_lib.FirmwareConfig:
"""Get specific flash config for the build target.
Each board needs specific config including the voltage for Vref, to turn
on and turn off the SPI flash. get_config() returns servo_lib.FirmwareConfig
with settings to flash a servo for a particular build target.
The voltage for this board needs to be set to 1.8 V.
Args:
servo: The servo connected to the target DUT.
Returns:
servo_lib.FirmwareConfig:
dut_control_{on, off}=2d arrays formatted like [["cmd1", "arg1", "arg2"],
["cmd2", "arg3", "arg4"]]
where cmd1 will be run before cmd2.
programmer=programmer argument (-p) for flashrom and futility.
"""
# TODO: modify defaults according to the board needs.
# TODO: raise UnsupportedServoVersionError for servos that are not supported.
dut_control_on = [['cpu_fw_spi:on']]
dut_control_off = [['cpu_fw_spi:off']]
if servo.is_v2:
programmer = 'ft2232_spi:type=google-servo-v2,serial=%s' % servo.serial
elif servo.is_micro or servo.is_c2d2:
programmer = 'raiden_debug_spi:serial=%s' % servo.serial
elif servo.is_ccd:
dut_control_on = []
dut_control_off = []
programmer = 'raiden_debug_spi:target=AP,serial=%s' % servo.serial
else:
raise servo_lib.UnsupportedServoVersionError('%s not supported' %
servo.version)
return servo_lib.FirmwareConfig(dut_control_on, dut_control_off, programmer)
# End FLASH CONFIGS.