summaryrefslogtreecommitdiffstats
path: root/recipes/linux/linux-2.6.32/ep93xx/ep93xx-cpuinfo.patch
blob: 5409bf72db5b0d1d76ef92d5e588cbbb72aba6d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
---
 arch/arm/kernel/setup.c |   12 ++++++++++++
 1 file changed, 12 insertions(+)

--- linux-2.6.32.orig/arch/arm/kernel/setup.c
+++ linux-2.6.32/arch/arm/kernel/setup.c
@@ -41,10 +41,15 @@
 #include <asm/mach/irq.h>
 #include <asm/mach/time.h>
 #include <asm/traps.h>
 #include <asm/unwind.h>
 
+#if defined(CONFIG_ARCH_EP93XX)
+#include <mach/io.h>
+#include <mach/ep93xx-regs.h>
+#endif
+
 #include "compat.h"
 #include "atags.h"
 #include "tcm.h"
 
 #ifndef MEM_SIZE
@@ -858,13 +863,20 @@ static int c_show(struct seq_file *m, vo
 	seq_printf(m, "CPU revision\t: %d\n", read_cpuid_id() & 15);
 
 	seq_puts(m, "\n");
 
 	seq_printf(m, "Hardware\t: %s\n", machine_name);
+#if defined(CONFIG_ARCH_EP93XX)
+	seq_printf(m, "Revision\t: %04x\n",
+	     *((unsigned int *)EP93XX_SYSCON_CHIP_ID) >> 28);
+	seq_printf(m, "Serial\t\t: %016x\n",
+	     *((unsigned int *)EP93XX_SECURITY_UNIQID));
+#else
 	seq_printf(m, "Revision\t: %04x\n", system_rev);
 	seq_printf(m, "Serial\t\t: %08x%08x\n",
 		   system_serial_high, system_serial_low);
+#endif
 
 	return 0;
 }
 
 static void *c_start(struct seq_file *m, loff_t *pos)