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 411a4a9cbfc7..c7e0b8a65c4a 100644 --- a/arch/arm/mach-s5pv210/cpu.c +++ b/arch/arm/mach-s5pv210/cpu.c | |||
@@ -32,8 +32,13 @@ | |||
32 | #include <plat/devs.h> | 32 | #include <plat/devs.h> |
33 | #include <plat/clock.h> | 33 | #include <plat/clock.h> |
34 | #include <plat/s5pv210.h> | 34 | #include <plat/s5pv210.h> |
35 | #include <plat/adc-core.h> | ||
36 | #include <plat/ata-core.h> | ||
37 | #include <plat/fimc-core.h> | ||
35 | #include <plat/iic-core.h> | 38 | #include <plat/iic-core.h> |
39 | #include <plat/keypad-core.h> | ||
36 | #include <plat/sdhci.h> | 40 | #include <plat/sdhci.h> |
41 | #include <plat/reset.h> | ||
37 | 42 | ||
38 | /* Initial IO mappings */ | 43 | /* Initial IO mappings */ |
39 | 44 | ||
@@ -69,6 +74,11 @@ static void s5pv210_idle(void) | |||
69 | local_irq_enable(); | 74 | local_irq_enable(); |
70 | } | 75 | } |
71 | 76 | ||
77 | static void s5pv210_sw_reset(void) | ||
78 | { | ||
79 | __raw_writel(0x1, S5P_SWRESET); | ||
80 | } | ||
81 | |||
72 | /* s5pv210_map_io | 82 | /* s5pv210_map_io |
73 | * | 83 | * |
74 | * register the standard cpu IO areas | 84 | * register the standard cpu IO areas |
@@ -76,21 +86,29 @@ static void s5pv210_idle(void) | |||
76 | 86 | ||
77 | void __init s5pv210_map_io(void) | 87 | void __init s5pv210_map_io(void) |
78 | { | 88 | { |
79 | #ifdef CONFIG_S3C_DEV_ADC | ||
80 | s3c_device_adc.name = "s3c64xx-adc"; | ||
81 | #endif | ||
82 | |||
83 | iotable_init(s5pv210_iodesc, ARRAY_SIZE(s5pv210_iodesc)); | 89 | iotable_init(s5pv210_iodesc, ARRAY_SIZE(s5pv210_iodesc)); |
84 | 90 | ||
85 | /* initialise device information early */ | 91 | /* initialise device information early */ |
86 | s5pv210_default_sdhci0(); | 92 | s5pv210_default_sdhci0(); |
87 | s5pv210_default_sdhci1(); | 93 | s5pv210_default_sdhci1(); |
88 | s5pv210_default_sdhci2(); | 94 | s5pv210_default_sdhci2(); |
95 | s5pv210_default_sdhci3(); | ||
96 | |||
97 | s3c_adc_setname("s3c64xx-adc"); | ||
98 | |||
99 | s3c_cfcon_setname("s5pv210-pata"); | ||
100 | |||
101 | s3c_fimc_setname(0, "s5pv210-fimc"); | ||
102 | s3c_fimc_setname(1, "s5pv210-fimc"); | ||
103 | s3c_fimc_setname(2, "s5pv210-fimc"); | ||
89 | 104 | ||
90 | /* the i2c devices are directly compatible with s3c2440 */ | 105 | /* the i2c devices are directly compatible with s3c2440 */ |
91 | s3c_i2c0_setname("s3c2440-i2c"); | 106 | s3c_i2c0_setname("s3c2440-i2c"); |
92 | s3c_i2c1_setname("s3c2440-i2c"); | 107 | s3c_i2c1_setname("s3c2440-i2c"); |
93 | s3c_i2c2_setname("s3c2440-i2c"); | 108 | s3c_i2c2_setname("s3c2440-i2c"); |
109 | |||
110 | /* Use s5pv210-keypad instead of samsung-keypad */ | ||
111 | samsung_keypad_setname("s5pv210-keypad"); | ||
94 | } | 112 | } |
95 | 113 | ||
96 | void __init s5pv210_init_clocks(int xtal) | 114 | void __init s5pv210_init_clocks(int xtal) |
@@ -138,5 +156,8 @@ int __init s5pv210_init(void) | |||
138 | /* set idle function */ | 156 | /* set idle function */ |
139 | pm_idle = s5pv210_idle; | 157 | pm_idle = s5pv210_idle; |
140 | 158 | ||
159 | /* set sw_reset function */ | ||
160 | s5p_reset_hook = s5pv210_sw_reset; | ||
161 | |||
141 | return sysdev_register(&s5pv210_sysdev); | 162 | return sysdev_register(&s5pv210_sysdev); |
142 | } | 163 | } |