| // Copyright 2019 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 prototype; |
| |
| option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype"; |
| |
| import "prototype/common.proto"; |
| import "prototype/partner.proto"; |
| |
| import "google/protobuf/descriptor.proto"; |
| |
| message ComponentId { |
| string value = 1; |
| } |
| |
| message Component { |
| ComponentId id = 1; |
| |
| oneof type { |
| Soc soc = 2; |
| Memory memory = 3; |
| Bluetooth bluetooth = 4; |
| Camera camera = 5; |
| Touchscreen touchscreen = 6; |
| } |
| |
| message Soc { |
| enum Architecture { |
| ARCHITECTURE_UNDEFINED = 0; |
| X86 = 1; |
| X86_64 = 2; |
| ARM = 3; |
| ARM64 = 4; |
| } |
| |
| extend google.protobuf.EnumValueOptions { |
| Architecture arch = 1914503; |
| } |
| |
| enum Family { |
| FAMILY_UNDEFINED = 0; |
| RK3399 = 1 [(arch) = ARM64]; |
| GEMINI_LAKE = 2 [(arch) = X86_64]; |
| } |
| |
| Family family = 1; |
| string model = 2; |
| int32 cores = 3; |
| } |
| |
| message Memory { |
| enum Type { |
| TYPE_UNDEFINED = 0; |
| DDR = 1; |
| DDR2 = 2; |
| DDR3 = 3; |
| DDR4 = 4; |
| LP_DDR3 = 5; |
| LP_DDR4 = 6; |
| } |
| |
| Type type = 1; |
| int32 speed_mhz = 2; |
| ByteSize size = 3; |
| string part_number = 4; |
| PartnerId manufacturer_id = 5; |
| } |
| |
| message Bluetooth { |
| UsbDeviceId usb_device_id = 1; |
| } |
| |
| message Camera { |
| enum Feature { |
| FEATURE_UNKNOWN = 0; |
| ACTIVITY_LED = 1; |
| } |
| enum ClockType { |
| CLOCK_TYPE_UNDEFINED = 0; |
| MONOTONIC = 1; |
| BOOTTIME = 2; |
| } |
| |
| repeated Feature features = 1; |
| ClockType clock_type = 2; |
| } |
| |
| message Touchscreen { |
| string vendor_id = 1; |
| string product_id = 2; |
| string fw_version = 3; |
| string fw_path = 4; |
| } |
| } |
| |
| message ComponentList { |
| repeated Component value = 1; |
| } |