diff options
author | Kukjin Kim <kgene.kim@samsung.com> | 2011-10-04 07:14:11 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2011-10-04 07:14:11 -0400 |
commit | c9477f38cba225870862fd9e08868ae3d4abdfe0 (patch) | |
tree | 01c7575a1e8e3197d072890f48944f1232a885c6 /arch/arm/plat-s5p/cpu.c | |
parent | c37b25046289e857918d25fd96aa441ea7929ad5 (diff) | |
parent | 2520123382e97271e932377c83bca010c265be55 (diff) |
Merge branch 'next-samsung-board' into next-samsung-devel-2
Diffstat (limited to 'arch/arm/plat-s5p/cpu.c')
-rw-r--r-- | arch/arm/plat-s5p/cpu.c | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/arch/arm/plat-s5p/cpu.c b/arch/arm/plat-s5p/cpu.c index bbc2aa7449ca..909507bae2fa 100644 --- a/arch/arm/plat-s5p/cpu.c +++ b/arch/arm/plat-s5p/cpu.c | |||
@@ -33,48 +33,57 @@ static const char name_s5p6450[] = "S5P6450"; | |||
33 | static const char name_s5pc100[] = "S5PC100"; | 33 | static const char name_s5pc100[] = "S5PC100"; |
34 | static const char name_s5pv210[] = "S5PV210/S5PC110"; | 34 | static const char name_s5pv210[] = "S5PV210/S5PC110"; |
35 | static const char name_exynos4210[] = "EXYNOS4210"; | 35 | static const char name_exynos4210[] = "EXYNOS4210"; |
36 | static const char name_exynos4212[] = "EXYNOS4212"; | ||
36 | 37 | ||
37 | static struct cpu_table cpu_ids[] __initdata = { | 38 | static struct cpu_table cpu_ids[] __initdata = { |
38 | { | 39 | { |
39 | .idcode = 0x56440100, | 40 | .idcode = S5P6440_CPU_ID, |
40 | .idmask = 0xfffff000, | 41 | .idmask = S5P64XX_CPU_MASK, |
41 | .map_io = s5p6440_map_io, | 42 | .map_io = s5p6440_map_io, |
42 | .init_clocks = s5p6440_init_clocks, | 43 | .init_clocks = s5p6440_init_clocks, |
43 | .init_uarts = s5p6440_init_uarts, | 44 | .init_uarts = s5p6440_init_uarts, |
44 | .init = s5p64x0_init, | 45 | .init = s5p64x0_init, |
45 | .name = name_s5p6440, | 46 | .name = name_s5p6440, |
46 | }, { | 47 | }, { |
47 | .idcode = 0x36450000, | 48 | .idcode = S5P6450_CPU_ID, |
48 | .idmask = 0xfffff000, | 49 | .idmask = S5P64XX_CPU_MASK, |
49 | .map_io = s5p6450_map_io, | 50 | .map_io = s5p6450_map_io, |
50 | .init_clocks = s5p6450_init_clocks, | 51 | .init_clocks = s5p6450_init_clocks, |
51 | .init_uarts = s5p6450_init_uarts, | 52 | .init_uarts = s5p6450_init_uarts, |
52 | .init = s5p64x0_init, | 53 | .init = s5p64x0_init, |
53 | .name = name_s5p6450, | 54 | .name = name_s5p6450, |
54 | }, { | 55 | }, { |
55 | .idcode = 0x43100000, | 56 | .idcode = S5PC100_CPU_ID, |
56 | .idmask = 0xfffff000, | 57 | .idmask = S5PC100_CPU_MASK, |
57 | .map_io = s5pc100_map_io, | 58 | .map_io = s5pc100_map_io, |
58 | .init_clocks = s5pc100_init_clocks, | 59 | .init_clocks = s5pc100_init_clocks, |
59 | .init_uarts = s5pc100_init_uarts, | 60 | .init_uarts = s5pc100_init_uarts, |
60 | .init = s5pc100_init, | 61 | .init = s5pc100_init, |
61 | .name = name_s5pc100, | 62 | .name = name_s5pc100, |
62 | }, { | 63 | }, { |
63 | .idcode = 0x43110000, | 64 | .idcode = S5PV210_CPU_ID, |
64 | .idmask = 0xfffff000, | 65 | .idmask = S5PV210_CPU_MASK, |
65 | .map_io = s5pv210_map_io, | 66 | .map_io = s5pv210_map_io, |
66 | .init_clocks = s5pv210_init_clocks, | 67 | .init_clocks = s5pv210_init_clocks, |
67 | .init_uarts = s5pv210_init_uarts, | 68 | .init_uarts = s5pv210_init_uarts, |
68 | .init = s5pv210_init, | 69 | .init = s5pv210_init, |
69 | .name = name_s5pv210, | 70 | .name = name_s5pv210, |
70 | }, { | 71 | }, { |
71 | .idcode = 0x43210000, | 72 | .idcode = EXYNOS4210_CPU_ID, |
72 | .idmask = 0xfffe0000, | 73 | .idmask = EXYNOS4_CPU_MASK, |
73 | .map_io = exynos4_map_io, | 74 | .map_io = exynos4_map_io, |
74 | .init_clocks = exynos4_init_clocks, | 75 | .init_clocks = exynos4_init_clocks, |
75 | .init_uarts = exynos4_init_uarts, | 76 | .init_uarts = exynos4_init_uarts, |
76 | .init = exynos4_init, | 77 | .init = exynos4_init, |
77 | .name = name_exynos4210, | 78 | .name = name_exynos4210, |
79 | }, { | ||
80 | .idcode = EXYNOS4212_CPU_ID, | ||
81 | .idmask = EXYNOS4_CPU_MASK, | ||
82 | .map_io = exynos4_map_io, | ||
83 | .init_clocks = exynos4_init_clocks, | ||
84 | .init_uarts = exynos4_init_uarts, | ||
85 | .init = exynos4_init, | ||
86 | .name = name_exynos4212, | ||
78 | }, | 87 | }, |
79 | }; | 88 | }; |
80 | 89 | ||
@@ -114,13 +123,13 @@ static struct map_desc s5p_iodesc[] __initdata = { | |||
114 | void __init s5p_init_io(struct map_desc *mach_desc, | 123 | void __init s5p_init_io(struct map_desc *mach_desc, |
115 | int size, void __iomem *cpuid_addr) | 124 | int size, void __iomem *cpuid_addr) |
116 | { | 125 | { |
117 | unsigned long idcode; | ||
118 | |||
119 | /* initialize the io descriptors we need for initialization */ | 126 | /* initialize the io descriptors we need for initialization */ |
120 | iotable_init(s5p_iodesc, ARRAY_SIZE(s5p_iodesc)); | 127 | iotable_init(s5p_iodesc, ARRAY_SIZE(s5p_iodesc)); |
121 | if (mach_desc) | 128 | if (mach_desc) |
122 | iotable_init(mach_desc, size); | 129 | iotable_init(mach_desc, size); |
123 | 130 | ||
124 | idcode = __raw_readl(cpuid_addr); | 131 | /* detect cpu id and rev. */ |
125 | s3c_init_cpu(idcode, cpu_ids, ARRAY_SIZE(cpu_ids)); | 132 | s5p_init_cpu(cpuid_addr); |
133 | |||
134 | s3c_init_cpu(samsung_cpu_id, cpu_ids, ARRAY_SIZE(cpu_ids)); | ||
126 | } | 135 | } |