xref: /aosp_15_r20/external/autotest/server/hosts/servo_constants.py (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
1*9c5db199SXin Li# Copyright (c) 2020 The Chromium OS Authors. All rights reserved.
2*9c5db199SXin Li# Use of this source code is governed by a BSD-style license that can be
3*9c5db199SXin Li# found in the LICENSE file.
4*9c5db199SXin Li
5*9c5db199SXin Li
6*9c5db199SXin Lifrom autotest_lib.client.common_lib import global_config
7*9c5db199SXin Li_CONFIG = global_config.global_config
8*9c5db199SXin Li
9*9c5db199SXin Li# Names of the host attributes in the database that represent the values for
10*9c5db199SXin Li# the servo_host and servo_port for a servo connected to the DUT.
11*9c5db199SXin LiSERVO_HOST_ATTR = 'servo_host'
12*9c5db199SXin LiSERVO_HOST_SSH_PORT_ATTR = 'servo_host_ssh_port'
13*9c5db199SXin LiSERVO_PORT_ATTR = 'servo_port'
14*9c5db199SXin LiSERVO_BOARD_ATTR = 'servo_board'
15*9c5db199SXin Li# Model is inferred from host labels.
16*9c5db199SXin LiSERVO_MODEL_ATTR = 'servo_model'
17*9c5db199SXin LiSERVO_SERIAL_ATTR = 'servo_serial'
18*9c5db199SXin LiSERVOD_DOCKER_ATTR = 'servod_docker'
19*9c5db199SXin Li# Indicates what type of servo setup, example value: REGULAR or DUAL_V4.
20*9c5db199SXin LiSERVO_SETUP_ATTR = 'servo_setup'
21*9c5db199SXin LiSERVO_FW_CHANNEL_ATTR = 'servo_fw_channel'
22*9c5db199SXin LiSERVO_SETUP_VALUE_DUAL_V4 = 'DUAL_V4'
23*9c5db199SXin LiSERVO_RECOVERY_MODE = 'servo_recovery'
24*9c5db199SXin LiSERVO_ATTR_KEYS = (
25*9c5db199SXin Li        SERVO_BOARD_ATTR,
26*9c5db199SXin Li        SERVO_HOST_ATTR,
27*9c5db199SXin Li        SERVOD_DOCKER_ATTR,
28*9c5db199SXin Li        SERVO_HOST_SSH_PORT_ATTR,
29*9c5db199SXin Li        SERVO_PORT_ATTR,
30*9c5db199SXin Li        SERVO_SERIAL_ATTR,
31*9c5db199SXin Li        SERVO_SETUP_ATTR,
32*9c5db199SXin Li        SERVO_FW_CHANNEL_ATTR,
33*9c5db199SXin Li)
34*9c5db199SXin Li
35*9c5db199SXin Li# Additional args that will be appended to servod start command.
36*9c5db199SXin LiADDITIONAL_SERVOD_ARGS = 'additional_servod_args'
37*9c5db199SXin Li
38*9c5db199SXin Li# Timeout value for stop/start servod process.
39*9c5db199SXin LiSERVOD_TEARDOWN_TIMEOUT = 3
40*9c5db199SXin LiSERVOD_QUICK_STARTUP_TIMEOUT = 20
41*9c5db199SXin LiSERVOD_STARTUP_TIMEOUT = 60
42*9c5db199SXin Li
43*9c5db199SXin Li# Prefix of pools that require servod cr50 config.
44*9c5db199SXin LiCR50_CONFIG_POOL_PREFIX = 'faft-cr50'
45*9c5db199SXin Li
46*9c5db199SXin LiENABLE_SSH_TUNNEL_FOR_SERVO = _CONFIG.get_config_value(
47*9c5db199SXin Li        'CROS', 'enable_ssh_tunnel_for_servo', type=bool, default=False)
48*9c5db199SXin Li
49*9c5db199SXin LiSERVO_TYPE_LABEL_PREFIX = 'servo_type'
50*9c5db199SXin LiSERVO_STATE_LABEL_PREFIX = 'servo_state'
51*9c5db199SXin Li
52*9c5db199SXin Li# constants to support whole list of states for servo
53*9c5db199SXin LiSERVO_STATE_UNKNOWN = 'UNKNOWN'
54*9c5db199SXin LiSERVO_STATE_MISSING_CONFIG = 'MISSING_CONFIG'
55*9c5db199SXin LiSERVO_STATE_WRONG_CONFIG = 'WRONG_CONFIG'
56*9c5db199SXin LiSERVO_STATE_NO_SSH = 'NO_SSH'
57*9c5db199SXin LiSERVO_STATE_SERVO_HOST_ISSUE = 'SERVO_HOST_ISSUE'
58*9c5db199SXin LiSERVO_STATE_NOT_CONNECTED = 'NOT_CONNECTED'
59*9c5db199SXin LiSERVO_STATE_SERIAL_MISMATCH = 'SERVO_SERIAL_MISMATCH'
60*9c5db199SXin LiSERVO_STATE_SERVO_UPDATER_ISSUE = 'SERVO_UPDATER_ISSUE'
61*9c5db199SXin LiSERVO_STATE_SERVOD_DUT_CONTROLLER_MISSING = 'SERVOD_DUT_CONTROLLER_MISSING'
62*9c5db199SXin LiSERVO_STATE_NEED_REPLACEMENT = 'NEED_REPLACEMENT'
63*9c5db199SXin LiSERVO_STATE_CR50_CONSOLE_MISSING = 'CR50_CONSOLE_MISSING'
64*9c5db199SXin LiSERVO_STATE_CCD_TESTLAB_ISSUE = 'CCD_TESTLAB_ISSUE'
65*9c5db199SXin LiSERVO_STATE_SERVOD_ISSUE = 'SERVOD_ISSUE'
66*9c5db199SXin LiSERVO_STATE_SERVOD_PROXY_ISSUE = 'SERVOD_PROXY_ISSUE'
67*9c5db199SXin LiSERVO_STATE_LID_OPEN_FAILED = 'LID_OPEN_FAILED'
68*9c5db199SXin LiSERVO_STATE_BAD_RIBBON_CABLE = 'BAD_RIBBON_CABLE'
69*9c5db199SXin LiSERVO_STATE_TOPOLOGY_ISSUE = 'TOPOLOGY_ISSUE'
70*9c5db199SXin LiSERVO_STATE_SBU_LOW_VOLTAGE = 'SBU_LOW_VOLTAGE'
71*9c5db199SXin LiSERVO_STATE_CR50_NOT_ENUMERATED = 'CR50_NOT_ENUMERATED'
72*9c5db199SXin LiSERVO_STATE_DUT_NOT_CONNECTED = 'DUT_NOT_CONNECTED'
73*9c5db199SXin LiSERVO_STATE_EC_BROKEN = 'EC_BROKEN'
74*9c5db199SXin LiSERVO_STATE_BROKEN = 'BROKEN'
75*9c5db199SXin LiSERVO_STATE_WORKING = 'WORKING'
76*9c5db199SXin Li
77*9c5db199SXin Li# constants to support reset servo via smart usbhub.
78*9c5db199SXin LiSMART_USBHUB_LABEL = 'smart_usbhub'
79*9c5db199SXin LiSERVO_RESET_TIMEOUT_SECONDS = 20
80*9c5db199SXin LiERROR_MESSAGE_USB_HUB_NOT_COMPATIBLE = ('Be sure the hub is a supported'
81*9c5db199SXin Li                                        ' smart hub')
82*9c5db199SXin Li# a servo serial number should be fed to this constant
83*9c5db199SXin LiERROR_MESSAGE_DEVICE_NOT_FOUND = 'Device with serial \'%s\' not found.'