diff options
-rw-r--r-- | arch/arm/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/s3c2410.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/s3c244x.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/common.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-s5p64x0/common.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-s5pc100/common.c | 3 |
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 | |||
81 | config CPU_S3C244X | 82 | config 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 | ||
85 | config CPU_S3C2443 | 87 | config 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 | ||
143 | struct bus_type s3c2410_subsys = { | 144 | struct 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 | ||
184 | void __init s3c64xx_init_irq(u32 vic0_valid, u32 vic1_valid) | 184 | void __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); | |||
378 | void s3c64xx_restart(char mode, const char *cmd) | 384 | void 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 | ||
178 | void __init s5p6440_map_io(void) | 180 | void __init s5p6440_map_io(void) |
@@ -440,7 +442,7 @@ arch_initcall(s5p64x0_init_irq_eint); | |||
440 | void s5p64x0_restart(char mode, const char *cmd) | 442 | void 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 | ||
183 | void __init s5pc100_init_irq(void) | 184 | void __init s5pc100_init_irq(void) |
@@ -219,7 +220,7 @@ void __init s5pc100_init_uarts(struct s3c2410_uartcfg *cfg, int no) | |||
219 | void s5pc100_restart(char mode, const char *cmd) | 220 | void 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 | } |