Forráskód Böngészése

[ARM] S3C64XX: Add S3C6400 CPU detection.

Add detection support for the S3C6400 SoC which has it's
id register in a different place to the S3C6410.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks 16 éve
szülő
commit
e074f98032
1 módosított fájl, 8 hozzáadás és 0 törlés
  1. 8 0
      arch/arm/plat-s3c64xx/cpu.c

+ 8 - 0
arch/arm/plat-s3c64xx/cpu.c

@@ -126,6 +126,14 @@ void __init s3c64xx_init_io(struct map_desc *mach_desc, int size)
 	iotable_init(mach_desc, size);
 
 	idcode = __raw_readl(S3C_VA_SYS + 0x118);
+	if (!idcode) {
+		/* S3C6400 has the ID register in a different place,
+		 * and needs a write before it can be read. */
+
+		__raw_writel(0x0, S3C_VA_SYS + 0xA1C);
+		idcode = __raw_readl(S3C_VA_SYS + 0xA1C);
+	}
+
 	s3c_init_cpu(idcode, cpu_ids, ARRAY_SIZE(cpu_ids));
 }