|
@@ -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;
|