diff options
Diffstat (limited to 'arch/arm/mach-s5pv210/cpu.c')
-rw-r--r-- | arch/arm/mach-s5pv210/cpu.c | 29 |
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 | ||
78 | static 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 | ||
78 | void __init s5pv210_map_io(void) | 88 | void __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 | ||
99 | void __init s5pv210_init_clocks(int xtal) | 117 | void __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 | } |