diff options
Diffstat (limited to 'arch/arm/mach-s3c64xx/cpu.c')
-rw-r--r-- | arch/arm/mach-s3c64xx/cpu.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/arch/arm/mach-s3c64xx/cpu.c b/arch/arm/mach-s3c64xx/cpu.c index 374e45e566b8..7b665f3e2e1f 100644 --- a/arch/arm/mach-s3c64xx/cpu.c +++ b/arch/arm/mach-s3c64xx/cpu.c | |||
@@ -43,16 +43,16 @@ static const char name_s3c6410[] = "S3C6410"; | |||
43 | 43 | ||
44 | static struct cpu_table cpu_ids[] __initdata = { | 44 | static struct cpu_table cpu_ids[] __initdata = { |
45 | { | 45 | { |
46 | .idcode = 0x36400000, | 46 | .idcode = S3C6400_CPU_ID, |
47 | .idmask = 0xfffff000, | 47 | .idmask = S3C64XX_CPU_MASK, |
48 | .map_io = s3c6400_map_io, | 48 | .map_io = s3c6400_map_io, |
49 | .init_clocks = s3c6400_init_clocks, | 49 | .init_clocks = s3c6400_init_clocks, |
50 | .init_uarts = s3c6400_init_uarts, | 50 | .init_uarts = s3c6400_init_uarts, |
51 | .init = s3c6400_init, | 51 | .init = s3c6400_init, |
52 | .name = name_s3c6400, | 52 | .name = name_s3c6400, |
53 | }, { | 53 | }, { |
54 | .idcode = 0x36410100, | 54 | .idcode = S3C6410_CPU_ID, |
55 | .idmask = 0xffffff00, | 55 | .idmask = S3C64XX_CPU_MASK, |
56 | .map_io = s3c6410_map_io, | 56 | .map_io = s3c6410_map_io, |
57 | .init_clocks = s3c6410_init_clocks, | 57 | .init_clocks = s3c6410_init_clocks, |
58 | .init_uarts = s3c6410_init_uarts, | 58 | .init_uarts = s3c6410_init_uarts, |
@@ -140,22 +140,20 @@ void __init s3c6400_common_init_uarts(struct s3c2410_uartcfg *cfg, int no) | |||
140 | 140 | ||
141 | void __init s3c64xx_init_io(struct map_desc *mach_desc, int size) | 141 | void __init s3c64xx_init_io(struct map_desc *mach_desc, int size) |
142 | { | 142 | { |
143 | unsigned long idcode; | ||
144 | |||
145 | /* initialise the io descriptors we need for initialisation */ | 143 | /* initialise the io descriptors we need for initialisation */ |
146 | iotable_init(s3c_iodesc, ARRAY_SIZE(s3c_iodesc)); | 144 | iotable_init(s3c_iodesc, ARRAY_SIZE(s3c_iodesc)); |
147 | iotable_init(mach_desc, size); | 145 | iotable_init(mach_desc, size); |
148 | 146 | ||
149 | idcode = __raw_readl(S3C_VA_SYS + 0x118); | 147 | samsung_cpu_id = __raw_readl(S3C_VA_SYS + 0x118); |
150 | if (!idcode) { | 148 | if (!samsung_cpu_id) { |
151 | /* S3C6400 has the ID register in a different place, | 149 | /* S3C6400 has the ID register in a different place, |
152 | * and needs a write before it can be read. */ | 150 | * and needs a write before it can be read. */ |
153 | 151 | ||
154 | __raw_writel(0x0, S3C_VA_SYS + 0xA1C); | 152 | __raw_writel(0x0, S3C_VA_SYS + 0xA1C); |
155 | idcode = __raw_readl(S3C_VA_SYS + 0xA1C); | 153 | samsung_cpu_id = __raw_readl(S3C_VA_SYS + 0xA1C); |
156 | } | 154 | } |
157 | 155 | ||
158 | s3c_init_cpu(idcode, cpu_ids, ARRAY_SIZE(cpu_ids)); | 156 | s3c_init_cpu(samsung_cpu_id, cpu_ids, ARRAY_SIZE(cpu_ids)); |
159 | } | 157 | } |
160 | 158 | ||
161 | static __init int s3c64xx_sysdev_init(void) | 159 | static __init int s3c64xx_sysdev_init(void) |