diff --git a/[refs] b/[refs] index 29f19821c7c2..10c06c25fa2f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a14a26aca610bbd09fb62fb9fd5dbf6b41321972 +refs/heads/master: 5c49218a15188cc036364c4cda325bae3cb138ae diff --git a/trunk/include/asm-arm/arch-s3c2410/uncompress.h b/trunk/include/asm-arm/arch-s3c2410/uncompress.h index 22328b70ba5d..7058382a6405 100644 --- a/trunk/include/asm-arm/arch-s3c2410/uncompress.h +++ b/trunk/include/asm-arm/arch-s3c2410/uncompress.h @@ -25,6 +25,15 @@ /* how many bytes we allow into the FIFO at a time in FIFO mode */ #define FIFO_MAX (14) +static inline int is_arm926(void) +{ + unsigned int cpuid; + + asm volatile ("mrc p15, 0, %0, c1, c0, 0" : "=r" (cpuid)); + + return ((cpuid & 0xff0) == 0x260); +} + static void arch_detect_cpu(void) { unsigned int cpuid; @@ -32,7 +41,7 @@ static void arch_detect_cpu(void) cpuid = *((volatile unsigned int *)S3C2410_GSTATUS1); cpuid &= S3C2410_GSTATUS1_IDMASK; - if (cpuid == S3C2410_GSTATUS1_2440 || + if (is_arm926() || cpuid == S3C2410_GSTATUS1_2440 || cpuid == S3C2410_GSTATUS1_2442) { fifo_mask = S3C2440_UFSTAT_TXMASK; fifo_max = 63 << S3C2440_UFSTAT_TXSHIFT;