• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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