blob: 9c32c3686978ad6a8b78168f0aa3e25dce328a7d [file] [log] [blame]
syntax = "proto3";
package firmware;
option go_package = "go.chromium.org/chromiumos/config/go/src/third_party/chromiumos-overlay/proto";
import "chromite/infra/proto/src/chromiumos/common.proto";
// The type of a firmware binary.
enum FirmwareType {
FIRMWARE_TYPE_UNKNOWN = 0;
FIRMWARE_TYPE_MAIN = 1;
FIRMWARE_TYPE_EC = 2;
}
// Specifies the version of a firmware binary.
message Version {
int32 major = 1;
int32 minor = 2;
}
// Specifies the location of a firmware binary.
message FirmwarePayload {
// The build target the firmware was built for.
chromiumos.BuildTarget build_target = 1;
// The name of the firmware image used by the firmware updater. Typically
// the device name, but can differ when a device may have two or more
// different firmware images.
string firmware_image_name = 2;
FirmwareType type = 3;
Version version = 4;
}
// Specifies different firmware payloads to use in a build.
message FirmwareConfig {
// The main read-only firmware.
FirmwarePayload main_ro_payload = 1;
// The main read-write firmware.
FirmwarePayload main_rw_payload = 2;
// The embedded controller read-only firmware.
FirmwarePayload ec_ro_payload = 3;
}