blob: 3d8e94c8dead4c76456deb61f9e973c22b6e4819 [file] [log] [blame]
// Copyright 2022 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.
syntax = "proto3";
package tast.core;
import "chromiumos/config/api/topology.proto";
option go_package = "chromiumos/tast/framework/protocol";
// DUTFeatures represents a set of features the DUT provides.
message DUTFeatures {
SoftwareFeatures software = 1;
HardwareFeatures hardware = 2;
}
// SoftwareFeatures represents a set of software features available for the
// image being tested.
message SoftwareFeatures {
repeated string available = 1;
repeated string unavailable = 2;
}
// DeprecatedConfigId is the labels given to DUT based on the hardware model or
// platform name. These information is fetched from the DUT at runtime by the
// framework.
message DeprecatedConfigId {
string model = 1;
string platform = 2;
string brand = 3;
}
// DeprecatedDeviceConfig stores DUT characteristics not covered by
// config.api.HardwareFeatures. Some fields/enums were copied from
// go.chromium.org/chromiumos/infra/proto/go/device package.
message DeprecatedDeviceConfig {
DeprecatedConfigId id = 1;
enum SOC {
SOC_UNSPECIFIED = 0;
// Aka AML-Y
SOC_AMBERLAKE_Y = 1;
SOC_APOLLO_LAKE = 2;
SOC_BAY_TRAIL = 3;
SOC_BRASWELL = 4;
SOC_BROADWELL = 5;
SOC_CANNON_LAKE_Y = 6;
SOC_COMET_LAKE_U = 7;
SOC_EXYNOS_5250 = 8;
SOC_EXYNOS_5420 = 9;
// Aka GLK
SOC_GEMINI_LAKE = 10;
SOC_HASWELL = 11;
SOC_ICE_LAKE_Y = 12;
SOC_IVY_BRIDGE = 13;
SOC_KABYLAKE_U = 14;
// KabyLake U refresh
SOC_KABYLAKE_U_R = 15;
SOC_KABYLAKE_Y = 16;
SOC_MT8173 = 17;
SOC_MT8176 = 18;
SOC_MT8183 = 19;
SOC_PICASSO = 20;
SOC_PINE_TRAIL = 21;
SOC_RK3288 = 22;
SOC_RK3399 = 23;
SOC_SANDY_BRIDGE = 24;
SOC_SDM845 = 25;
SOC_SKYLAKE_U = 26;
SOC_SKYLAKE_Y = 27;
SOC_STONEY_RIDGE = 28;
SOC_TEGRA_K1 = 29;
SOC_WHISKEY_LAKE_U = 30;
SOC_SC7180 = 31;
SOC_JASPER_LAKE = 32;
SOC_TIGER_LAKE = 33;
SOC_MT8192 = 34;
SOC_ALDER_LAKE = 35;
SOC_SC7280 = 36;
SOC_MT8195 = 37;
SOC_MT8186 = 38;
}
SOC soc = 2;
enum Architecture {
ARCHITECTURE_UNDEFINED = 0;
X86 = 1;
X86_64 = 2;
ARM = 3;
ARM64 = 4;
}
Architecture cpu = 3;
// Indicate the device's power supply.
enum PowerSupply {
POWER_SUPPLY_UNSPECIFIED = 0;
POWER_SUPPLY_BATTERY = 1;
POWER_SUPPLY_AC_ONLY = 2;
}
PowerSupply power = 4;
// Indicate the device's storage supporting NVMe self-test or not.
bool has_nvme_self_test = 5;
// HasVboot2 indicates whether device uses vboot2.
bool has_vboot2 = 6;
}
// HardwareFeatures represents a set of hardware features available for the
// device model being tested.
message HardwareFeatures {
chromiumos.config.api.HardwareFeatures hardware_features = 1;
reserved 2;
DeprecatedDeviceConfig deprecated_device_config = 3;
}