| // Copyright (C) 2016 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| package device |
| |
| // Chipset represents knowledge about a standard computer chipset. |
| type Chipset struct { |
| // Name is the product name of this chipset. |
| Name string |
| // Cores is the set of CPU cores included in this chipset. |
| Cores []CPU |
| // GPU is the graphics processing unit that is part of this chipset. |
| GPU GPU |
| } |
| |
| var ( |
| UnknownChipset = chipset("unknown", UnknownGPU) |
| SnapdragonS4Pro = chipset("Snapdragon S4 Pro", Adreno320, Krait) |
| Snapdragon800 = chipset("Snapdragon 800", Adreno330, Krait) |
| Snapdragon801 = chipset("Snapdragon 801", Adreno330, Krait) |
| Snapdragon805 = chipset("Snapdragon 805", Adreno420, Krait) |
| Snapdragon808 = chipset("Snapdragon 808", Adreno418, CortexA57, CortexA53) |
| Snapdragon810 = chipset("Snapdragon 810", Adreno430, CortexA57, CortexA53) |
| Snapdragon820 = chipset("Snapdragon 820", Adreno530, Kryo) |
| TegraK1Denver = chipset("Tegra K1 Denver", Kepler, Denver) |
| ) |
| |
| func chipset(name string, gpu GPU, cpus ...CPU) Chipset { |
| chipset := Chipset{ |
| Name: name, |
| Cores: cpus, |
| GPU: gpu, |
| } |
| return chipset |
| } |