1 #include <gtest/gtest.h>
2
3 #include <stdint.h>
4 #include <string.h>
5
6 #include <string>
7
8 #define CPUINFO_HARDWARE_VALUE_MAX 64
9 #define CPUINFO_ARM_CHIPSET_NAME_MAX 48
10
11 extern "C" void cpuinfo_arm_android_parse_proc_cpuinfo_hardware(
12 const char hardware[CPUINFO_HARDWARE_VALUE_MAX],
13 uint32_t cores,
14 uint32_t max_cpu_freq_max,
15 bool is_tegra,
16 char chipset_name[CPUINFO_ARM_CHIPSET_NAME_MAX]);
17
parse_proc_cpuinfo_hardware(std::string hardware,uint32_t cores=1,uint32_t max_cpu_freq_max=0)18 inline std::string parse_proc_cpuinfo_hardware(
19 std::string hardware,
20 uint32_t cores = 1,
21 uint32_t max_cpu_freq_max = 0) {
22 char hardware_buffer[CPUINFO_HARDWARE_VALUE_MAX];
23 strncpy(hardware_buffer, hardware.c_str(), CPUINFO_HARDWARE_VALUE_MAX);
24 char chipset_name[CPUINFO_ARM_CHIPSET_NAME_MAX];
25 cpuinfo_arm_android_parse_proc_cpuinfo_hardware(hardware_buffer, cores, max_cpu_freq_max, false, chipset_name);
26 return std::string(chipset_name, strnlen(chipset_name, CPUINFO_ARM_CHIPSET_NAME_MAX));
27 }
28
parse_proc_cpuinfo_hardware_tegra(std::string hardware,uint32_t cores=1,uint32_t max_cpu_freq_max=0)29 inline std::string parse_proc_cpuinfo_hardware_tegra(
30 std::string hardware,
31 uint32_t cores = 1,
32 uint32_t max_cpu_freq_max = 0) {
33 char hardware_buffer[CPUINFO_HARDWARE_VALUE_MAX];
34 strncpy(hardware_buffer, hardware.c_str(), CPUINFO_HARDWARE_VALUE_MAX);
35 char chipset_name[CPUINFO_ARM_CHIPSET_NAME_MAX];
36 cpuinfo_arm_android_parse_proc_cpuinfo_hardware(hardware_buffer, cores, max_cpu_freq_max, true, chipset_name);
37 return std::string(chipset_name, strnlen(chipset_name, CPUINFO_ARM_CHIPSET_NAME_MAX));
38 }
39
TEST(PROC_CPUINFO_HARDWARE,qualcomm_msm)40 TEST(PROC_CPUINFO_HARDWARE, qualcomm_msm) {
41 EXPECT_EQ("Qualcomm MSM7225AB", parse_proc_cpuinfo_hardware("LG MSM7225AB"));
42 EXPECT_EQ("Qualcomm MSM7225AB", parse_proc_cpuinfo_hardware("LG MSM7225AB V1"));
43 EXPECT_EQ("Qualcomm MSM7625A", parse_proc_cpuinfo_hardware("QCT MSM7625a FFA"));
44 EXPECT_EQ("Qualcomm MSM8208", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8208"));
45 EXPECT_EQ("Qualcomm MSM8209", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8209"));
46 EXPECT_EQ("Qualcomm MSM8210", parse_proc_cpuinfo_hardware("Qualcomm MSM8210"));
47 EXPECT_EQ("Qualcomm MSM8212", parse_proc_cpuinfo_hardware("Qualcomm MSM 8212 (Flattened Device Tree)"));
48 EXPECT_EQ("Qualcomm MSM8212", parse_proc_cpuinfo_hardware("Qualcomm MSM8212"));
49 EXPECT_EQ("Qualcomm MSM8225", parse_proc_cpuinfo_hardware("QCT MSM8225 SURF"));
50 EXPECT_EQ("Qualcomm MSM8226", parse_proc_cpuinfo_hardware("Qualcomm MSM 8226 (Flattened Device Tree)"));
51 EXPECT_EQ("Qualcomm MSM8226", parse_proc_cpuinfo_hardware("Qualcomm MSM8226"));
52 EXPECT_EQ("Qualcomm MSM8228", parse_proc_cpuinfo_hardware("Qualcomm MSM8228"));
53 EXPECT_EQ("Qualcomm MSM8230", parse_proc_cpuinfo_hardware("LGE MSM8230 L9II"));
54 EXPECT_EQ("Qualcomm MSM8239", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8239"));
55 EXPECT_EQ("Qualcomm MSM8609", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8609"));
56 EXPECT_EQ("Qualcomm MSM8610", parse_proc_cpuinfo_hardware("Qualcomm MSM 8610 (Flattened Device Tree)", 2));
57 EXPECT_EQ("Qualcomm MSM8610", parse_proc_cpuinfo_hardware("Qualcomm MSM8610", 2));
58 #if CPUINFO_ARCH_ARM
59 EXPECT_EQ("Qualcomm MSM8612", parse_proc_cpuinfo_hardware("Qualcomm MSM 8610 (Flattened Device Tree)", 4));
60 EXPECT_EQ("Qualcomm MSM8612", parse_proc_cpuinfo_hardware("Qualcomm MSM 8612 (Flattened Device Tree)"));
61 #endif /* CPUINFO_ARCH_ARM */
62 EXPECT_EQ("Qualcomm MSM8625", parse_proc_cpuinfo_hardware("LG MSM8625 V7"));
63 EXPECT_EQ("Qualcomm MSM8625", parse_proc_cpuinfo_hardware("QCT MSM8625 FFA"));
64 EXPECT_EQ("Qualcomm MSM8625", parse_proc_cpuinfo_hardware("QCT MSM8625 SURF"));
65 EXPECT_EQ("Qualcomm MSM8625Q", parse_proc_cpuinfo_hardware("QRD MSM8625Q SKUD"));
66 EXPECT_EQ("Qualcomm MSM8626", parse_proc_cpuinfo_hardware("Qualcomm MSM8626"));
67 EXPECT_EQ("Qualcomm MSM8627", parse_proc_cpuinfo_hardware("QCT MSM8627 MTP"));
68 EXPECT_EQ("Qualcomm MSM8628", parse_proc_cpuinfo_hardware("Qualcomm MSM8628"));
69 EXPECT_EQ("Qualcomm MSM8909", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8909"));
70 EXPECT_EQ("Qualcomm MSM8916", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8216"));
71 EXPECT_EQ("Qualcomm MSM8916", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8916", 4));
72 EXPECT_EQ("Qualcomm MSM8916", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8916MSM8916", 4));
73 EXPECT_EQ("Qualcomm MSM8917", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8917", 4));
74 EXPECT_EQ("Qualcomm MSM8920", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8920"));
75 EXPECT_EQ("Qualcomm MSM8926", parse_proc_cpuinfo_hardware("Qualcomm MSM 8926 (Flattened Device Tree)"));
76 EXPECT_EQ("Qualcomm MSM8926", parse_proc_cpuinfo_hardware("Qualcomm MSM8926"));
77 EXPECT_EQ("Qualcomm MSM8928", parse_proc_cpuinfo_hardware("Qualcomm MSM8928"));
78 EXPECT_EQ("Qualcomm MSM8928", parse_proc_cpuinfo_hardware("Qualcomm msm 8928"));
79 EXPECT_EQ("Qualcomm MSM8929", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8929"));
80 EXPECT_EQ("Qualcomm MSM8930", parse_proc_cpuinfo_hardware("LGE MSM8930 FX3"));
81 EXPECT_EQ("Qualcomm MSM8930", parse_proc_cpuinfo_hardware("QCT MSM8930 CDP"));
82 EXPECT_EQ("Qualcomm MSM8930", parse_proc_cpuinfo_hardware("QCT MSM8930 MTP"));
83 EXPECT_EQ("Qualcomm MSM8937", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8937", 8));
84 EXPECT_EQ("Qualcomm MSM8939", parse_proc_cpuinfo_hardware("Qualcomm MSM 8939 HUAWEI ALE_L04"));
85 EXPECT_EQ("Qualcomm MSM8939", parse_proc_cpuinfo_hardware("Qualcomm MSM 8939 HUAWEI ATH-UL01"));
86 EXPECT_EQ("Qualcomm MSM8939", parse_proc_cpuinfo_hardware("Qualcomm MSM 8939 HUAWEI KII-L05"));
87 EXPECT_EQ("Qualcomm MSM8939", parse_proc_cpuinfo_hardware("Qualcomm MSM 8939 HUAWEI KIW-L21"));
88 EXPECT_EQ("Qualcomm MSM8939", parse_proc_cpuinfo_hardware("Qualcomm MSM 8939 HUAWEI KIW-L22"));
89 EXPECT_EQ("Qualcomm MSM8939", parse_proc_cpuinfo_hardware("Qualcomm MSM 8939 HUAWEI KIW-L23"));
90 EXPECT_EQ("Qualcomm MSM8939", parse_proc_cpuinfo_hardware("Qualcomm MSM 8939 HUAWEI KIW-L24"));
91 EXPECT_EQ("Qualcomm MSM8939", parse_proc_cpuinfo_hardware("Qualcomm MSM 8939 HUAWEI KIW-L33"));
92 EXPECT_EQ("Qualcomm MSM8939", parse_proc_cpuinfo_hardware("Qualcomm MSM 8939 HUAWEI RIO-L01_VB"));
93 EXPECT_EQ("Qualcomm MSM8939", parse_proc_cpuinfo_hardware("Qualcomm MSM 8939 HUAWEI RIO-L02"));
94 EXPECT_EQ("Qualcomm MSM8939", parse_proc_cpuinfo_hardware("Qualcomm MSM 8939 HUAWEI RIO-L03"));
95 EXPECT_EQ("Qualcomm MSM8939", parse_proc_cpuinfo_hardware("Qualcomm MSM 8939 HUAWEI TEXAS-A1"));
96 EXPECT_EQ("Qualcomm MSM8939", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8939"));
97 EXPECT_EQ("Qualcomm MSM8939", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8939_BC"));
98 EXPECT_EQ("Qualcomm MSM8940", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8940"));
99 EXPECT_EQ("Qualcomm MSM8952", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8952"));
100 EXPECT_EQ("Qualcomm MSM8952", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8952MSM8952"));
101 EXPECT_EQ("Qualcomm MSM8952", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc. MSM8952 QRD SKUM"));
102 EXPECT_EQ("Qualcomm MSM8953", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8953"));
103 EXPECT_EQ("Qualcomm MSM8953PRO", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8953Pro"));
104 EXPECT_EQ("Qualcomm MSM8956", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8956"));
105 EXPECT_EQ("Qualcomm MSM8960", parse_proc_cpuinfo_hardware("LGE MSM8960 D1L KR", 2));
106 EXPECT_EQ("Qualcomm MSM8960", parse_proc_cpuinfo_hardware("LGE MSM8960 FX1", 2));
107 EXPECT_EQ("Qualcomm MSM8960", parse_proc_cpuinfo_hardware("LGE MSM8960 Lx", 2));
108 EXPECT_EQ("Qualcomm MSM8960", parse_proc_cpuinfo_hardware("LGE MSM8960 VU2", 2));
109 EXPECT_EQ("Qualcomm MSM8960", parse_proc_cpuinfo_hardware("QCT MSM8960 CDP", 2));
110 EXPECT_EQ("Qualcomm MSM8960", parse_proc_cpuinfo_hardware("Qualcomm MSM8960", 2));
111 EXPECT_EQ("Qualcomm MSM8960DT", parse_proc_cpuinfo_hardware("msm8960dt"));
112 EXPECT_EQ("Qualcomm MSM8974", parse_proc_cpuinfo_hardware("Qualcomm MSM 8974 (Flattened Device Tree)"));
113 EXPECT_EQ(
114 "Qualcomm MSM8974",
115 parse_proc_cpuinfo_hardware("Qualcomm MSM 8974 HAMMERHEAD (Flattened Device Tree)"));
116 EXPECT_EQ("Qualcomm MSM8974", parse_proc_cpuinfo_hardware("Qualcomm MSM8974"));
117 EXPECT_EQ("Qualcomm MSM8974PRO-AA", parse_proc_cpuinfo_hardware("Qualcomm MSM8974PRO-AA"));
118 EXPECT_EQ("Qualcomm MSM8974PRO-AB", parse_proc_cpuinfo_hardware("Qualcomm MSM8974PRO-AB"));
119 EXPECT_EQ("Qualcomm MSM8974PRO-AC", parse_proc_cpuinfo_hardware("Qualcomm MSM8974PRO-AC"));
120 EXPECT_EQ("Qualcomm MSM8976", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8976"));
121 EXPECT_EQ("Qualcomm MSM8976PRO", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8976SG"));
122 EXPECT_EQ("Qualcomm MSM8992", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8992"));
123 EXPECT_EQ("Qualcomm MSM8994", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8994"));
124 EXPECT_EQ("Qualcomm MSM8994V", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc. MSM8994v2.1 MTP"));
125 EXPECT_EQ("Qualcomm MSM8996", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8996", 4));
126 EXPECT_EQ(
127 "Qualcomm MSM8996PRO-AB",
128 parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8996pro", 4, 1593600 /* LITTLE core */));
129 EXPECT_EQ(
130 "Qualcomm MSM8996PRO-AB",
131 parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8996pro", 4, 2150400 /* big core */));
132 EXPECT_EQ(
133 "Qualcomm MSM8996PRO-AC",
134 parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8996pro", 4, 2188800 /* LITTLE core */));
135 EXPECT_EQ(
136 "Qualcomm MSM8996PRO-AC",
137 parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8996pro", 4, 2342400 /* big core */));
138 EXPECT_EQ("Qualcomm MSM8998", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc MSM8998"));
139 }
140
TEST(PROC_CPUINFO_HARDWARE,qualcomm_apq)141 TEST(PROC_CPUINFO_HARDWARE, qualcomm_apq) {
142 EXPECT_EQ("Qualcomm APQ8009", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc APQ8009"));
143 EXPECT_EQ("Qualcomm APQ8016", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc APQ8016"));
144 EXPECT_EQ("Qualcomm APQ8016", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc APQ8016APQ8016"));
145 EXPECT_EQ("Qualcomm APQ8017", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc APQ8017"));
146 EXPECT_EQ("Qualcomm APQ8026", parse_proc_cpuinfo_hardware("Qualcomm APQ8026"));
147 EXPECT_EQ("Qualcomm APQ8028", parse_proc_cpuinfo_hardware("Qualcomm APQ8028"));
148 EXPECT_EQ("Qualcomm APQ8039", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc APQ8039"));
149 EXPECT_EQ("Qualcomm APQ8053", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc APQ8053"));
150 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("PANTECH APQ8064 EF48S"));
151 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("PANTECH APQ8064 EF49K"));
152 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("PANTECH APQ8064 EF50L"));
153 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("PANTECH APQ8064 EF51K"));
154 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("PANTECH APQ8064 EF51L"));
155 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("PANTECH APQ8064 EF51S"));
156 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("PANTECH APQ8064 EF52K"));
157 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("PANTECH APQ8064 EF52L"));
158 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("PANTECH APQ8064 EF52S"));
159 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("QCT APQ8064 AWIFI"));
160 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("QCT APQ8064 DEB"));
161 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("QCT APQ8064 DUMA"));
162 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("QCT APQ8064 FLO"));
163 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("QCT APQ8064 LEOPARDCAT"));
164 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("QCT APQ8064 MAKO"));
165 EXPECT_EQ("Qualcomm APQ8064", parse_proc_cpuinfo_hardware("QCT APQ8064 MTP"));
166 EXPECT_EQ("Qualcomm APQ8074PRO-AB", parse_proc_cpuinfo_hardware("Qualcomm APQ8074PRO-AB"));
167 EXPECT_EQ("Qualcomm APQ8076", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc APQ8076"));
168 EXPECT_EQ("Qualcomm APQ8084", parse_proc_cpuinfo_hardware("Qualcomm APQ 8084 (Flattened Device Tree)"));
169 EXPECT_EQ("Qualcomm APQ8084", parse_proc_cpuinfo_hardware("Qualcomm APQ8084"));
170 EXPECT_EQ("Qualcomm APQ8094", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc APQ8094"));
171 EXPECT_EQ("Qualcomm APQ8096", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc APQ8096"));
172 }
173
TEST(PROC_CPUINFO_HARDWARE,qualcomm_sdm)174 TEST(PROC_CPUINFO_HARDWARE, qualcomm_sdm) {
175 EXPECT_EQ("Qualcomm Snapdragon 630", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc SDM630"));
176 EXPECT_EQ("Qualcomm Snapdragon 660", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc SDM660"));
177 }
178
TEST(PROC_CPUINFO_HARDWARE,qualcomm_sm)179 TEST(PROC_CPUINFO_HARDWARE, qualcomm_sm) {
180 EXPECT_EQ("Qualcomm Snapdragon 8150", parse_proc_cpuinfo_hardware("Qualcomm Technologies, Inc SM8150"));
181 }
182
TEST(PROC_CPUINFO_HARDWARE,mediatek_mt)183 TEST(PROC_CPUINFO_HARDWARE, mediatek_mt) {
184 EXPECT_EQ("MediaTek MT5507", parse_proc_cpuinfo_hardware("MT5507"));
185 EXPECT_EQ("MediaTek MT5508", parse_proc_cpuinfo_hardware("MT5508"));
186 EXPECT_EQ("MediaTek MT6517", parse_proc_cpuinfo_hardware("MT6517"));
187 EXPECT_EQ("MediaTek MT6570", parse_proc_cpuinfo_hardware("MT6570"));
188 EXPECT_EQ("MediaTek MT6571", parse_proc_cpuinfo_hardware("MT6571"));
189 EXPECT_EQ("MediaTek MT6572", parse_proc_cpuinfo_hardware("MT6572"));
190 EXPECT_EQ("MediaTek MT6575", parse_proc_cpuinfo_hardware("MT6575"));
191 EXPECT_EQ("MediaTek MT6577", parse_proc_cpuinfo_hardware("MT6577"));
192 EXPECT_EQ("MediaTek MT6580", parse_proc_cpuinfo_hardware("MT6580"));
193 EXPECT_EQ("MediaTek MT6580M", parse_proc_cpuinfo_hardware("MT6580M"));
194 EXPECT_EQ("MediaTek MT6581", parse_proc_cpuinfo_hardware("MT6581"));
195 EXPECT_EQ("MediaTek MT6582", parse_proc_cpuinfo_hardware("MT6582"));
196 EXPECT_EQ("MediaTek MT6582", parse_proc_cpuinfo_hardware("Mediatek MT6582"));
197 EXPECT_EQ("MediaTek MT6588", parse_proc_cpuinfo_hardware("MT6588"));
198 EXPECT_EQ("MediaTek MT6589", parse_proc_cpuinfo_hardware("MT6589"));
199 EXPECT_EQ("MediaTek MT6591", parse_proc_cpuinfo_hardware("MT6591"));
200 EXPECT_EQ("MediaTek MT6592", parse_proc_cpuinfo_hardware("MT6592"));
201 EXPECT_EQ("MediaTek MT6592T", parse_proc_cpuinfo_hardware("MT6592T"));
202 EXPECT_EQ("MediaTek MT6592T", parse_proc_cpuinfo_hardware("MT6592trubo"));
203 EXPECT_EQ("MediaTek MT6592T", parse_proc_cpuinfo_hardware("MT6592turbo"));
204 EXPECT_EQ("MediaTek MT6595", parse_proc_cpuinfo_hardware("MT6595"));
205 EXPECT_EQ("MediaTek MT6732", parse_proc_cpuinfo_hardware("MT6732"));
206 EXPECT_EQ("MediaTek MT6732", parse_proc_cpuinfo_hardware("MT6752", 4));
207 EXPECT_EQ("MediaTek MT6732M", parse_proc_cpuinfo_hardware("MT6732M"));
208 EXPECT_EQ("MediaTek MT6735", parse_proc_cpuinfo_hardware("MT6735"));
209 EXPECT_EQ("MediaTek MT6735M", parse_proc_cpuinfo_hardware("MT6735M"));
210 EXPECT_EQ("MediaTek MT6735P", parse_proc_cpuinfo_hardware("MT6735P"));
211 EXPECT_EQ("MediaTek MT6737", parse_proc_cpuinfo_hardware("MT6737"));
212 EXPECT_EQ("MediaTek MT6737M", parse_proc_cpuinfo_hardware("MT6737M"));
213 EXPECT_EQ("MediaTek MT6737T", parse_proc_cpuinfo_hardware("MT6737T"));
214 EXPECT_EQ(
215 "MediaTek MT6737T",
216 parse_proc_cpuinfo_hardware("Samsung GrandPrimePlus LTE CIS rev04 board based on MT6737T"));
217 EXPECT_EQ(
218 "MediaTek MT6737T",
219 parse_proc_cpuinfo_hardware("Samsung GrandPrimePlus LTE LTN DTV rev04 board based on MT6737T"));
220 EXPECT_EQ(
221 "MediaTek MT6737T",
222 parse_proc_cpuinfo_hardware("Samsung GrandPrimePlus LTE LTN OPEN rev04 board based on MT6737T"));
223 EXPECT_EQ("MediaTek MT6738", parse_proc_cpuinfo_hardware("MT6738"));
224 EXPECT_EQ("MediaTek MT6750", parse_proc_cpuinfo_hardware("MT6750"));
225 EXPECT_EQ("MediaTek MT6750T", parse_proc_cpuinfo_hardware("MT6750T"));
226 EXPECT_EQ("MediaTek MT6752", parse_proc_cpuinfo_hardware("MT6752", 8));
227 EXPECT_EQ("MediaTek MT6752M", parse_proc_cpuinfo_hardware("MT6752M", 8));
228 EXPECT_EQ("MediaTek MT6753", parse_proc_cpuinfo_hardware("MT6753"));
229 EXPECT_EQ("MediaTek MT6753T", parse_proc_cpuinfo_hardware("MT6753T"));
230 EXPECT_EQ("MediaTek MT6755", parse_proc_cpuinfo_hardware("MT6755"));
231 EXPECT_EQ("MediaTek MT6755BM", parse_proc_cpuinfo_hardware("MT6755BM"));
232 EXPECT_EQ("MediaTek MT6755M", parse_proc_cpuinfo_hardware("MT6755M"));
233 EXPECT_EQ("MediaTek MT6755V/B", parse_proc_cpuinfo_hardware("MT6755V/B"));
234 EXPECT_EQ("MediaTek MT6755V/BM", parse_proc_cpuinfo_hardware("MT6755V/BM"));
235 EXPECT_EQ("MediaTek MT6755V/C", parse_proc_cpuinfo_hardware("MT6755V/C"));
236 EXPECT_EQ("MediaTek MT6755V/CM", parse_proc_cpuinfo_hardware("MT6755V/CM"));
237 EXPECT_EQ("MediaTek MT6755V/W", parse_proc_cpuinfo_hardware("MT6755V/W"));
238 EXPECT_EQ("MediaTek MT6755V/WM", parse_proc_cpuinfo_hardware("MT6755V/WM"));
239 EXPECT_EQ("MediaTek MT6755V/WT", parse_proc_cpuinfo_hardware("MT6755V/WT"));
240 EXPECT_EQ("MediaTek MT6757", parse_proc_cpuinfo_hardware("MT6757"));
241 EXPECT_EQ(
242 "MediaTek MT6757", parse_proc_cpuinfo_hardware("Samsung J7 Max LTE SWA rev02a board based on MT6757"));
243 EXPECT_EQ("MediaTek MT6757CD", parse_proc_cpuinfo_hardware("MT6757CD"));
244 EXPECT_EQ("MediaTek MT6757CH", parse_proc_cpuinfo_hardware("MT6757CH"));
245 EXPECT_EQ("MediaTek MT6795", parse_proc_cpuinfo_hardware("MT6795"));
246 EXPECT_EQ("MediaTek MT6795M", parse_proc_cpuinfo_hardware("MT6795M"));
247 EXPECT_EQ("MediaTek MT6795MM", parse_proc_cpuinfo_hardware("MT6795MM"));
248 EXPECT_EQ("MediaTek MT6795T", parse_proc_cpuinfo_hardware("MT6795T"));
249 EXPECT_EQ("MediaTek MT6797", parse_proc_cpuinfo_hardware("MT6797"));
250 EXPECT_EQ("MediaTek MT6797M", parse_proc_cpuinfo_hardware("MT6797M"));
251 EXPECT_EQ("MediaTek MT6797T", parse_proc_cpuinfo_hardware("MT6797T"));
252 EXPECT_EQ("MediaTek MT6797X", parse_proc_cpuinfo_hardware("MT6797X"));
253 EXPECT_EQ("MediaTek MT8111", parse_proc_cpuinfo_hardware("MT8111"));
254 EXPECT_EQ("MediaTek MT8121", parse_proc_cpuinfo_hardware("MT8121"));
255 EXPECT_EQ("MediaTek MT8125", parse_proc_cpuinfo_hardware("MT8125"));
256 EXPECT_EQ("MediaTek MT8127", parse_proc_cpuinfo_hardware("MT8127"));
257 EXPECT_EQ("MediaTek MT8135", parse_proc_cpuinfo_hardware("MT8135"));
258 EXPECT_EQ("MediaTek MT8151", parse_proc_cpuinfo_hardware("MT8151"));
259 EXPECT_EQ("MediaTek MT8161", parse_proc_cpuinfo_hardware("MT8161"));
260 EXPECT_EQ("MediaTek MT8161A", parse_proc_cpuinfo_hardware("MT8161A"));
261 EXPECT_EQ("MediaTek MT8161P", parse_proc_cpuinfo_hardware("MT8161P"));
262 EXPECT_EQ("MediaTek MT8163", parse_proc_cpuinfo_hardware("MT8163"));
263 EXPECT_EQ("MediaTek MT8165", parse_proc_cpuinfo_hardware("MT8165"));
264 EXPECT_EQ("MediaTek MT8167A", parse_proc_cpuinfo_hardware("MT8167A"));
265 EXPECT_EQ("MediaTek MT8167B", parse_proc_cpuinfo_hardware("MT8167B"));
266 EXPECT_EQ("MediaTek MT8173", parse_proc_cpuinfo_hardware("MT8173"));
267 EXPECT_EQ("MediaTek MT8176", parse_proc_cpuinfo_hardware("MT8176"));
268 EXPECT_EQ("MediaTek MT8312", parse_proc_cpuinfo_hardware("MT8312"));
269 EXPECT_EQ("MediaTek MT8312C", parse_proc_cpuinfo_hardware("MT8312C"));
270 EXPECT_EQ("MediaTek MT8312D", parse_proc_cpuinfo_hardware("MT8312D"));
271 EXPECT_EQ("MediaTek MT8317", parse_proc_cpuinfo_hardware("MT8317"));
272 EXPECT_EQ("MediaTek MT8321", parse_proc_cpuinfo_hardware("MT8321"));
273 EXPECT_EQ("MediaTek MT8321M", parse_proc_cpuinfo_hardware("MT8321M"));
274 EXPECT_EQ("MediaTek MT8377", parse_proc_cpuinfo_hardware("MT8377"));
275 EXPECT_EQ("MediaTek MT8382", parse_proc_cpuinfo_hardware("MT8382"));
276 EXPECT_EQ("MediaTek MT8389", parse_proc_cpuinfo_hardware("MT8389"));
277 EXPECT_EQ("MediaTek MT8389Q", parse_proc_cpuinfo_hardware("MT8389Q"));
278 EXPECT_EQ("MediaTek MT8392", parse_proc_cpuinfo_hardware("MT8392"));
279 EXPECT_EQ("MediaTek MT8685", parse_proc_cpuinfo_hardware("MT8685"));
280 EXPECT_EQ("MediaTek MT8732", parse_proc_cpuinfo_hardware("MT8732"));
281 EXPECT_EQ("MediaTek MT8732T", parse_proc_cpuinfo_hardware("MT8732T"));
282 EXPECT_EQ("MediaTek MT8735", parse_proc_cpuinfo_hardware("MT8735"));
283 EXPECT_EQ("MediaTek MT8735A", parse_proc_cpuinfo_hardware("MT8735A"));
284 EXPECT_EQ("MediaTek MT8735B", parse_proc_cpuinfo_hardware("MT8735B"));
285 EXPECT_EQ("MediaTek MT8735D", parse_proc_cpuinfo_hardware("MT8735D"));
286 EXPECT_EQ("MediaTek MT8735M", parse_proc_cpuinfo_hardware("MT8735M"));
287 EXPECT_EQ("MediaTek MT8735P", parse_proc_cpuinfo_hardware("MT8735P"));
288 EXPECT_EQ("MediaTek MT8735T", parse_proc_cpuinfo_hardware("MT8735T"));
289 EXPECT_EQ("MediaTek MT8752", parse_proc_cpuinfo_hardware("MT8752"));
290 EXPECT_EQ("MediaTek MT8783", parse_proc_cpuinfo_hardware("MT8783"));
291 EXPECT_EQ("MediaTek MT8783T", parse_proc_cpuinfo_hardware("MT8783T"));
292 }
293
TEST(PROC_CPUINFO_HARDWARE,samsung_exynos)294 TEST(PROC_CPUINFO_HARDWARE, samsung_exynos) {
295 EXPECT_EQ("Samsung Exynos 4415", parse_proc_cpuinfo_hardware("Samsung EXYNOS4415"));
296 EXPECT_EQ("Samsung Exynos 5420", parse_proc_cpuinfo_hardware("Samsung EXYNOS5420", 4));
297 EXPECT_EQ("Samsung Exynos 5430", parse_proc_cpuinfo_hardware("Samsung EXYNOS5430"));
298 EXPECT_EQ("Samsung Exynos 5433", parse_proc_cpuinfo_hardware("Samsung EXYNOS5433"));
299 EXPECT_EQ("Samsung Exynos 7420", parse_proc_cpuinfo_hardware("SAMSUNG Exynos7420"));
300 EXPECT_EQ("Samsung Exynos 7578", parse_proc_cpuinfo_hardware("SAMSUNG Exynos7580", 4));
301 EXPECT_EQ("Samsung Exynos 7580", parse_proc_cpuinfo_hardware("SAMSUNG Exynos7580", 8));
302 }
303
TEST(PROC_CPUINFO_HARDWARE,samsung_universal)304 TEST(PROC_CPUINFO_HARDWARE, samsung_universal) {
305 EXPECT_EQ("Samsung Exynos 3470", parse_proc_cpuinfo_hardware("UNIVERSAL3470"));
306 EXPECT_EQ("Samsung Exynos 3475", parse_proc_cpuinfo_hardware("UNIVERSAL3475"));
307 EXPECT_EQ("Samsung Exynos 5260", parse_proc_cpuinfo_hardware("UNIVERSAL5260"));
308 EXPECT_EQ("Samsung Exynos 5410", parse_proc_cpuinfo_hardware("UNIVERSAL5410"));
309 EXPECT_EQ("Samsung Exynos 5420", parse_proc_cpuinfo_hardware("UNIVERSAL5420", 4));
310 EXPECT_EQ("Samsung Exynos 5422", parse_proc_cpuinfo_hardware("universal5422"));
311 EXPECT_EQ("Samsung Exynos 5430", parse_proc_cpuinfo_hardware("UNIVERSAL5430"));
312 }
313
314 #if CPUINFO_ARCH_ARM
TEST(PROC_CPUINFO_HARDWARE,samsung_smdk)315 TEST(PROC_CPUINFO_HARDWARE, samsung_smdk) {
316 EXPECT_EQ("Samsung Exynos 4210", parse_proc_cpuinfo_hardware("SMDK4210"));
317 EXPECT_EQ("Samsung Exynos 4212", parse_proc_cpuinfo_hardware("SMDK4x12", 2));
318 EXPECT_EQ("Samsung Exynos 4412", parse_proc_cpuinfo_hardware("SMDK4x12", 4));
319 }
320
TEST(PROC_CPUINFO_HARDWARE,samsung_special)321 TEST(PROC_CPUINFO_HARDWARE, samsung_special) {
322 EXPECT_EQ("Samsung Exynos 5250", parse_proc_cpuinfo_hardware("Manta"));
323 }
324 #endif /* CPUINFO_ARCH_ARM */
325
TEST(PROC_CPUINFO_HARDWARE,hisilicon_kirin)326 TEST(PROC_CPUINFO_HARDWARE, hisilicon_kirin) {
327 #if CPUINFO_ARCH_ARM
328 EXPECT_EQ("HiSilicon Kirin 920", parse_proc_cpuinfo_hardware("Hisilicon Kirin 920"));
329 EXPECT_EQ("HiSilicon Kirin 920", parse_proc_cpuinfo_hardware("Kirin920"));
330 EXPECT_EQ("HiSilicon Kirin 925", parse_proc_cpuinfo_hardware("Hisilicon Kirin 925"));
331 EXPECT_EQ("HiSilicon Kirin 925", parse_proc_cpuinfo_hardware("Kirin925"));
332 #endif /* CPUINFO_ARCH_ARM */
333 EXPECT_EQ("HiSilicon Kirin 930", parse_proc_cpuinfo_hardware("Hisilicon Kirin 930"));
334 EXPECT_EQ("HiSilicon Kirin 935", parse_proc_cpuinfo_hardware("Hisilicon Kirin 935"));
335 EXPECT_EQ("HiSilicon Kirin 950", parse_proc_cpuinfo_hardware("Hisilicon Kirin 950"));
336 EXPECT_EQ("HiSilicon Kirin 955", parse_proc_cpuinfo_hardware("Hisilicon Kirin 955"));
337 }
338
TEST(PROC_CPUINFO_HARDWARE,hisilicon_special)339 TEST(PROC_CPUINFO_HARDWARE, hisilicon_special) {
340 EXPECT_EQ("HiSilicon Hi3751", parse_proc_cpuinfo_hardware("hi3751"));
341 #if CPUINFO_ARCH_ARM
342 EXPECT_EQ("HiSilicon K3V2", parse_proc_cpuinfo_hardware("k3v2oem1"));
343 #endif /* CPUINFO_ARCH_ARM */
344 EXPECT_EQ("HiSilicon Kirin 620", parse_proc_cpuinfo_hardware("hi6210sft"));
345 EXPECT_EQ("HiSilicon Kirin 650", parse_proc_cpuinfo_hardware("hi6250"));
346 #if CPUINFO_ARCH_ARM
347 EXPECT_EQ("HiSilicon Kirin 910T", parse_proc_cpuinfo_hardware("hi6620oem"));
348 #endif /* CPUINFO_ARCH_ARM */
349 }
350
351 #if CPUINFO_ARCH_ARM
TEST(PROC_CPUINFO_HARDWARE,actions)352 TEST(PROC_CPUINFO_HARDWARE, actions) {
353 EXPECT_EQ("Actions ATM7029", parse_proc_cpuinfo_hardware("gs702a"));
354 EXPECT_EQ("Actions ATM7029B", parse_proc_cpuinfo_hardware("gs702c"));
355 EXPECT_EQ("Actions ATM7059A", parse_proc_cpuinfo_hardware("gs705a"));
356 }
357 #endif /* CPUINFO_ARCH_ARM */
358
TEST(PROC_CPUINFO_HARDWARE,allwinner_sunxi)359 TEST(PROC_CPUINFO_HARDWARE, allwinner_sunxi) {
360 #if CPUINFO_ARCH_ARM
361 EXPECT_EQ("Allwinner A10", parse_proc_cpuinfo_hardware("sun4i", 1));
362 EXPECT_EQ("Allwinner A13", parse_proc_cpuinfo_hardware("sun5i", 1));
363 EXPECT_EQ("Allwinner A20", parse_proc_cpuinfo_hardware("sun7i", 2));
364 EXPECT_EQ("Allwinner A23", parse_proc_cpuinfo_hardware("sun8i", 2));
365 EXPECT_EQ("Allwinner A31", parse_proc_cpuinfo_hardware("sun6i", 4));
366 EXPECT_EQ("Allwinner A33", parse_proc_cpuinfo_hardware("sun8i", 4));
367 #endif /* CPUINFO_ARCH_ARM */
368 EXPECT_EQ("Allwinner A64", parse_proc_cpuinfo_hardware("sun50iw1", 4));
369 EXPECT_EQ("Allwinner A64", parse_proc_cpuinfo_hardware("sun50iw1p1", 4));
370 EXPECT_EQ("Allwinner A64", parse_proc_cpuinfo_hardware("sun50iw2", 4));
371 #if CPUINFO_ARCH_ARM
372 EXPECT_EQ("Allwinner A80", parse_proc_cpuinfo_hardware("sun9i", 8));
373 EXPECT_EQ("Allwinner A83T", parse_proc_cpuinfo_hardware("sun8i", 8));
374 #endif /* CPUINFO_ARCH_ARM */
375 }
376
377 #if CPUINFO_ARCH_ARM
TEST(PROC_CPUINFO_HARDWARE,amlogic)378 TEST(PROC_CPUINFO_HARDWARE, amlogic) {
379 EXPECT_EQ("Amlogic S805", parse_proc_cpuinfo_hardware("Amlogic Meson8B"));
380 EXPECT_EQ("Amlogic S812", parse_proc_cpuinfo_hardware("Amlogic Meson8"));
381 }
382
TEST(PROC_CPUINFO_HARDWARE,lg)383 TEST(PROC_CPUINFO_HARDWARE, lg) {
384 EXPECT_EQ("LG Nuclun 7111", parse_proc_cpuinfo_hardware("Odin"));
385 }
386
TEST(PROC_CPUINFO_HARDWARE,marvell_pxa)387 TEST(PROC_CPUINFO_HARDWARE, marvell_pxa) {
388 EXPECT_EQ("Marvell PXA1088", parse_proc_cpuinfo_hardware("PXA1088"));
389 EXPECT_EQ("Marvell PXA1088", parse_proc_cpuinfo_hardware("PXA1L88"));
390 EXPECT_EQ("Marvell PXA1908", parse_proc_cpuinfo_hardware("PXA1908"));
391 EXPECT_EQ("Marvell PXA1928", parse_proc_cpuinfo_hardware("PXA1928"));
392 EXPECT_EQ("Marvell PXA988", parse_proc_cpuinfo_hardware("PXA988"));
393 }
394
TEST(PROC_CPUINFO_HARDWARE,mstar)395 TEST(PROC_CPUINFO_HARDWARE, mstar) {
396 EXPECT_EQ("MStar 6A338", parse_proc_cpuinfo_hardware("Madison"));
397 }
398
TEST(PROC_CPUINFO_HARDWARE,nvidia)399 TEST(PROC_CPUINFO_HARDWARE, nvidia) {
400 EXPECT_EQ("Nvidia Tegra AP20H", parse_proc_cpuinfo_hardware_tegra("picasso"));
401 EXPECT_EQ("Nvidia Tegra AP20H", parse_proc_cpuinfo_hardware_tegra("picasso_e"));
402 EXPECT_EQ("Nvidia Tegra AP20H", parse_proc_cpuinfo_hardware_tegra("stingray"));
403 EXPECT_EQ("Nvidia Tegra AP33", parse_proc_cpuinfo_hardware_tegra("endeavoru"));
404 EXPECT_EQ("Nvidia Tegra AP33", parse_proc_cpuinfo_hardware_tegra("x3"));
405 EXPECT_EQ("Nvidia Tegra SL460N", parse_proc_cpuinfo_hardware_tegra("Ceres"));
406 EXPECT_EQ("Nvidia Tegra T114", parse_proc_cpuinfo_hardware_tegra("macallan"));
407 EXPECT_EQ("Nvidia Tegra T114", parse_proc_cpuinfo_hardware_tegra("mozart"));
408 EXPECT_EQ("Nvidia Tegra T114", parse_proc_cpuinfo_hardware_tegra("tostab12BA"));
409 EXPECT_EQ("Nvidia Tegra T124", parse_proc_cpuinfo_hardware_tegra("mocha"));
410 EXPECT_EQ("Nvidia Tegra T124", parse_proc_cpuinfo_hardware_tegra("tn8"));
411 EXPECT_EQ("Nvidia Tegra T20", parse_proc_cpuinfo_hardware_tegra("nbx03"));
412 EXPECT_EQ("Nvidia Tegra T20", parse_proc_cpuinfo_hardware_tegra("p3"));
413 EXPECT_EQ("Nvidia Tegra T20", parse_proc_cpuinfo_hardware_tegra("ventana"));
414 EXPECT_EQ("Nvidia Tegra T30", parse_proc_cpuinfo_hardware_tegra("cardhu"));
415 EXPECT_EQ("Nvidia Tegra T30", parse_proc_cpuinfo_hardware_tegra("chagall"));
416 EXPECT_EQ("Nvidia Tegra T30", parse_proc_cpuinfo_hardware_tegra("picasso_m"));
417 EXPECT_EQ("Nvidia Tegra T30", parse_proc_cpuinfo_hardware_tegra("picasso_mf"));
418 EXPECT_EQ("Nvidia Tegra T30L", parse_proc_cpuinfo_hardware_tegra("BIRCH"));
419 EXPECT_EQ("Nvidia Tegra T30L", parse_proc_cpuinfo_hardware_tegra("NS_14T004"));
420 EXPECT_EQ("Nvidia Tegra T30L", parse_proc_cpuinfo_hardware_tegra("avalon"));
421 EXPECT_EQ("Nvidia Tegra T30L", parse_proc_cpuinfo_hardware_tegra("picasso_e2"));
422 EXPECT_EQ("Nvidia Tegra T30L", parse_proc_cpuinfo_hardware_tegra("tostab12BL"));
423 EXPECT_EQ("Nvidia Tegra T30L", parse_proc_cpuinfo_hardware_tegra("txs03"));
424 EXPECT_EQ("Nvidia Tegra T33", parse_proc_cpuinfo_hardware_tegra("bobsleigh"));
425 EXPECT_EQ("Nvidia Tegra T33", parse_proc_cpuinfo_hardware_tegra("enrc2b"));
426 EXPECT_EQ("Nvidia Tegra T33", parse_proc_cpuinfo_hardware_tegra("evitareul"));
427 EXPECT_EQ("Nvidia Tegra T33", parse_proc_cpuinfo_hardware_tegra("tegra_fjdev103"));
428 }
429 #endif /* CPUINFO_ARCH_ARM */
430
TEST(PROC_CPUINFO_HARDWARE,rockchip_rk)431 TEST(PROC_CPUINFO_HARDWARE, rockchip_rk) {
432 EXPECT_EQ("Rockchip RK3126", parse_proc_cpuinfo_hardware("Rockchip RK3126"));
433 EXPECT_EQ("Rockchip RK3128", parse_proc_cpuinfo_hardware("Rockchip RK3128"));
434 EXPECT_EQ("Rockchip RK3188", parse_proc_cpuinfo_hardware("Rockchip RK3188"));
435 EXPECT_EQ("Rockchip RK3228H", parse_proc_cpuinfo_hardware("rockchip,rk3228h"));
436 EXPECT_EQ("Rockchip RK3229", parse_proc_cpuinfo_hardware("Rockchip RK3229"));
437 EXPECT_EQ("Rockchip RK3328", parse_proc_cpuinfo_hardware("rockchip,rk3328"));
438 EXPECT_EQ("Rockchip RK3368", parse_proc_cpuinfo_hardware("rockchip,rk3368"));
439 }
440
TEST(PROC_CPUINFO_HARDWARE,spreadtrum_sc)441 TEST(PROC_CPUINFO_HARDWARE, spreadtrum_sc) {
442 EXPECT_EQ("Spreadtrum SC5735", parse_proc_cpuinfo_hardware("sc5735"));
443 EXPECT_EQ("Spreadtrum SC6820I", parse_proc_cpuinfo_hardware("sc6820i"));
444 EXPECT_EQ("Spreadtrum SC7715", parse_proc_cpuinfo_hardware("scx15"));
445 EXPECT_EQ("Spreadtrum SC7730", parse_proc_cpuinfo_hardware("sc7730"));
446 EXPECT_EQ("Spreadtrum SC7731", parse_proc_cpuinfo_hardware("sc7731"));
447 EXPECT_EQ("Spreadtrum SC7731C", parse_proc_cpuinfo_hardware("sc7731c"));
448 EXPECT_EQ("Spreadtrum SC7731G", parse_proc_cpuinfo_hardware("sc7731g"));
449 EXPECT_EQ("Spreadtrum SC8825", parse_proc_cpuinfo_hardware("sc8825"));
450 EXPECT_EQ("Spreadtrum SC8830", parse_proc_cpuinfo_hardware("sc8830"));
451 EXPECT_EQ("Spreadtrum SC9830", parse_proc_cpuinfo_hardware("sc9830"));
452 EXPECT_EQ("Spreadtrum SC9832", parse_proc_cpuinfo_hardware("sc9832"));
453 EXPECT_EQ("Spreadtrum SC9832A", parse_proc_cpuinfo_hardware("sc9832a"));
454 }
455
TEST(PROC_CPUINFO_HARDWARE,telechips)456 TEST(PROC_CPUINFO_HARDWARE, telechips) {
457 EXPECT_EQ("Telechips TCC892X", parse_proc_cpuinfo_hardware("tcc892x"));
458 EXPECT_EQ("Telechips TCC893X", parse_proc_cpuinfo_hardware("tcc893x"));
459 }
460
TEST(PROC_CPUINFO_HARDWARE,unisoc)461 TEST(PROC_CPUINFO_HARDWARE, unisoc) {
462 EXPECT_EQ("Unisoc T301", parse_proc_cpuinfo_hardware("Unisoc T301", 4, 1800000));
463 EXPECT_EQ("Unisoc UMS312", parse_proc_cpuinfo_hardware("Unisoc UMS312", 4, 1800000));
464 }
465
466 #if CPUINFO_ARCH_ARM
TEST(PROC_CPUINFO_HARDWARE,texas_instruments_omap)467 TEST(PROC_CPUINFO_HARDWARE, texas_instruments_omap) {
468 EXPECT_EQ("Texas Instruments OMAP4430", parse_proc_cpuinfo_hardware("OMAP4430"));
469 EXPECT_EQ("Texas Instruments OMAP4460", parse_proc_cpuinfo_hardware("OMAP4460"));
470 }
471
TEST(PROC_CPUINFO_HARDWARE,texas_instruments_special)472 TEST(PROC_CPUINFO_HARDWARE, texas_instruments_special) {
473 EXPECT_EQ("Texas Instruments OMAP4430", parse_proc_cpuinfo_hardware("mapphone_CDMA"));
474 EXPECT_EQ("Texas Instruments OMAP4460", parse_proc_cpuinfo_hardware("Tuna"));
475 }
476
TEST(PROC_CPUINFO_HARDWARE,wondermedia)477 TEST(PROC_CPUINFO_HARDWARE, wondermedia) {
478 EXPECT_EQ("WonderMedia WM8850", parse_proc_cpuinfo_hardware("WMT", 1, 1200000));
479 EXPECT_EQ("WonderMedia WM8880", parse_proc_cpuinfo_hardware("WMT", 2, 1500000));
480 EXPECT_EQ("WonderMedia WM8950", parse_proc_cpuinfo_hardware("WMT", 1, 1008000));
481 }
482 #endif
483