summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2025-01-12 19:28:54 -0600
committerTom Rini <[email protected]>2025-01-12 19:28:54 -0600
commit35d9b1d254773083ccf4dd12680663eb5433d910 (patch)
tree583fce949bad04c4588ba0d6fe40aafe1ff144ec /arch
parentbc157bb6667ed97e33be8ce8436c28baa275b295 (diff)
parent46a7999160da3167497e08a444417aea26171197 (diff)
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/include/asm/armv8/cpu.h32
1 files changed, 21 insertions, 11 deletions
diff --git a/arch/arm/include/asm/armv8/cpu.h b/arch/arm/include/asm/armv8/cpu.h
index 40d54dc85ab..4dbb589aab8 100644
--- a/arch/arm/include/asm/armv8/cpu.h
+++ b/arch/arm/include/asm/armv8/cpu.h
@@ -3,11 +3,13 @@
* Copyright 2018 NXP
*/
-#define MIDR_PARTNUM_CORTEX_A35 0xD04
-#define MIDR_PARTNUM_CORTEX_A53 0xD03
-#define MIDR_PARTNUM_CORTEX_A72 0xD08
-#define MIDR_PARTNUM_SHIFT 0x4
-#define MIDR_PARTNUM_MASK (0xFFF << 0x4)
+#define MIDR_PARTNUM_CORTEX_A35 0xD04
+#define MIDR_PARTNUM_CORTEX_A53 0xD03
+#define MIDR_PARTNUM_CORTEX_A57 0xD07
+#define MIDR_PARTNUM_CORTEX_A72 0xD08
+#define MIDR_PARTNUM_CORTEX_A76 0xD0B
+#define MIDR_PARTNUM_SHIFT 0x4
+#define MIDR_PARTNUM_MASK (0xFFF << MIDR_PARTNUM_SHIFT)
static inline unsigned int read_midr(void)
{
@@ -18,9 +20,17 @@ static inline unsigned int read_midr(void)
return val;
}
-#define is_cortex_a35() (((read_midr() & MIDR_PARTNUM_MASK) >> \
- MIDR_PARTNUM_SHIFT) == MIDR_PARTNUM_CORTEX_A35)
-#define is_cortex_a53() (((read_midr() & MIDR_PARTNUM_MASK) >> \
- MIDR_PARTNUM_SHIFT) == MIDR_PARTNUM_CORTEX_A53)
-#define is_cortex_a72() (((read_midr() & MIDR_PARTNUM_MASK) >>\
- MIDR_PARTNUM_SHIFT) == MIDR_PARTNUM_CORTEX_A72)
+#define is_cortex_a(__n) \
+ static inline int is_cortex_a##__n(void) \
+ { \
+ unsigned int midr = read_midr(); \
+ midr &= MIDR_PARTNUM_MASK; \
+ midr >>= MIDR_PARTNUM_SHIFT; \
+ return midr == MIDR_PARTNUM_CORTEX_A##__n; \
+ }
+
+is_cortex_a(35)
+is_cortex_a(53)
+is_cortex_a(57)
+is_cortex_a(72)
+is_cortex_a(76)