| #include <gtest/gtest.h> |
| |
| #include <stdint.h> |
| #include <string.h> |
| |
| #include <string> |
| |
| #define CPUINFO_BUILD_PROP_VALUE_MAX 92 |
| #define CPUINFO_ARM_CHIPSET_NAME_MAX 48 |
| |
| extern "C" void cpuinfo_arm_android_parse_ro_board_platform( |
| const char platform[CPUINFO_BUILD_PROP_VALUE_MAX], |
| uint32_t cores, |
| uint32_t max_cpu_freq_max, |
| char chipset_name[CPUINFO_ARM_CHIPSET_NAME_MAX]); |
| |
| inline std::string parse_ro_board_platform( |
| std::string platform, uint32_t cores=1, uint32_t max_cpu_freq_max=0) |
| { |
| char platform_buffer[CPUINFO_BUILD_PROP_VALUE_MAX]; |
| strncpy(platform_buffer, platform.c_str(), CPUINFO_BUILD_PROP_VALUE_MAX); |
| char chipset_name[CPUINFO_ARM_CHIPSET_NAME_MAX]; |
| cpuinfo_arm_android_parse_ro_board_platform( |
| platform_buffer, cores, max_cpu_freq_max, chipset_name); |
| return std::string(chipset_name, strnlen(chipset_name, CPUINFO_ARM_CHIPSET_NAME_MAX)); |
| } |
| |
| TEST(RO_BOARD_PLATFORM, qualcomm_msm) { |
| EXPECT_EQ("Qualcomm APQ8064", |
| parse_ro_board_platform("msm8960", 4)); |
| EXPECT_EQ("Qualcomm MSM7627A", |
| parse_ro_board_platform("msm7627a")); |
| EXPECT_EQ("Qualcomm MSM8084", |
| parse_ro_board_platform("msm8084")); |
| EXPECT_EQ("Qualcomm MSM8212", |
| parse_ro_board_platform("msm8610", 4)); |
| EXPECT_EQ("Qualcomm MSM8226", |
| parse_ro_board_platform("msm8226")); |
| EXPECT_EQ("Qualcomm MSM8610", |
| parse_ro_board_platform("msm8610", 2)); |
| EXPECT_EQ("Qualcomm MSM8612", |
| parse_ro_board_platform("MSM8612")); |
| EXPECT_EQ("Qualcomm MSM8660", |
| parse_ro_board_platform("msm8660")); |
| EXPECT_EQ("Qualcomm MSM8909", |
| parse_ro_board_platform("msm8909")); |
| EXPECT_EQ("Qualcomm MSM8916", |
| parse_ro_board_platform("msm8916", 4)); |
| EXPECT_EQ("Qualcomm MSM8917", |
| parse_ro_board_platform("msm8937", 4)); |
| EXPECT_EQ("Qualcomm MSM8937", |
| parse_ro_board_platform("msm8937", 8)); |
| EXPECT_EQ("Qualcomm MSM8939", |
| parse_ro_board_platform("msm8916", 8)); |
| EXPECT_EQ("Qualcomm MSM8952", |
| parse_ro_board_platform("msm8952")); |
| EXPECT_EQ("Qualcomm MSM8953", |
| parse_ro_board_platform("msm8953")); |
| EXPECT_EQ("Qualcomm MSM8960", |
| parse_ro_board_platform("msm8960", 2)); |
| EXPECT_EQ("Qualcomm MSM8974", |
| parse_ro_board_platform("msm8974")); |
| EXPECT_EQ("Qualcomm MSM8992", |
| parse_ro_board_platform("msm8992")); |
| EXPECT_EQ("Qualcomm MSM8994", |
| parse_ro_board_platform("msm8994")); |
| EXPECT_EQ("Qualcomm MSM8996", |
| parse_ro_board_platform("msm8996", 4)); |
| EXPECT_EQ("Qualcomm MSM8998", |
| parse_ro_board_platform("msm8998")); |
| } |
| |
| TEST(RO_BOARD_PLATFORM, qualcomm_apq) { |
| EXPECT_EQ("Qualcomm APQ8084", |
| parse_ro_board_platform("apq8084")); |
| } |
| |
| TEST(RO_BOARD_PLATFORM, mediatek_mt) { |
| EXPECT_EQ("MediaTek MT5861", |
| parse_ro_board_platform("mt5861")); |
| EXPECT_EQ("MediaTek MT5882", |
| parse_ro_board_platform("mt5882")); |
| EXPECT_EQ("MediaTek MT6570", |
| parse_ro_board_platform("mt6570")); |
| EXPECT_EQ("MediaTek MT6572", |
| parse_ro_board_platform("mt6572")); |
| EXPECT_EQ("MediaTek MT6572A", |
| parse_ro_board_platform("MT6572A")); |
| EXPECT_EQ("MediaTek MT6575", |
| parse_ro_board_platform("mt6575")); |
| EXPECT_EQ("MediaTek MT6577", |
| parse_ro_board_platform("MT6577")); |
| EXPECT_EQ("MediaTek MT6577", |
| parse_ro_board_platform("mt6577")); |
| EXPECT_EQ("MediaTek MT6580", |
| parse_ro_board_platform("mt6580")); |
| EXPECT_EQ("MediaTek MT6582", |
| parse_ro_board_platform("MTK6582")); |
| EXPECT_EQ("MediaTek MT6582", |
| parse_ro_board_platform("mt6582")); |
| EXPECT_EQ("MediaTek MT6582M", |
| parse_ro_board_platform("MTK6582M")); |
| EXPECT_EQ("MediaTek MT6589", |
| parse_ro_board_platform("MT6589")); |
| EXPECT_EQ("MediaTek MT6589", |
| parse_ro_board_platform("MTK6589")); |
| EXPECT_EQ("MediaTek MT6592", |
| parse_ro_board_platform("mt6592")); |
| EXPECT_EQ("MediaTek MT6592T", |
| parse_ro_board_platform("MTK6592T")); |
| EXPECT_EQ("MediaTek MT6595", |
| parse_ro_board_platform("mt6595")); |
| EXPECT_EQ("MediaTek MT6732", |
| parse_ro_board_platform("mt6752", 4)); |
| EXPECT_EQ("MediaTek MT6735", |
| parse_ro_board_platform("mt6735")); |
| EXPECT_EQ("MediaTek MT6735M", |
| parse_ro_board_platform("mt6735m")); |
| EXPECT_EQ("MediaTek MT6737", |
| parse_ro_board_platform("mt6737")); |
| EXPECT_EQ("MediaTek MT6737M", |
| parse_ro_board_platform("mt6737m")); |
| EXPECT_EQ("MediaTek MT6737T", |
| parse_ro_board_platform("mt6737t")); |
| EXPECT_EQ("MediaTek MT6750", |
| parse_ro_board_platform("mt6750")); |
| EXPECT_EQ("MediaTek MT6752", |
| parse_ro_board_platform("mt6752", 8)); |
| EXPECT_EQ("MediaTek MT6753", |
| parse_ro_board_platform("mt6753")); |
| EXPECT_EQ("MediaTek MT6755", |
| parse_ro_board_platform("mt6755")); |
| EXPECT_EQ("MediaTek MT6757", |
| parse_ro_board_platform("mt6757")); |
| EXPECT_EQ("MediaTek MT6795", |
| parse_ro_board_platform("mt6795")); |
| EXPECT_EQ("MediaTek MT6797", |
| parse_ro_board_platform("mt6797")); |
| EXPECT_EQ("MediaTek MT8111", |
| parse_ro_board_platform("MT8111")); |
| EXPECT_EQ("MediaTek MT8127", |
| parse_ro_board_platform("MT8127")); |
| EXPECT_EQ("MediaTek MT8127", |
| parse_ro_board_platform("mt8127")); |
| EXPECT_EQ("MediaTek MT8135", |
| parse_ro_board_platform("mt8135")); |
| EXPECT_EQ("MediaTek MT8151", |
| parse_ro_board_platform("mt8151")); |
| EXPECT_EQ("MediaTek MT8163", |
| parse_ro_board_platform("mt8163")); |
| EXPECT_EQ("MediaTek MT8167", |
| parse_ro_board_platform("mt8167")); |
| EXPECT_EQ("MediaTek MT8173", |
| parse_ro_board_platform("mt8173")); |
| EXPECT_EQ("MediaTek MT8312", |
| parse_ro_board_platform("MT8312")); |
| EXPECT_EQ("MediaTek MT8382", |
| parse_ro_board_platform("MT8382")); |
| EXPECT_EQ("MediaTek MT8382V", |
| parse_ro_board_platform("MT8382V")); |
| EXPECT_EQ("MediaTek MT8392", |
| parse_ro_board_platform("MT8392")); |
| } |
| |
| TEST(RO_BOARD_PLATFORM, samsung) { |
| EXPECT_EQ("Samsung Exynos 4412", |
| parse_ro_board_platform("exynos4412")); |
| } |
| |
| TEST(RO_BOARD_PLATFORM, hisilicon) { |
| EXPECT_EQ("HiSilicon K3V2", |
| parse_ro_board_platform("k3v200")); |
| EXPECT_EQ("HiSilicon K3V2", |
| parse_ro_board_platform("k3v2oem1")); |
| EXPECT_EQ("HiSilicon Kirin 620", |
| parse_ro_board_platform("hi6210sft")); |
| EXPECT_EQ("HiSilicon Kirin 650", |
| parse_ro_board_platform("hi6250")); |
| EXPECT_EQ("HiSilicon Kirin 910T", |
| parse_ro_board_platform("hi6620oem")); |
| EXPECT_EQ("HiSilicon Kirin 920", |
| parse_ro_board_platform("hi3630")); |
| EXPECT_EQ("HiSilicon Kirin 930", |
| parse_ro_board_platform("hi3635")); |
| EXPECT_EQ("HiSilicon Kirin 950", |
| parse_ro_board_platform("hi3650")); |
| } |
| |
| TEST(RO_BOARD_PLATFORM, amlogic) { |
| EXPECT_EQ("Amlogic AML8726-M", |
| parse_ro_board_platform("meson3")); |
| EXPECT_EQ("Amlogic AML8726-MX", |
| parse_ro_board_platform("meson6")); |
| EXPECT_EQ("Amlogic S805", |
| parse_ro_board_platform("meson8")); |
| EXPECT_EQ("Amlogic S905", |
| parse_ro_board_platform("gxbaby")); |
| EXPECT_EQ("Amlogic S905X", |
| parse_ro_board_platform("gxl")); |
| EXPECT_EQ("Amlogic S912", |
| parse_ro_board_platform("gxm")); |
| } |
| |
| TEST(RO_BOARD_PLATFORM, broadcom) { |
| EXPECT_EQ("Broadcom BCM21654", |
| parse_ro_board_platform("rhea", 1, 849999)); |
| EXPECT_EQ("Broadcom BCM21654G", |
| parse_ro_board_platform("rhea", 1, 999999)); |
| EXPECT_EQ("Broadcom BCM21663", |
| parse_ro_board_platform("hawaii", 1, 999999)); |
| EXPECT_EQ("Broadcom BCM21664", |
| parse_ro_board_platform("hawaii", 2, 999999)); |
| EXPECT_EQ("Broadcom BCM21664T", |
| parse_ro_board_platform("hawaii", 2, 1200000)); |
| EXPECT_EQ("Broadcom BCM23550", |
| parse_ro_board_platform("java", 4, 1200000)); |
| EXPECT_EQ("Broadcom BCM28155", |
| parse_ro_board_platform("capri", 2, 1200000)); |
| EXPECT_EQ("Broadcom BCM28155", |
| parse_ro_board_platform("capri", 2, 1399999)); |
| } |
| |
| TEST(RO_BOARD_PLATFORM, leadcore) { |
| EXPECT_EQ("Leadcore LC1860", |
| parse_ro_board_platform("lc1860")); |
| } |
| |
| TEST(RO_BOARD_PLATFORM, novathor) { |
| EXPECT_EQ("NovaThor U8500", |
| parse_ro_board_platform("montblanc")); |
| } |
| |
| TEST(RO_BOARD_PLATFORM, nvidia) { |
| EXPECT_EQ("nVidia Tegra T114", |
| parse_ro_board_platform("tegra4")); |
| EXPECT_EQ("nVidia Tegra T132", |
| parse_ro_board_platform("tegra132")); |
| EXPECT_EQ("nVidia Tegra T210", |
| parse_ro_board_platform("tegra210_dragon")); |
| } |
| |
| TEST(RO_BOARD_PLATFORM, pinecone) { |
| EXPECT_EQ("Pinecone Surge S1", |
| parse_ro_board_platform("song")); |
| } |
| |
| TEST(RO_BOARD_PLATFORM, rockchip_rk) { |
| EXPECT_EQ("Rockchip RK2928", |
| parse_ro_board_platform("rk2928")); |
| EXPECT_EQ("Rockchip RK3026", |
| parse_ro_board_platform("rk3026")); |
| EXPECT_EQ("Rockchip RK3066", |
| parse_ro_board_platform("rk3066")); |
| EXPECT_EQ("Rockchip RK3188", |
| parse_ro_board_platform("rk3188")); |
| EXPECT_EQ("Rockchip RK3228", |
| parse_ro_board_platform("rk3228")); |
| EXPECT_EQ("Rockchip RK3288", |
| parse_ro_board_platform("rk3288")); |
| EXPECT_EQ("Rockchip RK3328", |
| parse_ro_board_platform("rk3328")); |
| EXPECT_EQ("Rockchip RK3368", |
| parse_ro_board_platform("rk3368")); |
| EXPECT_EQ("Rockchip RK3399", |
| parse_ro_board_platform("rk3399")); |
| } |
| |
| TEST(RO_BOARD_PLATFORM, spreadtrum_sc) { |
| EXPECT_EQ("Spreadtrum SC6820I", |
| parse_ro_board_platform("sc6820i")); |
| EXPECT_EQ("Spreadtrum SC7731", |
| parse_ro_board_platform("SC7731")); |
| EXPECT_EQ("Spreadtrum SC7731", |
| parse_ro_board_platform("sc7731")); |
| EXPECT_EQ("Spreadtrum SC7731G", |
| parse_ro_board_platform("sc7731g")); |
| EXPECT_EQ("Spreadtrum SC8810", |
| parse_ro_board_platform("sc8810")); |
| EXPECT_EQ("Spreadtrum SC8825", |
| parse_ro_board_platform("sc8825")); |
| EXPECT_EQ("Spreadtrum SC8830", |
| parse_ro_board_platform("sc8830")); |
| } |
| |
| TEST(RO_BOARD_PLATFORM, texas_instruments_omap) { |
| EXPECT_EQ("Texas Instruments OMAP4430", |
| parse_ro_board_platform("omap4", 2, 1008000)); |
| } |