aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/asm-arm/arch-s3c2410/uncompress.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/asm-arm/arch-s3c2410/uncompress.h b/include/asm-arm/arch-s3c2410/uncompress.h
index 22328b70ba5d..7058382a6405 100644
--- a/include/asm-arm/arch-s3c2410/uncompress.h
+++ b/include/asm-arm/arch-s3c2410/uncompress.h
@@ -25,6 +25,15 @@
25/* how many bytes we allow into the FIFO at a time in FIFO mode */ 25/* how many bytes we allow into the FIFO at a time in FIFO mode */
26#define FIFO_MAX (14) 26#define FIFO_MAX (14)
27 27
28static inline int is_arm926(void)
29{
30 unsigned int cpuid;
31
32 asm volatile ("mrc p15, 0, %0, c1, c0, 0" : "=r" (cpuid));
33
34 return ((cpuid & 0xff0) == 0x260);
35}
36
28static void arch_detect_cpu(void) 37static void arch_detect_cpu(void)
29{ 38{
30 unsigned int cpuid; 39 unsigned int cpuid;
@@ -32,7 +41,7 @@ static void arch_detect_cpu(void)
32 cpuid = *((volatile unsigned int *)S3C2410_GSTATUS1); 41 cpuid = *((volatile unsigned int *)S3C2410_GSTATUS1);
33 cpuid &= S3C2410_GSTATUS1_IDMASK; 42 cpuid &= S3C2410_GSTATUS1_IDMASK;
34 43
35 if (cpuid == S3C2410_GSTATUS1_2440 || 44 if (is_arm926() || cpuid == S3C2410_GSTATUS1_2440 ||
36 cpuid == S3C2410_GSTATUS1_2442) { 45 cpuid == S3C2410_GSTATUS1_2442) {
37 fifo_mask = S3C2440_UFSTAT_TXMASK; 46 fifo_mask = S3C2440_UFSTAT_TXMASK;
38 fifo_max = 63 << S3C2440_UFSTAT_TXSHIFT; 47 fifo_max = 63 << S3C2440_UFSTAT_TXSHIFT;