1# Hardware Topology 2 3This document describes when each type of hardware feature needs a new topology 4value. 5 6[TOC] 7 8## Screen 9 10Changes that require new topology 11 12* Size change: e.g. 15” vs 12” 13* Native screen resolution changes 14* Technology change: e.g TFT vs IPS vs OLED 15* Touch change: e.g. no touch vs touch 16* Rounded corners 17 18Changes that do not require new topology 19 20* Vendor supplier change with all same above functionality 21 22## Form Factor 23 24Changes that require new topology 25 26* Clamshell/Convertible/Detachable/Tablet/Chromebox/Chromebase 27 28Changes that do not require new topology 29 30* Changing color of plastics and other cosmetic modifications 31* Changing hinge location (assuming convertible type remains the same) 32 33## Audio 34 35Changes that require new topology 36 37* Same amplifier chip, but different number of speakers 38* Same amplifier chip, same number of speakers, but different placement of 39 speakers. 40* Different number of microphones or different placement of microphones 41 (A/B/C/D panels) 42 43Changes that do not require new topology 44 45* Different placement of same audio codec on MLB 46 47## Stylus 48 49Changes that require new topology 50 51* Presence of stylus support (even if device doesn’t ship with stylus) 52* Garage type of stylus: e.g. garaged internally vs stored externally 53* Wake-on-eject hardware support: e.g. supported vs not supported 54* Technology type: e.g. USI vs EMR 55 56Changes that do not require new topology 57 58* Where external stylus position is on device 59 60## Keyboard 61 62Changes that require new topology 63 64* Presence of internal keyboard 65* Any key presence change: e.g. power button present, lock button present, 66 number pad presence or not. 67* Presence of backlight 68 69Changes that do not require new topology 70 71* Moving keys around (e.g. moving Delete key to a different location). 72 * Assuming no EC driver support is needed for this change. If EC driver 73 support is needed, then that would require a new topology value 74* Changing Z height of keys or travel for each key press 75 76## Thermal 77 78Changes that may require a new topology 79 80* More powerful SoC 81* Presence of fan 82* Any changes in a device that may require different thermal tuning and 83 consideration 84 85## Camera 86 87Changes that require new topology 88 89* Different A/B/C/D panel placement of cameras. e.g. 1A-1B vs 1B-1D 90 * Also implies difference in total camera count for system 91* If camera supports ARcore in hardware 92* Different resolution for camera 93 94Changes that do not require new topology 95 96* Different vendor for camera 97* Different OS driver required for camera 98 99## Accelerometer/Gyroscope/Magnetometer/Proximity/LightSensor {#sensor} 100 101Changes that require new topology 102 103* Different lid/base placement. e.g. 2lid-1base vs 1lid-2base 104* Number of sensors present on system 105* HW that requires a different EC driver 106 107Changes that do not require new topology 108 109* Moving sensor sub-board placement within the lid (if it moves out of the 110 lid, then we a new topology is required) 111 112## Fingerprint Sensor 113 114Changes that require new topology 115 116* Number of fingerprint sensors 117* HW interface change 118 119Changes that do not require new topology 120 121* Placement of sensor on the device (e.g. left side or right side) 122 123## Daughter Board 124 125Changes that require new topology 126 127* Using a different daughter board 128 129Changes that do not require new topology 130 131* The length of the cable connecting the MLB and the DB 132 133## Non-Volatile Storage 134 135Changes that require new topology 136 137* Technology change: e.g. eMMC vs NVMe 138* Component change that requires different FW tuning parameters 139 140Changes that do not require new topology 141 142* Size of storage: e.g. 32GB vs 128GB 143 144## RAM 145 146Deprecated. This is no longer encoded in the design. 147 148## WIFI 149 150Changes that require new topology 151 152* Change in bus: e.g. CNVi vs PCIe 153 154Changes that do not require new topology 155 156* Different vendor/part on same bus 157 158## Bluetooth 159 160Changes that require new topology 161 162* Changes in component (vendor_id, product_id, bcd_device) 163 164Changes that do not require new topology 165 166* None currently 167 168## BarrelJack 169 170Changes that require new topology 171 172* Present or absent of barrel jack 173 174Changes that do not require new topology 175 176* Placement, voltage 177 178## Cellular Board 179 180Changes that require new topology 181 182* Presence of Cellular board 183 184Changes that do not require new topology 185 186* Second sourced component changes that do not affect FW 187 188## SD Board 189 190Changes that require new topology 191 192* Presence of SD reader board 193 194Changes that do not require new topology 195 196* Second sourced component changes that do not affect FW 197 198## Motherboard USB 199 200Changes that require new topology 201 202* Swapping out USB ICs like TCPCs, PPCs, SSMUXs, or retimers 203 204Changes that do not require new topology 205 206* Adding/Removing isolation diodes on USB lines 207 208## Power Button 209 210Changes that require new topology 211 212* Region of device (i.e. is the button on the screen, keyboard, etc.) 213* Edge of device (i.e. is the button on the left side of the screen) 214* Relative position of button on edge (i.e. how far up the left side of the 215screen is the button) 216 217Changes that do not require new topology 218 219* Second sourced component changes 220 221## EmbeddedController 222 223Changes that require new topology 224 225* New EmbeddedController type, such as Chrome EC, Wilco EC 226* New EC part number, such as npcx5m6g 227 228Changes that do not require new topology 229 230* EC capabilities, such as usbpd or keyboard 231 232## Touch 233 234Changes that require new topology 235 236* Needs switching the different feature like numpad in the fw 237 238Changes that do not require new topology 239 240* Different touch controller vendor which supports the same feature set 241 242## Trusted Platform Module 243 244Changes that require new topology 245 246* New type, such as "third party" or GSC "Google Security Chip." 247 248Changes that do not require new topology 249 250* New RO firmware. 251 252## Microphone mute switch 253 254Changes that require new topology 255 256* Microphone mute switch presence 257 258## HDMI 259 260Changes that require new topology 261 262* HDMI port 263 264## HPS 265 266Changes that require new topology 267 268* Presence of HPS board 269 270## DP Converter 271 272Changes that require new topology 273 274* Addition, removal, or change of DisplayPort converter devices 275 276Changes that do not require new topology 277 278* New firmware for DisplayPort converters 279 280## PoE Peripheral support 281 282Changes that require new topology 283 284* Presence of hardware for PoE peripheral support 285 286## Power supply 287 288Changes that require new topology 289 290* Presence or absence of barrel jack 291* Preferred input power 292 293## Battery 294 295Changes that require new topology 296 297* Supports booting with no battery 298 299## dGPU 300 301Changes that require new topology 302 303* Supports discrete GPU 304 305## UWB 306 307Changes that require new topology 308 309* Supports UWB (Ultra Wideband) 310 311## Detachable Base 312 313Changes that require new topology 314 315* Presence of the detachable base 316 317## SoC 318 319Changes that require new topology 320 321* Differences in SoC SKU requiring software or firmware differences 322 323## Fan 324 325Changes that require new topology 326 327* Supports number of fan 328