Add ARM Lumex C1 uarch (#370)
* Add ARM Lumex C1 uarch
SoC name: MediaTek MT6993
Microarchitectures:
1x Lumex-C1-Ultra
3x Lumex-C1-Premium
4x Lumex-C1-Pro
Cores:
0: 1 processor (0), ARM Lumex-C1-Ultra
1: 1 processor (1), ARM Lumex-C1-Premium
2: 1 processor (2), ARM Lumex-C1-Premium
3: 1 processor (3), ARM Lumex-C1-Premium
4: 1 processor (4), ARM Lumex-C1-Pro
5: 1 processor (5), ARM Lumex-C1-Pro
6: 1 processor (6), ARM Lumex-C1-Pro
7: 1 processor (7), ARM Lumex-C1-Pro
Clusters:
0: 1 processor (0), 0: 1 core (0), ARM Lumex-C1-Ultra
1: 3 processors (1-3), 1: 3 cores (1-3), ARM Lumex-C1-Premium
2: 4 processors (4-7), 2: 4 cores (4-7), ARM Lumex-C1-Pro
Logical processors (System ID):
0 (7)
1 (4)
2 (5)
3 (6)
4 (0)
5 (1)
6 (2)
7 (3)
Part numbers documented here:
https://en.wikichip.org/wiki/arm_holdings/cortex
* Add ARM Lumex C1 uarch
SoC name: MediaTek MT6993
Microarchitectures:
1x Lumex-C1-Ultra
3x Lumex-C1-Premium
4x Lumex-C1-Pro
Cores:
0: 1 processor (0), ARM Lumex-C1-Ultra
1: 1 processor (1), ARM Lumex-C1-Premium
2: 1 processor (2), ARM Lumex-C1-Premium
3: 1 processor (3), ARM Lumex-C1-Premium
4: 1 processor (4), ARM Lumex-C1-Pro
5: 1 processor (5), ARM Lumex-C1-Pro
6: 1 processor (6), ARM Lumex-C1-Pro
7: 1 processor (7), ARM Lumex-C1-Pro
Clusters:
0: 1 processor (0), 0: 1 core (0), ARM Lumex-C1-Ultra
1: 3 processors (1-3), 1: 3 cores (1-3), ARM Lumex-C1-Premium
2: 4 processors (4-7), 2: 4 cores (4-7), ARM Lumex-C1-Pro
Logical processors (System ID):
0 (7)
1 (4)
2 (5)
3 (6)
4 (0)
5 (1)
6 (2)
7 (3)
Part numbers documented here:
https://en.wikichip.org/wiki/arm_holdings/cortex
* remove dot and fp16
* fix mock naming
diff --git a/include/cpuinfo.h b/include/cpuinfo.h
index ea73a69..e24553c 100644
--- a/include/cpuinfo.h
+++ b/include/cpuinfo.h
@@ -526,6 +526,15 @@
/** ARM Cortex-A725. */
cpuinfo_uarch_cortex_a725 = 0x00300574,
+ /** ARM Lumex-C1-Ultra. */
+ cpuinfo_uarch_lumex_c1_ultra = 0x00300600,
+ /** ARM Lumex-C1-Premium. */
+ cpuinfo_uarch_lumex_c1_premium = 0x00300601,
+ /** ARM Lumex-C1-Pro. */
+ cpuinfo_uarch_lumex_c1_pro = 0x00300602,
+ /** ARM Lumex-C1-Nano. */
+ cpuinfo_uarch_lumex_c1_nano = 0x00300603,
+
/** Qualcomm Scorpion. */
cpuinfo_uarch_scorpion = 0x00400100,
/** Qualcomm Krait. */
diff --git a/src/arm/uarch.c b/src/arm/uarch.c
index e787ec0..6f92c7d 100644
--- a/src/arm/uarch.c
+++ b/src/arm/uarch.c
@@ -141,6 +141,18 @@
case 0xD87: /* Cortex-A725 */
*uarch = cpuinfo_uarch_cortex_a725;
break;
+ case 0xD8C:
+ *uarch = cpuinfo_uarch_lumex_c1_ultra;
+ break;
+ case 0xD90:
+ *uarch = cpuinfo_uarch_lumex_c1_premium;
+ break;
+ case 0xD8B:
+ *uarch = cpuinfo_uarch_lumex_c1_pro;
+ break;
+ case 0xD8A:
+ *uarch = cpuinfo_uarch_lumex_c1_nano;
+ break;
default:
switch (midr_get_part(midr) >> 8) {
#if CPUINFO_ARCH_ARM
diff --git a/tools/cpu-info.c b/tools/cpu-info.c
index 863efd5..45dae5a 100644
--- a/tools/cpu-info.c
+++ b/tools/cpu-info.c
@@ -222,6 +222,14 @@
return "Cortex-X4";
case cpuinfo_uarch_cortex_x925:
return "Cortex-X925";
+ case cpuinfo_uarch_lumex_c1_ultra:
+ return "Lumex-C1-Ultra";
+ case cpuinfo_uarch_lumex_c1_premium:
+ return "Lumex-C1-Premium";
+ case cpuinfo_uarch_lumex_c1_pro:
+ return "Lumex-C1-Pro";
+ case cpuinfo_uarch_lumex_c1_nano:
+ return "Lumex-C1-Nano";
case cpuinfo_uarch_neoverse_n1:
return "Neoverse N1";
case cpuinfo_uarch_neoverse_e1: