aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/Kconfig3
-rw-r--r--arch/arm/mach-s3c24xx/Kconfig2
-rw-r--r--arch/arm/mach-s3c24xx/s3c2410.c3
-rw-r--r--arch/arm/mach-s3c24xx/s3c244x.c3
-rw-r--r--arch/arm/mach-s3c64xx/common.c8
-rw-r--r--arch/arm/mach-s5p64x0/common.c4
-rw-r--r--arch/arm/mach-s5pc100/common.c3
7 files changed, 21 insertions, 5 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 49d993cee512..40f63f4e9e54 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -729,6 +729,7 @@ config ARCH_S3C64XX
729 select SAMSUNG_CLKSRC 729 select SAMSUNG_CLKSRC
730 select SAMSUNG_GPIOLIB_4BIT 730 select SAMSUNG_GPIOLIB_4BIT
731 select SAMSUNG_IRQ_VIC_TIMER 731 select SAMSUNG_IRQ_VIC_TIMER
732 select SAMSUNG_WDT_RESET
732 select USB_ARCH_HAS_OHCI 733 select USB_ARCH_HAS_OHCI
733 help 734 help
734 Samsung S3C64XX series based systems 735 Samsung S3C64XX series based systems
@@ -744,6 +745,7 @@ config ARCH_S5P64X0
744 select HAVE_S3C2410_WATCHDOG if WATCHDOG 745 select HAVE_S3C2410_WATCHDOG if WATCHDOG
745 select HAVE_S3C_RTC if RTC_CLASS 746 select HAVE_S3C_RTC if RTC_CLASS
746 select NEED_MACH_GPIO_H 747 select NEED_MACH_GPIO_H
748 select SAMSUNG_WDT_RESET
747 help 749 help
748 Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440, 750 Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
749 SMDK6450. 751 SMDK6450.
@@ -760,6 +762,7 @@ config ARCH_S5PC100
760 select HAVE_S3C2410_WATCHDOG if WATCHDOG 762 select HAVE_S3C2410_WATCHDOG if WATCHDOG
761 select HAVE_S3C_RTC if RTC_CLASS 763 select HAVE_S3C_RTC if RTC_CLASS
762 select NEED_MACH_GPIO_H 764 select NEED_MACH_GPIO_H
765 select SAMSUNG_WDT_RESET
763 help 766 help
764 Samsung S5PC100 series based systems 767 Samsung S5PC100 series based systems
765 768
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig
index f2f7088bfd22..f8d1912f103e 100644
--- a/arch/arm/mach-s3c24xx/Kconfig
+++ b/arch/arm/mach-s3c24xx/Kconfig
@@ -31,6 +31,7 @@ config CPU_S3C2410
31 select S3C2410_CPUFREQ if CPU_FREQ_S3C24XX 31 select S3C2410_CPUFREQ if CPU_FREQ_S3C24XX
32 select S3C2410_PM if PM 32 select S3C2410_PM if PM
33 select SAMSUNG_HRT 33 select SAMSUNG_HRT
34 select SAMSUNG_WDT_RESET
34 help 35 help
35 Support for S3C2410 and S3C2410A family from the S3C24XX line 36 Support for S3C2410 and S3C2410A family from the S3C24XX line
36 of Samsung Mobile CPUs. 37 of Samsung Mobile CPUs.
@@ -81,6 +82,7 @@ config CPU_S3C2442
81config CPU_S3C244X 82config CPU_S3C244X
82 def_bool y 83 def_bool y
83 depends on CPU_S3C2440 || CPU_S3C2442 84 depends on CPU_S3C2440 || CPU_S3C2442
85 select SAMSUNG_WDT_RESET
84 86
85config CPU_S3C2443 87config CPU_S3C2443
86 bool "SAMSUNG S3C2443" 88 bool "SAMSUNG S3C2443"
diff --git a/arch/arm/mach-s3c24xx/s3c2410.c b/arch/arm/mach-s3c24xx/s3c2410.c
index d850ea5adac2..ff384acc65b2 100644
--- a/arch/arm/mach-s3c24xx/s3c2410.c
+++ b/arch/arm/mach-s3c24xx/s3c2410.c
@@ -138,6 +138,7 @@ void __init s3c2410_init_clocks(int xtal)
138 s3c2410_baseclk_add(); 138 s3c2410_baseclk_add();
139 s3c24xx_register_clock(&s3c2410_armclk); 139 s3c24xx_register_clock(&s3c2410_armclk);
140 clkdev_add_table(s3c2410_clk_lookup, ARRAY_SIZE(s3c2410_clk_lookup)); 140 clkdev_add_table(s3c2410_clk_lookup, ARRAY_SIZE(s3c2410_clk_lookup));
141 samsung_wdt_reset_init(S3C24XX_VA_WATCHDOG);
141} 142}
142 143
143struct bus_type s3c2410_subsys = { 144struct bus_type s3c2410_subsys = {
@@ -201,7 +202,7 @@ void s3c2410_restart(char mode, const char *cmd)
201 soft_restart(0); 202 soft_restart(0);
202 } 203 }
203 204
204 arch_wdt_reset(); 205 samsung_wdt_reset();
205 206
206 /* we'll take a jump through zero as a poor second */ 207 /* we'll take a jump through zero as a poor second */
207 soft_restart(0); 208 soft_restart(0);
diff --git a/arch/arm/mach-s3c24xx/s3c244x.c b/arch/arm/mach-s3c24xx/s3c244x.c
index 2a35edb67354..d0423e2544c1 100644
--- a/arch/arm/mach-s3c24xx/s3c244x.c
+++ b/arch/arm/mach-s3c24xx/s3c244x.c
@@ -133,6 +133,7 @@ void __init s3c244x_init_clocks(int xtal)
133 s3c24xx_register_baseclocks(xtal); 133 s3c24xx_register_baseclocks(xtal);
134 s3c244x_setup_clocks(); 134 s3c244x_setup_clocks();
135 s3c2410_baseclk_add(); 135 s3c2410_baseclk_add();
136 samsung_wdt_reset_init(S3C24XX_VA_WATCHDOG);
136} 137}
137 138
138/* Since the S3C2442 and S3C2440 share items, put both subsystems here */ 139/* Since the S3C2442 and S3C2440 share items, put both subsystems here */
@@ -202,7 +203,7 @@ void s3c244x_restart(char mode, const char *cmd)
202 if (mode == 's') 203 if (mode == 's')
203 soft_restart(0); 204 soft_restart(0);
204 205
205 arch_wdt_reset(); 206 samsung_wdt_reset();
206 207
207 /* we'll take a jump through zero as a poor second */ 208 /* we'll take a jump through zero as a poor second */
208 soft_restart(0); 209 soft_restart(0);
diff --git a/arch/arm/mach-s3c64xx/common.c b/arch/arm/mach-s3c64xx/common.c
index 0b9c0ba44834..1aed6f4be1ce 100644
--- a/arch/arm/mach-s3c64xx/common.c
+++ b/arch/arm/mach-s3c64xx/common.c
@@ -183,6 +183,12 @@ core_initcall(s3c64xx_dev_init);
183 183
184void __init s3c64xx_init_irq(u32 vic0_valid, u32 vic1_valid) 184void __init s3c64xx_init_irq(u32 vic0_valid, u32 vic1_valid)
185{ 185{
186 /*
187 * FIXME: there is no better place to put this at the moment
188 * (samsung_wdt_reset_init needs clocks)
189 */
190 samsung_wdt_reset_init(S3C_VA_WATCHDOG);
191
186 printk(KERN_DEBUG "%s: initialising interrupts\n", __func__); 192 printk(KERN_DEBUG "%s: initialising interrupts\n", __func__);
187 193
188 /* initialise the pair of VICs */ 194 /* initialise the pair of VICs */
@@ -378,7 +384,7 @@ arch_initcall(s3c64xx_init_irq_eint);
378void s3c64xx_restart(char mode, const char *cmd) 384void s3c64xx_restart(char mode, const char *cmd)
379{ 385{
380 if (mode != 's') 386 if (mode != 's')
381 arch_wdt_reset(); 387 samsung_wdt_reset();
382 388
383 /* if all else fails, or mode was for soft, jump to 0 */ 389 /* if all else fails, or mode was for soft, jump to 0 */
384 soft_restart(0); 390 soft_restart(0);
diff --git a/arch/arm/mach-s5p64x0/common.c b/arch/arm/mach-s5p64x0/common.c
index 8ae5800e807f..76d0053bf564 100644
--- a/arch/arm/mach-s5p64x0/common.c
+++ b/arch/arm/mach-s5p64x0/common.c
@@ -173,6 +173,8 @@ void __init s5p64x0_init_io(struct map_desc *mach_desc, int size)
173 s5p_init_cpu(S5P64X0_SYS_ID); 173 s5p_init_cpu(S5P64X0_SYS_ID);
174 174
175 s3c_init_cpu(samsung_cpu_id, cpu_ids, ARRAY_SIZE(cpu_ids)); 175 s3c_init_cpu(samsung_cpu_id, cpu_ids, ARRAY_SIZE(cpu_ids));
176 samsung_wdt_reset_init(S3C_VA_WATCHDOG);
177
176} 178}
177 179
178void __init s5p6440_map_io(void) 180void __init s5p6440_map_io(void)
@@ -440,7 +442,7 @@ arch_initcall(s5p64x0_init_irq_eint);
440void s5p64x0_restart(char mode, const char *cmd) 442void s5p64x0_restart(char mode, const char *cmd)
441{ 443{
442 if (mode != 's') 444 if (mode != 's')
443 arch_wdt_reset(); 445 samsung_wdt_reset();
444 446
445 soft_restart(0); 447 soft_restart(0);
446} 448}
diff --git a/arch/arm/mach-s5pc100/common.c b/arch/arm/mach-s5pc100/common.c
index cc6e561c9958..511031564d35 100644
--- a/arch/arm/mach-s5pc100/common.c
+++ b/arch/arm/mach-s5pc100/common.c
@@ -178,6 +178,7 @@ void __init s5pc100_init_clocks(int xtal)
178 s5p_register_clocks(xtal); 178 s5p_register_clocks(xtal);
179 s5pc100_register_clocks(); 179 s5pc100_register_clocks();
180 s5pc100_setup_clocks(); 180 s5pc100_setup_clocks();
181 samsung_wdt_reset_init(S3C_VA_WATCHDOG);
181} 182}
182 183
183void __init s5pc100_init_irq(void) 184void __init s5pc100_init_irq(void)
@@ -219,7 +220,7 @@ void __init s5pc100_init_uarts(struct s3c2410_uartcfg *cfg, int no)
219void s5pc100_restart(char mode, const char *cmd) 220void s5pc100_restart(char mode, const char *cmd)
220{ 221{
221 if (mode != 's') 222 if (mode != 's')
222 arch_wdt_reset(); 223 samsung_wdt_reset();
223 224
224 soft_restart(0); 225 soft_restart(0);
225} 226}