diff --git a/arch/arm/cpu/arm1136/mx31/generic.c b/arch/arm/cpu/arm1136/mx31/generic.c
index 060d46b82ca02b1bef8b779ab30fa308da421c9b..fe966702fa30ba8feb23cd26c54bc72b85f2fe4b 100644
--- a/arch/arm/cpu/arm1136/mx31/generic.c
+++ b/arch/arm/cpu/arm1136/mx31/generic.c
@@ -175,7 +175,7 @@ u32 get_cpu_rev(void)
 
 	for (i = 0; i < ARRAY_SIZE(mx31_cpu_type); i++)
 		if (srev == mx31_cpu_type[i].srev)
-			return mx31_cpu_type[i].v;
+			return mx31_cpu_type[i].v | (MXC_CPU_MX31 << 12);
 
 	return srev | 0x8000;
 }
diff --git a/arch/arm/include/asm/arch-mx31/sys_proto.h b/arch/arm/include/asm/arch-mx31/sys_proto.h
index b0dfcba586c4f9b89dc88c0406565fb612679deb..162644284a2af7bb72504cb35be6cdb473f6c6fb 100644
--- a/arch/arm/include/asm/arch-mx31/sys_proto.h
+++ b/arch/arm/include/asm/arch-mx31/sys_proto.h
@@ -8,6 +8,8 @@
 #ifndef _SYS_PROTO_H_
 #define _SYS_PROTO_H_
 
+#include "../arch-imx/cpu.h"
+
 struct mxc_weimcs {
 	u32 upper;
 	u32 lower;