1// Copyright 2020 The ChromiumOS Authors 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5syntax = "proto3"; 6 7package chromiumos.config.api; 8 9import "chromiumos/config/api/topology.proto"; 10 11option go_package = "go.chromium.org/chromiumos/config/go/api"; 12 13// Contains hardware related system features that are tracked by Google to 14// differentiate distinct hardware build configurations. Generally these 15// hardware-related system features are not easily probe-able at run time. 16// 17// This SHOULD NOT be used to track second sourced components that are drop in 18// replacements. 19// 20// Note the types here are Topology values instead of enums. The individual 21// Design repos should check that any CL landing has acceptable Topology values. 22// Most values are effectively stringly typed enums. 23message HardwareTopology { 24 // Specify hardware screen topology hardware. 25 // See ./hardware_topology.md#screen for more information. 26 Topology screen = 1; 27 28 // Specify functional form factor type of hardware. 29 // See ./hardware_topology.md#form-factor for more information. 30 Topology form_factor = 2; 31 32 // Specify the audio codec topology. 33 // See ./hardware_topology.md#audio for more information 34 Topology audio = 3; 35 36 // Specify the stylus topology. 37 // See ./hardware_topology.md#stylus for more information. 38 Topology stylus = 4; 39 40 // Specify the internal keyboard topology. 41 // See ./hardware_topology.md#keyboard for more information. 42 Topology keyboard = 5; 43 44 // Specify which thermal topology. 45 // See ./hardware_topology.md#thermal for more information. 46 Topology thermal = 6; 47 48 // Specify the camera topology. 49 // See ./hardware_topology.md#camera for more information. 50 Topology camera = 7; 51 52 // Specify the accelerometer/gyroscope/magetometer topology. 53 // See ./hardware_topology.md#sensor for more information. 54 Topology accelerometer_gyroscope_magnetometer = 8; 55 56 // Specify the fingerprint sensor topology. 57 // See ./hardware_topology.md#fingerprint-sensor for more information. 58 Topology fingerprint = 9; 59 60 // Specify the proximity sensor topology. 61 // See ./hardware_topology.md#sensor for more information. 62 Topology proximity_sensor = 10; 63 64 // Specify the daughter board topology. 65 // See ./hardware_topology.md#daughter-board for more information. 66 Topology daughter_board = 11; 67 68 // Specify the non-volatile storage topology. 69 // See ./hardware_topology.md#non_volatile-storage for more information. 70 Topology non_volatile_storage = 12; 71 72 // Deprecated 73 Topology ram = 13; 74 75 // Specify the wifi topology. 76 // See ./hardware_topology.md#wifi for more information. 77 Topology wifi = 14; 78 79 // Specify the cellular sub-board topology. 80 // See ./hardware_topology.md#cellular-board for more information. 81 Topology cellular_board = 15; 82 83 // Specify the SD card reader topology. 84 // See ./hardware_topology.md#sd-reader for more information. 85 Topology sd_reader = 16; 86 87 // Specify the motherboard USB topology 88 // See ./hardware_topology.md#motherboard-usb for more information. 89 Topology motherboard_usb = 17; 90 91 // Specify the bluetooth topology 92 // See ./hardware_topology.md#bluetooth for more information. 93 Topology bluetooth = 18; 94 95 // Specify the barreljack topology 96 // See ./hardware_topology.md#barreljack for more information. 97 Topology barreljack = 19; 98 99 // Specify the power button topology. 100 // See ./hardware_topology.md#power-button for more information. 101 Topology power_button = 20; 102 103 // Specify the volume button topology. 104 // See ./hardware_topology.md#volume-button for more information. 105 Topology volume_button = 21; 106 107 // Specify the EC topology. 108 // See ./hardware_topology.md#ec for more information. 109 Topology ec = 22; 110 111 // Specify the touch topology. 112 // See ./hardware_topology.md#touch for more information. 113 Topology touch = 23; 114 115 // Specify the tpm topology. 116 // See ./hardware_topology.md#tpm for more information. 117 Topology tpm = 24; 118 119 // Specify the microphone mute switch topology. 120 // See ./hardware_topology.md#microphone_mute_switch for more information. 121 Topology microphone_mute_switch = 25; 122 123 // Specify the HDMI topology. 124 // See ./hardware_topology.md#hdmi for more information. 125 Topology hdmi = 26; 126 127 // Specify the HPS topology. 128 // See ./hardware_topology.md#hps for more information. 129 Topology hps = 27; 130 131 // Specify the DisplayPort converter topology. 132 // See ./hardware_topology.md#dp_converter for more information. 133 Topology dp_converter = 28; 134 135 // Specify the PoE peripheral support topology. 136 // See ./hardware_topology.md#poe_peripheral_support for more information. 137 Topology poe = 29; 138 139 // Specify the power supply topology 140 // See ./hardware_topology.md#power-supply for more information. 141 Topology power_supply = 30; 142 143 // Specify the battery topology 144 // See ./hardware_topology.md#battery for more information. 145 Topology battery = 31; 146 147 // Specify the dGPU topology 148 // See ./hardware_topology.md#dgpu for more information. 149 Topology dgpu = 32; 150 151 // Specify the UWB (Ultra Wideband) topology 152 // See ./hardware_topology.md#uwb for more information. 153 Topology uwb = 33; 154 155 // Specify the topology 156 // See ./hardware_topology.md#detachable_base for more information. 157 Topology detachable_base = 34; 158 159 // Specify the SoC topology 160 // See ./hardware_topology.md#soc for more information. 161 Topology soc = 35; 162 163 // Specify the Fan topology 164 // See ./hardware_topology.md#fan for more information. 165 Topology fan = 36; 166} 167