// Copyright 2021 The ChromiumOS Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. syntax = "proto3"; package chromiumos.config.api.software; import "chromiumos/build/api/factory.proto"; import "chromiumos/build/api/firmware_config.proto"; import "chromiumos/build/api/system_image.proto"; import "chromiumos/config/api/design_config_id.proto"; import "chromiumos/config/api/resource_config.proto"; import "chromiumos/config/api/software/audio_config.proto"; import "chromiumos/config/api/software/bluetooth_config.proto"; import "chromiumos/config/api/software/camera_config.proto"; import "chromiumos/config/api/software/disk_layout.proto"; import "chromiumos/config/api/software/firmware_info.proto"; import "chromiumos/config/api/software/health_config.proto"; import "chromiumos/config/api/software/nnpalm_config.proto"; import "chromiumos/config/api/software/power_config.proto"; import "chromiumos/config/api/software/rma_config.proto"; import "chromiumos/config/api/software/ui_config.proto"; import "chromiumos/config/api/software/usb_config.proto"; import "chromiumos/config/api/wifi_config.proto"; import "chromiumos/config/public_replication/public_replication.proto"; option go_package = "go.chromium.org/chromiumos/config/go/api/software"; // Contains all of the hardware-design-specific configuration that can be // updated via new software builds/releases. // // During manufacturing, the SoftwareConfigId will be set for a given device, // which will subsequently determine what SoftwareConfig shall be selected from // the current software-build installed on the device. // // SoftwareConfig payloads can be shared across different // hardware-design-configs, if the software payloads are the same. // // NEXT ID: 25 message SoftwareConfig { // Configures fields of AudioConfig that are made public. chromiumos.config.public_replication.PublicReplication public_replication = 12; // Defines the hardware design config this software config supports. DesignConfigId design_config_id = 7; // Scanning config used to determine the DesignConfigId DesignConfigId.ScanConfig id_scan_config = 8; // Defines firmware version pinning details (for non-development workflows). chromiumos.build.api.FirmwareConfig firmware = 3; // TODO(shapiroc): Remove once configs are migrated to firmware_build_targets // This establishes consistent naming so the difference between build targets, // build version pinning, and build metadata is clear (versus Config catch // all naming). chromiumos.build.api.FirmwareBuildConfig firmware_build_config = 9; chromiumos.build.api.Firmware.BuildTargets firmware_build_targets = 16; chromiumos.build.api.SystemImage.BuildTarget system_build_target = 13; chromiumos.build.api.Factory.BuildTarget factory_build_target = 14; BluetoothConfig bluetooth_config = 4; PowerConfig power_config = 5; ResourceConfig resource_config = 19; repeated AudioConfig audio_configs = 10; WifiConfig wifi_config = 11; HealthConfig health_config = 18; CameraConfig camera_config = 15; UiConfig ui_config = 17; UsbConfig usb_config = 20; NnpalmConfig nnpalm_config = 21; RmaConfig rma_config = 22; FirmwareInfo firmware_info = 23; DiskLayout disk_layout = 24; reserved 1, 2, 6; }