summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bootstub.c7
-rw-r--r--bootstub.h4
2 files changed, 9 insertions, 2 deletions
diff --git a/bootstub.c b/bootstub.c
index 5e8fc1c..f53409f 100644
--- a/bootstub.c
+++ b/bootstub.c
@@ -159,10 +159,13 @@ int mrst_identify_cpu(void)
u32 regs[4];
cpuid(1, &regs[CR_EAX], &regs[CR_EBX], &regs[CR_ECX], &regs[CR_EDX]);
- if ((regs[CR_EAX] & PENWELL_FAMILY) == PENWELL_FAMILY)
+
+ if ((regs[CR_EAX] & CPUID_MASK) == PENWELL_FAMILY)
return MRST_CPU_CHIP_PENWELL;
- else if ((regs[CR_EAX] & CLOVERVIEW_FAMILY) == CLOVERVIEW_FAMILY)
+ else if ((regs[CR_EAX] & CPUID_MASK) == CLOVERVIEW_FAMILY)
return MRST_CPU_CHIP_CLOVERVIEW;
+ else if ((regs[CR_EAX] & CPUID_MASK) == VALLEYVIEW2_FAMILY)
+ return MRST_CPU_CHIP_VALLEYVIEW2;
return MRST_CPU_CHIP_LINCROFT;
}
diff --git a/bootstub.h b/bootstub.h
index cba655d..2e687bd 100644
--- a/bootstub.h
+++ b/bootstub.h
@@ -4,11 +4,15 @@
#ifndef _BOOT_STUB_HEAD
#define _BOOT_STUB_HEAD
+#define CPUID_MASK 0xffff0
#define PENWELL_FAMILY 0x20670
#define CLOVERVIEW_FAMILY 0x30650
+#define VALLEYVIEW2_FAMILY 0x30670
+
#define MRST_CPU_CHIP_LINCROFT 1
#define MRST_CPU_CHIP_PENWELL 2
#define MRST_CPU_CHIP_CLOVERVIEW 3
+#define MRST_CPU_CHIP_VALLEYVIEW2 4
#define CMDLINE_OFFSET 0x1100000
#define BZIMAGE_SIZE_OFFSET (CMDLINE_OFFSET + CMDLINE_SIZE)