• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <gtest/gtest.h>
2 
3 #include <stdint.h>
4 #include <string.h>
5 
6 #include <string>
7 
8 #define CPUINFO_BUILD_PROP_VALUE_MAX 92
9 #define CPUINFO_ARM_CHIPSET_NAME_MAX 48
10 
11 extern "C" void cpuinfo_arm_android_parse_ro_product_board(
12 	const char board[CPUINFO_BUILD_PROP_VALUE_MAX],
13 	uint32_t cores,
14 	uint32_t max_cpu_freq_max,
15 	char chipset_name[CPUINFO_ARM_CHIPSET_NAME_MAX]);
16 
parse_ro_product_board(std::string board,uint32_t cores=1,uint32_t max_cpu_freq_max=0)17 inline std::string parse_ro_product_board(
18 	std::string board, uint32_t cores=1, uint32_t max_cpu_freq_max=0)
19 {
20 	char board_buffer[CPUINFO_BUILD_PROP_VALUE_MAX];
21 	strncpy(board_buffer, board.c_str(), CPUINFO_BUILD_PROP_VALUE_MAX);
22 	char chipset_name[CPUINFO_ARM_CHIPSET_NAME_MAX];
23 	cpuinfo_arm_android_parse_ro_product_board(
24 		board_buffer, cores, max_cpu_freq_max, chipset_name);
25 	return std::string(chipset_name, strnlen(chipset_name, CPUINFO_ARM_CHIPSET_NAME_MAX));
26 }
27 
TEST(RO_PRODUCT_BOARD,qualcomm_msm)28 TEST(RO_PRODUCT_BOARD, qualcomm_msm) {
29 	EXPECT_EQ("Qualcomm APQ8064",
30 		parse_ro_product_board("MSM8960", 4));
31 	EXPECT_EQ("Qualcomm MSM7630",
32 		parse_ro_product_board("MSM7630_SURF"));
33 	EXPECT_EQ("Qualcomm MSM8209",
34 		parse_ro_product_board("MSM8209"));
35 	EXPECT_EQ("Qualcomm MSM8210",
36 		parse_ro_product_board("MSM8210"));
37 	EXPECT_EQ("Qualcomm MSM8212",
38 		parse_ro_product_board("MSM8212"));
39 	EXPECT_EQ("Qualcomm MSM8225",
40 		parse_ro_product_board("MSM8225"));
41 	EXPECT_EQ("Qualcomm MSM8226",
42 		parse_ro_product_board("MSM8226"));
43 	EXPECT_EQ("Qualcomm MSM8227",
44 		parse_ro_product_board("MSM8227"));
45 	EXPECT_EQ("Qualcomm MSM8228",
46 		parse_ro_product_board("MSM8228"));
47 	EXPECT_EQ("Qualcomm MSM8230",
48 		parse_ro_product_board("MSM8230"));
49 	EXPECT_EQ("Qualcomm MSM8260A",
50 		parse_ro_product_board("MSM8260A"));
51 	EXPECT_EQ("Qualcomm MSM8274",
52 		parse_ro_product_board("MSM8274"));
53 #if CPUINFO_ARCH_ARM
54 	EXPECT_EQ("Qualcomm MSM8610",
55 		parse_ro_product_board("MSM8610", 2));
56 	EXPECT_EQ("Qualcomm MSM8612",
57 		parse_ro_product_board("MSM8610", 4));
58 #endif /* CPUINFO_ARCH_ARM */
59 	EXPECT_EQ("Qualcomm MSM8612",
60 		parse_ro_product_board("MSM8612"));
61 	EXPECT_EQ("Qualcomm MSM8625",
62 		parse_ro_product_board("MSM8625"));
63 	EXPECT_EQ("Qualcomm MSM8626",
64 		parse_ro_product_board("MSM8626"));
65 	EXPECT_EQ("Qualcomm MSM8660",
66 		parse_ro_product_board("MSM8660_SURF"));
67 	EXPECT_EQ("Qualcomm MSM8674",
68 		parse_ro_product_board("MSM8674"));
69 	EXPECT_EQ("Qualcomm MSM8909",
70 		parse_ro_product_board("MSM8909"));
71 	EXPECT_EQ("Qualcomm MSM8909",
72 		parse_ro_product_board("msm8909"));
73 	EXPECT_EQ("Qualcomm MSM8916",
74 		parse_ro_product_board("MSM8216"));
75 	EXPECT_EQ("Qualcomm MSM8916",
76 		parse_ro_product_board("MSM8916", 4));
77 	EXPECT_EQ("Qualcomm MSM8916",
78 		parse_ro_product_board("msm8916", 4));
79 	EXPECT_EQ("Qualcomm MSM8917",
80 		parse_ro_product_board("MSM8917"));
81 	EXPECT_EQ("Qualcomm MSM8917",
82 		parse_ro_product_board("msm8937", 4));
83 	EXPECT_EQ("Qualcomm MSM8917",
84 		parse_ro_product_board("msm8937_32", 4));
85 	EXPECT_EQ("Qualcomm MSM8926",
86 		parse_ro_product_board("MSM8926"));
87 	EXPECT_EQ("Qualcomm MSM8928",
88 		parse_ro_product_board("MSM8928"));
89 	EXPECT_EQ("Qualcomm MSM8929",
90 		parse_ro_product_board("MSM8929"));
91 	EXPECT_EQ("Qualcomm MSM8929",
92 		parse_ro_product_board("msm8929"));
93 	EXPECT_EQ("Qualcomm MSM8937",
94 		parse_ro_product_board("MSM8937", 8));
95 	EXPECT_EQ("Qualcomm MSM8937",
96 		parse_ro_product_board("msm8937", 8));
97 	EXPECT_EQ("Qualcomm MSM8937",
98 		parse_ro_product_board("msm8937_32", 8));
99 	EXPECT_EQ("Qualcomm MSM8939",
100 		parse_ro_product_board("MSM8916", 8));
101 	EXPECT_EQ("Qualcomm MSM8939",
102 		parse_ro_product_board("MSM8939"));
103 	EXPECT_EQ("Qualcomm MSM8939",
104 		parse_ro_product_board("msm8916", 8));
105 	EXPECT_EQ("Qualcomm MSM8939",
106 		parse_ro_product_board("msm8939"));
107 	EXPECT_EQ("Qualcomm MSM8939",
108 		parse_ro_product_board("msm8939_64"));
109 	EXPECT_EQ("Qualcomm MSM8940",
110 		parse_ro_product_board("MSM8940"));
111 	EXPECT_EQ("Qualcomm MSM8952",
112 		parse_ro_product_board("MSM8952"));
113 	EXPECT_EQ("Qualcomm MSM8952",
114 		parse_ro_product_board("msm8952"));
115 	EXPECT_EQ("Qualcomm MSM8953",
116 		parse_ro_product_board("msm8953"));
117 	EXPECT_EQ("Qualcomm MSM8960",
118 		parse_ro_product_board("MSM8960", 2));
119 	EXPECT_EQ("Qualcomm MSM8974",
120 		parse_ro_product_board("MSM8974"));
121 	EXPECT_EQ("Qualcomm MSM8974",
122 		parse_ro_product_board("msm8974"));
123 	EXPECT_EQ("Qualcomm MSM8976",
124 		parse_ro_product_board("MSM8976"));
125 	EXPECT_EQ("Qualcomm MSM8992",
126 		parse_ro_product_board("MSM8992"));
127 	EXPECT_EQ("Qualcomm MSM8992",
128 		parse_ro_product_board("msm8992"));
129 	EXPECT_EQ("Qualcomm MSM8994",
130 		parse_ro_product_board("MSM8994"));
131 	EXPECT_EQ("Qualcomm MSM8994",
132 		parse_ro_product_board("msm8994"));
133 	EXPECT_EQ("Qualcomm MSM8996",
134 		parse_ro_product_board("msm8996", 4));
135 	EXPECT_EQ("Qualcomm MSM8998",
136 		parse_ro_product_board("msm8998"));
137 }
138 
TEST(RO_PRODUCT_BOARD,qualcomm_apq)139 TEST(RO_PRODUCT_BOARD, qualcomm_apq) {
140 	EXPECT_EQ("Qualcomm APQ8064",
141 		parse_ro_product_board("APQ8064"));
142 	EXPECT_EQ("Qualcomm APQ8064A",
143 		parse_ro_product_board("APQ8064A"));
144 	EXPECT_EQ("Qualcomm APQ8064PRO",
145 		parse_ro_product_board("APQ8064Pro"));
146 	EXPECT_EQ("Qualcomm APQ8084",
147 		parse_ro_product_board("APQ8084"));
148 }
149 
TEST(RO_PRODUCT_BOARD,qualcomm_special)150 TEST(RO_PRODUCT_BOARD, qualcomm_special) {
151 	EXPECT_EQ("Qualcomm MSM8996PRO-AB",
152 		parse_ro_product_board("marlin"));
153 	EXPECT_EQ("Qualcomm MSM8996PRO-AB",
154 		parse_ro_product_board("sailfish"));
155 }
156 
TEST(RO_PRODUCT_BOARD,mediatek_mt)157 TEST(RO_PRODUCT_BOARD, mediatek_mt) {
158 	EXPECT_EQ("MediaTek MT5861",
159 		parse_ro_product_board("mt5861"));
160 	EXPECT_EQ("MediaTek MT5882",
161 		parse_ro_product_board("mt5882"));
162 	EXPECT_EQ("MediaTek MT6572",
163 		parse_ro_product_board("mt6572"));
164 	EXPECT_EQ("MediaTek MT6572M",
165 		parse_ro_product_board("MT6572M"));
166 	EXPECT_EQ("MediaTek MT6575",
167 		parse_ro_product_board("MTK6575"));
168 	EXPECT_EQ("MediaTek MT6575",
169 		parse_ro_product_board("mt6575"));
170 	EXPECT_EQ("MediaTek MT6577",
171 		parse_ro_product_board("MTK6577"));
172 	EXPECT_EQ("MediaTek MT6577",
173 		parse_ro_product_board("mt6577"));
174 	EXPECT_EQ("MediaTek MT6580",
175 		parse_ro_product_board("MT6580"));
176 	EXPECT_EQ("MediaTek MT6580",
177 		parse_ro_product_board("mt6580"));
178 	EXPECT_EQ("MediaTek MT6580A",
179 		parse_ro_product_board("MT6580A"));
180 	EXPECT_EQ("MediaTek MT6580M",
181 		parse_ro_product_board("MT6580M"));
182 	EXPECT_EQ("MediaTek MT6582",
183 		parse_ro_product_board("MT6582"));
184 	EXPECT_EQ("MediaTek MT6582",
185 		parse_ro_product_board("mt6582"));
186 	EXPECT_EQ("MediaTek MT6582M",
187 		parse_ro_product_board("MTK6582M"));
188 	EXPECT_EQ("MediaTek MT6582V",
189 		parse_ro_product_board("MT6582V"));
190 	EXPECT_EQ("MediaTek MT6582W",
191 		parse_ro_product_board("MT6582W"));
192 	EXPECT_EQ("MediaTek MT6589",
193 		parse_ro_product_board("MT6589"));
194 	EXPECT_EQ("MediaTek MT6589T",
195 		parse_ro_product_board("MT6589T"));
196 	EXPECT_EQ("MediaTek MT6592",
197 		parse_ro_product_board("MT6592"));
198 	EXPECT_EQ("MediaTek MT6592",
199 		parse_ro_product_board("mt6592"));
200 	EXPECT_EQ("MediaTek MT6592M",
201 		parse_ro_product_board("MT6592M"));
202 	EXPECT_EQ("MediaTek MT6595",
203 		parse_ro_product_board("MT6595"));
204 	EXPECT_EQ("MediaTek MT6732",
205 		parse_ro_product_board("MT6732"));
206 	EXPECT_EQ("MediaTek MT6735",
207 		parse_ro_product_board("MT6735"));
208 	EXPECT_EQ("MediaTek MT6735",
209 		parse_ro_product_board("mt6735"));
210 	EXPECT_EQ("MediaTek MT6735M",
211 		parse_ro_product_board("MT6735M"));
212 	EXPECT_EQ("MediaTek MT6735M",
213 		parse_ro_product_board("mt6735m"));
214 	EXPECT_EQ("MediaTek MT6735P",
215 		parse_ro_product_board("MT6735P"));
216 	EXPECT_EQ("MediaTek MT6735V",
217 		parse_ro_product_board("MT6735V"));
218 	EXPECT_EQ("MediaTek MT6737",
219 		parse_ro_product_board("MT6737"));
220 	EXPECT_EQ("MediaTek MT6737M",
221 		parse_ro_product_board("mt6737m"));
222 	EXPECT_EQ("MediaTek MT6737T",
223 		parse_ro_product_board("MT6737T"));
224 	EXPECT_EQ("MediaTek MT6750",
225 		parse_ro_product_board("MT6750"));
226 	EXPECT_EQ("MediaTek MT6750",
227 		parse_ro_product_board("mt6750"));
228 	EXPECT_EQ("MediaTek MT6752",
229 		parse_ro_product_board("MT6752", 8));
230 	EXPECT_EQ("MediaTek MT6753",
231 		parse_ro_product_board("MT6753"));
232 	EXPECT_EQ("MediaTek MT6753",
233 		parse_ro_product_board("mt6753"));
234 	EXPECT_EQ("MediaTek MT6755",
235 		parse_ro_product_board("mt6755"));
236 	EXPECT_EQ("MediaTek MT6755M",
237 		parse_ro_product_board("MT6755M"));
238 	EXPECT_EQ("MediaTek MT6757",
239 		parse_ro_product_board("MT6757"));
240 	EXPECT_EQ("MediaTek MT6795",
241 		parse_ro_product_board("mt6795"));
242 	EXPECT_EQ("MediaTek MT6797",
243 		parse_ro_product_board("MT6797"));
244 	EXPECT_EQ("MediaTek MT8127",
245 		parse_ro_product_board("mt8127"));
246 	EXPECT_EQ("MediaTek MT8151",
247 		parse_ro_product_board("mt8151"));
248 	EXPECT_EQ("MediaTek MT8163",
249 		parse_ro_product_board("mt8163"));
250 	EXPECT_EQ("MediaTek MT8312",
251 		parse_ro_product_board("MT8312"));
252 	EXPECT_EQ("MediaTek MT8321",
253 		parse_ro_product_board("MT8321"));
254 	EXPECT_EQ("MediaTek MT8382",
255 		parse_ro_product_board("MT8382"));
256 	EXPECT_EQ("MediaTek MT8382V",
257 		parse_ro_product_board("MT8382V"));
258 	EXPECT_EQ("MediaTek MT8389",
259 		parse_ro_product_board("MT8389"));
260 	EXPECT_EQ("MediaTek MT8735M",
261 		parse_ro_product_board("MT8735m"));
262 	EXPECT_EQ("MediaTek MT8735P",
263 		parse_ro_product_board("MT8735P"));
264 	EXPECT_EQ("MediaTek MT8783",
265 		parse_ro_product_board("MT8783"));
266 }
267 
TEST(RO_PRODUCT_BOARD,samsung_universal)268 TEST(RO_PRODUCT_BOARD, samsung_universal) {
269 	EXPECT_EQ("Samsung Exynos 3470",
270 		parse_ro_product_board("universal3470"));
271 	EXPECT_EQ("Samsung Exynos 3475",
272 		parse_ro_product_board("universal3475"));
273 	EXPECT_EQ("Samsung Exynos 4415",
274 		parse_ro_product_board("universal4415"));
275 	EXPECT_EQ("Samsung Exynos 5260",
276 		parse_ro_product_board("universal5260"));
277 	EXPECT_EQ("Samsung Exynos 5410",
278 		parse_ro_product_board("universal5410"));
279 	EXPECT_EQ("Samsung Exynos 5420",
280 		parse_ro_product_board("universal5420", 4));
281 	EXPECT_EQ("Samsung Exynos 5422",
282 		parse_ro_product_board("universal5422"));
283 	EXPECT_EQ("Samsung Exynos 5430",
284 		parse_ro_product_board("universal5430"));
285 	EXPECT_EQ("Samsung Exynos 5433",
286 		parse_ro_product_board("universal5433"));
287 	EXPECT_EQ("Samsung Exynos 7420",
288 		parse_ro_product_board("universal7420"));
289 	EXPECT_EQ("Samsung Exynos 7570",
290 		parse_ro_product_board("universal7570"));
291 	EXPECT_EQ("Samsung Exynos 7578",
292 		parse_ro_product_board("universal7580", 4));
293 	EXPECT_EQ("Samsung Exynos 7580",
294 		parse_ro_product_board("universal7580", 8));
295 	EXPECT_EQ("Samsung Exynos 7870",
296 		parse_ro_product_board("universal7870"));
297 	EXPECT_EQ("Samsung Exynos 7880",
298 		parse_ro_product_board("universal7880"));
299 	EXPECT_EQ("Samsung Exynos 8890",
300 		parse_ro_product_board("universal8890"));
301 	EXPECT_EQ("Samsung Exynos 8895",
302 		parse_ro_product_board("universal8895"));
303 }
304 
305 #if CPUINFO_ARCH_ARM
TEST(RO_PRODUCT_BOARD,samsung_smdk)306 	TEST(RO_PRODUCT_BOARD, samsung_smdk) {
307 		EXPECT_EQ("Samsung Exynos 4212",
308 			parse_ro_product_board("smdk4x12", 2));
309 		EXPECT_EQ("Samsung Exynos 4412",
310 			parse_ro_product_board("smdk4x12", 4));
311 	}
312 #endif
313 
TEST(RO_PRODUCT_BOARD,hisilicon_huawei)314 TEST(RO_PRODUCT_BOARD, hisilicon_huawei) {
315 	EXPECT_EQ("HiSilicon Kirin 659",
316 		parse_ro_product_board("BAC"));
317 	EXPECT_EQ("HiSilicon Kirin 950",
318 		parse_ro_product_board("FRD"));
319 	EXPECT_EQ("HiSilicon Kirin 950",
320 		parse_ro_product_board("FRD-L09"));
321 	EXPECT_EQ("HiSilicon Kirin 950",
322 		parse_ro_product_board("NXT"));
323 	EXPECT_EQ("HiSilicon Kirin 950",
324 		parse_ro_product_board("NXT-AL10"));
325 	EXPECT_EQ("HiSilicon Kirin 950",
326 		parse_ro_product_board("NXT-L09"));
327 	EXPECT_EQ("HiSilicon Kirin 950",
328 		parse_ro_product_board("NXT-L29"));
329 	EXPECT_EQ("HiSilicon Kirin 955",
330 		parse_ro_product_board("EVA"));
331 	EXPECT_EQ("HiSilicon Kirin 955",
332 		parse_ro_product_board("EVA-AL10"));
333 	EXPECT_EQ("HiSilicon Kirin 955",
334 		parse_ro_product_board("EVA-L09"));
335 	EXPECT_EQ("HiSilicon Kirin 955",
336 		parse_ro_product_board("EVA-L19"));
337 	EXPECT_EQ("HiSilicon Kirin 955",
338 		parse_ro_product_board("VIE-L09"));
339 	EXPECT_EQ("HiSilicon Kirin 955",
340 		parse_ro_product_board("VIE-L29"));
341 	EXPECT_EQ("HiSilicon Kirin 960",
342 		parse_ro_product_board("DUK"));
343 	EXPECT_EQ("HiSilicon Kirin 960",
344 		parse_ro_product_board("LON"));
345 	EXPECT_EQ("HiSilicon Kirin 960",
346 		parse_ro_product_board("MHA"));
347 	EXPECT_EQ("HiSilicon Kirin 960",
348 		parse_ro_product_board("STF"));
349 	EXPECT_EQ("HiSilicon Kirin 960",
350 		parse_ro_product_board("VKY"));
351 	EXPECT_EQ("HiSilicon Kirin 960",
352 		parse_ro_product_board("VTR"));
353 }
354 
TEST(RO_PRODUCT_BOARD,hisilicon_special)355 TEST(RO_PRODUCT_BOARD, hisilicon_special) {
356 	EXPECT_EQ("HiSilicon Kirin 620",
357 		parse_ro_product_board("hi6210sft"));
358 	EXPECT_EQ("HiSilicon Kirin 650",
359 		parse_ro_product_board("hi6250"));
360 #if CPUINFO_ARCH_ARM
361 	EXPECT_EQ("HiSilicon Kirin 920",
362 		parse_ro_product_board("hi3630"));
363 #endif /* CPUINFO_ARCH_ARM */
364 	EXPECT_EQ("HiSilicon Kirin 930",
365 		parse_ro_product_board("hi3635"));
366 	EXPECT_EQ("HiSilicon Kirin 950",
367 		parse_ro_product_board("hi3650"));
368 	EXPECT_EQ("HiSilicon Kirin 960",
369 		parse_ro_product_board("hi3660"));
370 	EXPECT_EQ("HiSilicon Kirin 950",
371 		parse_ro_product_board("BEETHOVEN"));
372 }
373 
374 #if CPUINFO_ARCH_ARM
TEST(RO_PRODUCT_BOARD,broadcom)375 	TEST(RO_PRODUCT_BOARD, broadcom) {
376 		EXPECT_EQ("Broadcom BCM28155",
377 			parse_ro_product_board("capri", 2, 1200000));
378 		EXPECT_EQ("Broadcom BCM28155",
379 			parse_ro_product_board("capri", 2, 1300000));
380 		EXPECT_EQ("Broadcom BCM28155",
381 			parse_ro_product_board("capri", 2, 1399999));
382 		EXPECT_EQ("Broadcom BCM28155",
383 			parse_ro_product_board("capri", 2, 1399999));
384 		EXPECT_EQ("Broadcom BCM23550",
385 			parse_ro_product_board("java", 4, 1200000));
386 		EXPECT_EQ("Broadcom BCM23550",
387 			parse_ro_product_board("java", 4, 1300000));
388 		EXPECT_EQ("Broadcom BCM21654",
389 			parse_ro_product_board("rhea", 1, 849999));
390 		EXPECT_EQ("Broadcom BCM21654G",
391 			parse_ro_product_board("rhea", 1, 999999));
392 		EXPECT_EQ("Broadcom BCM21663",
393 			parse_ro_product_board("hawaii", 1, 999999));
394 		EXPECT_EQ("Broadcom BCM21664",
395 			parse_ro_product_board("hawaii", 2, 999999));
396 		EXPECT_EQ("Broadcom BCM21664T",
397 			parse_ro_product_board("hawaii", 2, 1200000));
398 	}
399 
TEST(RO_PRODUCT_BOARD,leadcore_lc)400 	TEST(RO_PRODUCT_BOARD, leadcore_lc) {
401 		EXPECT_EQ("Leadcore LC1810",
402 			parse_ro_product_board("lc1810"));
403 	}
404 
TEST(RO_PRODUCT_BOARD,marvell_pxa)405 	TEST(RO_PRODUCT_BOARD, marvell_pxa) {
406 		EXPECT_EQ("Marvell PXA1088",
407 			parse_ro_product_board("PXA1088"));
408 		EXPECT_EQ("Marvell PXA986",
409 			parse_ro_product_board("PXA986"));
410 		EXPECT_EQ("Marvell PXA988",
411 			parse_ro_product_board("PXA988"));
412 	}
413 
TEST(RO_PRODUCT_BOARD,nvidia)414 	TEST(RO_PRODUCT_BOARD, nvidia) {
415 		EXPECT_EQ("Nvidia Tegra SL460N",
416 			parse_ro_product_board("g2mv"));
417 		EXPECT_EQ("Nvidia Tegra T132",
418 			parse_ro_product_board("flounder"));
419 		EXPECT_EQ("Nvidia Tegra T210",
420 			parse_ro_product_board("dragon"));
421 		EXPECT_EQ("Nvidia Tegra T30L",
422 			parse_ro_product_board("grouper"));
423 	}
424 
TEST(RO_PRODUCT_BOARD,renesas)425 	TEST(RO_PRODUCT_BOARD, renesas) {
426 		EXPECT_EQ("Renesas MP5232",
427 			parse_ro_product_board("mp523x"));
428 	}
429 
TEST(RO_PRODUCT_BOARD,rockchip)430 	TEST(RO_PRODUCT_BOARD, rockchip) {
431 		EXPECT_EQ("Rockchip RK3066",
432 			parse_ro_product_board("T7H"));
433 		EXPECT_EQ("Rockchip RK3168",
434 			parse_ro_product_board("hws7701u"));
435 		EXPECT_EQ("Rockchip RK3188",
436 			parse_ro_product_board("K00F"));
437 	}
438 #endif
439 
TEST(RO_PRODUCT_BOARD,spreadtrum)440 TEST(RO_PRODUCT_BOARD, spreadtrum) {
441 	EXPECT_EQ("Spreadtrum SC6815AS",
442 		parse_ro_product_board("SC6815AS"));
443 	EXPECT_EQ("Spreadtrum SC7715",
444 		parse_ro_product_board("SC7715"));
445 	EXPECT_EQ("Spreadtrum SC7715A",
446 		parse_ro_product_board("SC7715A"));
447 	EXPECT_EQ("Spreadtrum SC7715T",
448 		parse_ro_product_board("SC7715T"));
449 	EXPECT_EQ("Spreadtrum SC7727S",
450 		parse_ro_product_board("SC7727S"));
451 	EXPECT_EQ("Spreadtrum SC7727S",
452 		parse_ro_product_board("sc7727s"));
453 	EXPECT_EQ("Spreadtrum SC7727SE",
454 		parse_ro_product_board("SC7727SE"));
455 	EXPECT_EQ("Spreadtrum SC7730S",
456 		parse_ro_product_board("sc7730s"));
457 	EXPECT_EQ("Spreadtrum SC7730SE",
458 		parse_ro_product_board("SC7730SE"));
459 	EXPECT_EQ("Spreadtrum SC7730SW",
460 		parse_ro_product_board("SC7730SW"));
461 	EXPECT_EQ("Spreadtrum SC7731",
462 		parse_ro_product_board("SC7731"));
463 	EXPECT_EQ("Spreadtrum SC7731C",
464 		parse_ro_product_board("SC7731C"));
465 	EXPECT_EQ("Spreadtrum SC7731G",
466 		parse_ro_product_board("SC7731G"));
467 	EXPECT_EQ("Spreadtrum SC7735S",
468 		parse_ro_product_board("sc7735s"));
469 	EXPECT_EQ("Spreadtrum SC9830A",
470 		parse_ro_product_board("SC9830A"));
471 	EXPECT_EQ("Spreadtrum SC9830I",
472 		parse_ro_product_board("SC9830I"));
473 }
474 
475 #if CPUINFO_ARCH_ARM
TEST(RO_PRODUCT_BOARD,texas_instruments)476 	TEST(RO_PRODUCT_BOARD, texas_instruments) {
477 		EXPECT_EQ("Texas Instruments OMAP4460",
478 			parse_ro_product_board("tuna"));
479 	}
480 #endif /* CPUINFO_ARCH_ARM */
481