diff options
Diffstat (limited to 'include/asm-arm/arch-s3c2410/uncompress.h')
-rw-r--r-- | include/asm-arm/arch-s3c2410/uncompress.h | 11 |
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 | ||
28 | static 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 | |||
28 | static void arch_detect_cpu(void) | 37 | static 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; |