aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s5pv210/cpu.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-08-11 12:13:19 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-08-11 12:13:19 -0400
commit636d17427b1ef0e97bd9df9b3b0e0f314ff889d3 (patch)
treef573602c1a78e9140c36e220c47675b79af1c270 /arch/arm/mach-s5pv210/cpu.c
parentdd21e9bdff14a9882f2c485fe533c6ce64ea2675 (diff)
parent0b019a41553a919965bb02d07d54e3e6c57a796d (diff)
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (226 commits) ARM: 6323/1: cam60: don't use __init for cam60_spi_{flash_platform_data,partitions} ARM: 6324/1: cam60: move cam60_spi_devices to .init.data ARM: 6322/1: imx/pca100: Fix name of spi platform data ARM: 6321/1: fix syntax error in main Kconfig file ARM: 6297/1: move U300 timer to dynamic clock lookup ARM: 6296/1: clock U300 intcon and timer properly ARM: 6295/1: fix U300 apb_pclk split ARM: 6306/1: fix inverted MMC card detect in U300 ARM: 6299/1: errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID ARM: 6294/1: etm: do a dummy read from OSSRR during initialization ARM: 6292/1: coresight: add ETM management registers ARM: 6288/1: ftrace: document mcount formats ARM: 6287/1: ftrace: clean up mcount assembly indentation ARM: 6286/1: fix Thumb-2 decompressor broken by "Auto calculate ZRELADDR" ARM: 6281/1: video/imxfb.c: allow usage without BACKLIGHT_CLASS_DEVICE ARM: 6280/1: imx: Fix build failure when including <mach/gpio.h> without <linux/spinlock.h> ARM: S5PV210: Fix on missing s3c-sdhci card detection method for hsmmc3 ARM: S5P: Fix on missing S5P_DEV_FIMC in plat-s5p/Kconfig ARM: S5PV210: Override FIMC driver name on Aquila board ARM: S5PC100: enable FIMC on SMDKC100 ... Fix up conflicts in arch/arm/mach-{s5pc100,s5pv210}/cpu.c due to different subsystem 'setname' calls, and trivial port types in include/linux/serial_core.h
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}