aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s5pv210/cpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-s5pv210/cpu.c')
-rw-r--r--arch/arm/mach-s5pv210/cpu.c29
1 files changed, 25 insertions, 4 deletions
diff --git a/arch/arm/mach-s5pv210/cpu.c b/arch/arm/mach-s5pv210/cpu.c
index ffd8b17c363a..b9f4d677cf55 100644
--- a/arch/arm/mach-s5pv210/cpu.c
+++ b/arch/arm/mach-s5pv210/cpu.c
@@ -33,8 +33,13 @@
33#include <plat/clock.h> 33#include <plat/clock.h>
34#include <plat/fb-core.h> 34#include <plat/fb-core.h>
35#include <plat/s5pv210.h> 35#include <plat/s5pv210.h>
36#include <plat/adc-core.h>
37#include <plat/ata-core.h>
38#include <plat/fimc-core.h>
36#include <plat/iic-core.h> 39#include <plat/iic-core.h>
40#include <plat/keypad-core.h>
37#include <plat/sdhci.h> 41#include <plat/sdhci.h>
42#include <plat/reset.h>
38 43
39/* Initial IO mappings */ 44/* Initial IO mappings */
40 45
@@ -70,6 +75,11 @@ static void s5pv210_idle(void)
70 local_irq_enable(); 75 local_irq_enable();
71} 76}
72 77
78static void s5pv210_sw_reset(void)
79{
80 __raw_writel(0x1, S5P_SWRESET);
81}
82
73/* s5pv210_map_io 83/* s5pv210_map_io
74 * 84 *
75 * register the standard cpu IO areas 85 * register the standard cpu IO areas
@@ -77,16 +87,21 @@ static void s5pv210_idle(void)
77 87
78void __init s5pv210_map_io(void) 88void __init s5pv210_map_io(void)
79{ 89{
80#ifdef CONFIG_S3C_DEV_ADC
81 s3c_device_adc.name = "s3c64xx-adc";
82#endif
83
84 iotable_init(s5pv210_iodesc, ARRAY_SIZE(s5pv210_iodesc)); 90 iotable_init(s5pv210_iodesc, ARRAY_SIZE(s5pv210_iodesc));
85 91
86 /* initialise device information early */ 92 /* initialise device information early */
87 s5pv210_default_sdhci0(); 93 s5pv210_default_sdhci0();
88 s5pv210_default_sdhci1(); 94 s5pv210_default_sdhci1();
89 s5pv210_default_sdhci2(); 95 s5pv210_default_sdhci2();
96 s5pv210_default_sdhci3();
97
98 s3c_adc_setname("s3c64xx-adc");
99
100 s3c_cfcon_setname("s5pv210-pata");
101
102 s3c_fimc_setname(0, "s5pv210-fimc");
103 s3c_fimc_setname(1, "s5pv210-fimc");
104 s3c_fimc_setname(2, "s5pv210-fimc");
90 105
91 /* the i2c devices are directly compatible with s3c2440 */ 106 /* the i2c devices are directly compatible with s3c2440 */
92 s3c_i2c0_setname("s3c2440-i2c"); 107 s3c_i2c0_setname("s3c2440-i2c");
@@ -94,6 +109,9 @@ void __init s5pv210_map_io(void)
94 s3c_i2c2_setname("s3c2440-i2c"); 109 s3c_i2c2_setname("s3c2440-i2c");
95 110
96 s3c_fb_setname("s5pv210-fb"); 111 s3c_fb_setname("s5pv210-fb");
112
113 /* Use s5pv210-keypad instead of samsung-keypad */
114 samsung_keypad_setname("s5pv210-keypad");
97} 115}
98 116
99void __init s5pv210_init_clocks(int xtal) 117void __init s5pv210_init_clocks(int xtal)
@@ -141,5 +159,8 @@ int __init s5pv210_init(void)
141 /* set idle function */ 159 /* set idle function */
142 pm_idle = s5pv210_idle; 160 pm_idle = s5pv210_idle;
143 161
162 /* set sw_reset function */
163 s5p_reset_hook = s5pv210_sw_reset;
164
144 return sysdev_register(&s5pv210_sysdev); 165 return sysdev_register(&s5pv210_sysdev);
145} 166}