diff options
Diffstat (limited to 'arch/arm/mach-s5pv210/cpu.c')
| -rw-r--r-- | arch/arm/mach-s5pv210/cpu.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/arch/arm/mach-s5pv210/cpu.c b/arch/arm/mach-s5pv210/cpu.c index 411a4a9cbfc7..ede163707db1 100644 --- a/arch/arm/mach-s5pv210/cpu.c +++ b/arch/arm/mach-s5pv210/cpu.c | |||
| @@ -32,8 +32,11 @@ | |||
| 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/ata-core.h> | ||
| 35 | #include <plat/iic-core.h> | 36 | #include <plat/iic-core.h> |
| 37 | #include <plat/keypad-core.h> | ||
| 36 | #include <plat/sdhci.h> | 38 | #include <plat/sdhci.h> |
| 39 | #include <plat/reset.h> | ||
| 37 | 40 | ||
| 38 | /* Initial IO mappings */ | 41 | /* Initial IO mappings */ |
| 39 | 42 | ||
| @@ -69,6 +72,11 @@ static void s5pv210_idle(void) | |||
| 69 | local_irq_enable(); | 72 | local_irq_enable(); |
| 70 | } | 73 | } |
| 71 | 74 | ||
| 75 | static void s5pv210_sw_reset(void) | ||
| 76 | { | ||
| 77 | __raw_writel(0x1, S5P_SWRESET); | ||
| 78 | } | ||
| 79 | |||
| 72 | /* s5pv210_map_io | 80 | /* s5pv210_map_io |
| 73 | * | 81 | * |
| 74 | * register the standard cpu IO areas | 82 | * register the standard cpu IO areas |
| @@ -79,18 +87,23 @@ void __init s5pv210_map_io(void) | |||
| 79 | #ifdef CONFIG_S3C_DEV_ADC | 87 | #ifdef CONFIG_S3C_DEV_ADC |
| 80 | s3c_device_adc.name = "s3c64xx-adc"; | 88 | s3c_device_adc.name = "s3c64xx-adc"; |
| 81 | #endif | 89 | #endif |
| 82 | |||
| 83 | iotable_init(s5pv210_iodesc, ARRAY_SIZE(s5pv210_iodesc)); | 90 | iotable_init(s5pv210_iodesc, ARRAY_SIZE(s5pv210_iodesc)); |
| 84 | 91 | ||
| 85 | /* initialise device information early */ | 92 | /* initialise device information early */ |
| 86 | s5pv210_default_sdhci0(); | 93 | s5pv210_default_sdhci0(); |
| 87 | s5pv210_default_sdhci1(); | 94 | s5pv210_default_sdhci1(); |
| 88 | s5pv210_default_sdhci2(); | 95 | s5pv210_default_sdhci2(); |
| 96 | s5pv210_default_sdhci3(); | ||
| 97 | |||
| 98 | s3c_cfcon_setname("s5pv210-pata"); | ||
| 89 | 99 | ||
| 90 | /* the i2c devices are directly compatible with s3c2440 */ | 100 | /* the i2c devices are directly compatible with s3c2440 */ |
| 91 | s3c_i2c0_setname("s3c2440-i2c"); | 101 | s3c_i2c0_setname("s3c2440-i2c"); |
| 92 | s3c_i2c1_setname("s3c2440-i2c"); | 102 | s3c_i2c1_setname("s3c2440-i2c"); |
| 93 | s3c_i2c2_setname("s3c2440-i2c"); | 103 | s3c_i2c2_setname("s3c2440-i2c"); |
| 104 | |||
| 105 | /* Use s5pv210-keypad instead of samsung-keypad */ | ||
| 106 | samsung_keypad_setname("s5pv210-keypad"); | ||
| 94 | } | 107 | } |
| 95 | 108 | ||
| 96 | void __init s5pv210_init_clocks(int xtal) | 109 | void __init s5pv210_init_clocks(int xtal) |
| @@ -138,5 +151,8 @@ int __init s5pv210_init(void) | |||
| 138 | /* set idle function */ | 151 | /* set idle function */ |
| 139 | pm_idle = s5pv210_idle; | 152 | pm_idle = s5pv210_idle; |
| 140 | 153 | ||
| 154 | /* set sw_reset function */ | ||
| 155 | s5p_reset_hook = s5pv210_sw_reset; | ||
| 156 | |||
| 141 | return sysdev_register(&s5pv210_sysdev); | 157 | return sysdev_register(&s5pv210_sysdev); |
| 142 | } | 158 | } |
