diff options
author | Ben Dooks <ben-linux@fluff.org> | 2009-03-24 13:31:42 -0400 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2009-05-07 06:04:57 -0400 |
commit | e074f9803227236252c8e7be16d836d709abff57 (patch) | |
tree | 0d677cd105a4275752f99d8b95b0e3d5c88ab9dc /arch/arm/plat-s3c64xx | |
parent | a6925c1c515513e22b0419e1a41155c88d22b1f4 (diff) |
[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>
Diffstat (limited to 'arch/arm/plat-s3c64xx')
-rw-r--r-- | arch/arm/plat-s3c64xx/cpu.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/plat-s3c64xx/cpu.c b/arch/arm/plat-s3c64xx/cpu.c index f9fdaab32ab4..19f68b5f0d36 100644 --- a/arch/arm/plat-s3c64xx/cpu.c +++ b/arch/arm/plat-s3c64xx/cpu.c | |||
@@ -126,6 +126,14 @@ void __init s3c64xx_init_io(struct map_desc *mach_desc, int size) | |||
126 | iotable_init(mach_desc, size); | 126 | iotable_init(mach_desc, size); |
127 | 127 | ||
128 | idcode = __raw_readl(S3C_VA_SYS + 0x118); | 128 | idcode = __raw_readl(S3C_VA_SYS + 0x118); |
129 | if (!idcode) { | ||
130 | /* S3C6400 has the ID register in a different place, | ||
131 | * and needs a write before it can be read. */ | ||
132 | |||
133 | __raw_writel(0x0, S3C_VA_SYS + 0xA1C); | ||
134 | idcode = __raw_readl(S3C_VA_SYS + 0xA1C); | ||
135 | } | ||
136 | |||
129 | s3c_init_cpu(idcode, cpu_ids, ARRAY_SIZE(cpu_ids)); | 137 | s3c_init_cpu(idcode, cpu_ids, ARRAY_SIZE(cpu_ids)); |
130 | } | 138 | } |
131 | 139 | ||