aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-s3c2410/include/mach/map.h1
-rw-r--r--arch/arm/mach-s3c64xx/Kconfig2
-rw-r--r--arch/arm/mach-s3c64xx/include/mach/map.h1
-rw-r--r--arch/arm/mach-s3c64xx/mach-smdk6410.c1
-rw-r--r--arch/arm/mach-s5p6440/Kconfig2
-rw-r--r--arch/arm/mach-s5p6440/include/mach/map.h2
-rw-r--r--arch/arm/mach-s5p6440/mach-smdk6440.c1
-rw-r--r--arch/arm/mach-s5pv210/Kconfig4
-rw-r--r--arch/arm/mach-s5pv210/include/mach/map.h3
-rw-r--r--arch/arm/mach-s5pv210/mach-smdkc110.c1
-rw-r--r--arch/arm/mach-s5pv210/mach-smdkv210.c1
-rw-r--r--arch/arm/plat-s3c24xx/devs.c26
-rw-r--r--arch/arm/plat-samsung/Kconfig6
-rw-r--r--arch/arm/plat-samsung/Makefile1
-rw-r--r--arch/arm/plat-samsung/dev-wdt.c40
15 files changed, 66 insertions, 26 deletions
diff --git a/arch/arm/mach-s3c2410/include/mach/map.h b/arch/arm/mach-s3c2410/include/mach/map.h
index 091c98a639d9..cd3983ad4160 100644
--- a/arch/arm/mach-s3c2410/include/mach/map.h
+++ b/arch/arm/mach-s3c2410/include/mach/map.h
@@ -114,6 +114,7 @@
114#define S3C_PA_USBHOST S3C2410_PA_USBHOST 114#define S3C_PA_USBHOST S3C2410_PA_USBHOST
115#define S3C_PA_HSMMC0 S3C2443_PA_HSMMC 115#define S3C_PA_HSMMC0 S3C2443_PA_HSMMC
116#define S3C_PA_HSMMC1 S3C2416_PA_HSMMC0 116#define S3C_PA_HSMMC1 S3C2416_PA_HSMMC0
117#define S3C_PA_WDT S3C2410_PA_WATCHDOG
117#define S3C_PA_NAND S3C24XX_PA_NAND 118#define S3C_PA_NAND S3C24XX_PA_NAND
118 119
119#endif /* __ASM_ARCH_MAP_H */ 120#endif /* __ASM_ARCH_MAP_H */
diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
index 11d2353bc506..44a9def318fb 100644
--- a/arch/arm/mach-s3c64xx/Kconfig
+++ b/arch/arm/mach-s3c64xx/Kconfig
@@ -93,6 +93,8 @@ config MACH_SMDK6410
93 select SAMSUNG_DEV_TS 93 select SAMSUNG_DEV_TS
94 select S3C_DEV_USB_HOST 94 select S3C_DEV_USB_HOST
95 select S3C_DEV_USB_HSOTG 95 select S3C_DEV_USB_HSOTG
96 select S3C_DEV_WDT
97 select HAVE_S3C2410_WATCHDOG
96 select S3C64XX_SETUP_SDHCI 98 select S3C64XX_SETUP_SDHCI
97 select S3C64XX_SETUP_I2C1 99 select S3C64XX_SETUP_I2C1
98 select S3C64XX_SETUP_FB_24BPP 100 select S3C64XX_SETUP_FB_24BPP
diff --git a/arch/arm/mach-s3c64xx/include/mach/map.h b/arch/arm/mach-s3c64xx/include/mach/map.h
index 9fdd50c8c767..c3e48cdfb990 100644
--- a/arch/arm/mach-s3c64xx/include/mach/map.h
+++ b/arch/arm/mach-s3c64xx/include/mach/map.h
@@ -104,6 +104,7 @@
104#define S3C_PA_USB_HSOTG S3C64XX_PA_USB_HSOTG 104#define S3C_PA_USB_HSOTG S3C64XX_PA_USB_HSOTG
105#define S3C_VA_USB_HSPHY S3C64XX_VA_USB_HSPHY 105#define S3C_VA_USB_HSPHY S3C64XX_VA_USB_HSPHY
106#define S3C_PA_RTC S3C64XX_PA_RTC 106#define S3C_PA_RTC S3C64XX_PA_RTC
107#define S3C_PA_WDT S3C64XX_PA_WATCHDOG
107 108
108#define SAMSUNG_PA_ADC S3C64XX_PA_ADC 109#define SAMSUNG_PA_ADC S3C64XX_PA_ADC
109 110
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6410.c b/arch/arm/mach-s3c64xx/mach-smdk6410.c
index d0c6e9bdc686..d9a03555f88b 100644
--- a/arch/arm/mach-s3c64xx/mach-smdk6410.c
+++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c
@@ -266,6 +266,7 @@ static struct platform_device *smdk6410_devices[] __initdata = {
266 &smdk6410_smsc911x, 266 &smdk6410_smsc911x,
267 &s3c_device_adc, 267 &s3c_device_adc,
268 &s3c_device_ts, 268 &s3c_device_ts,
269 &s3c_device_wdt,
269}; 270};
270 271
271#ifdef CONFIG_REGULATOR 272#ifdef CONFIG_REGULATOR
diff --git a/arch/arm/mach-s5p6440/Kconfig b/arch/arm/mach-s5p6440/Kconfig
index ef00cb716cba..f066fae07c57 100644
--- a/arch/arm/mach-s5p6440/Kconfig
+++ b/arch/arm/mach-s5p6440/Kconfig
@@ -18,6 +18,8 @@ config MACH_SMDK6440
18 select CPU_S5P6440 18 select CPU_S5P6440
19 select SAMSUNG_DEV_TS 19 select SAMSUNG_DEV_TS
20 select SAMSUNG_DEV_ADC 20 select SAMSUNG_DEV_ADC
21 select S3C_DEV_WDT
22 select HAVE_S3C2410_WATCHDOG
21 help 23 help
22 Machine support for the Samsung SMDK6440 24 Machine support for the Samsung SMDK6440
23 25
diff --git a/arch/arm/mach-s5p6440/include/mach/map.h b/arch/arm/mach-s5p6440/include/mach/map.h
index d0124f39a988..44011b91fbd1 100644
--- a/arch/arm/mach-s5p6440/include/mach/map.h
+++ b/arch/arm/mach-s5p6440/include/mach/map.h
@@ -77,6 +77,8 @@
77/* compatibiltiy defines. */ 77/* compatibiltiy defines. */
78#define S3C_PA_UART S5P6440_PA_UART 78#define S3C_PA_UART S5P6440_PA_UART
79#define S3C_PA_IIC S5P6440_PA_IIC0 79#define S3C_PA_IIC S5P6440_PA_IIC0
80#define S3C_PA_WDT S5P6440_PA_WDT
81
80#define SAMSUNG_PA_ADC S5P6440_PA_ADC 82#define SAMSUNG_PA_ADC S5P6440_PA_ADC
81 83
82#endif /* __ASM_ARCH_MAP_H */ 84#endif /* __ASM_ARCH_MAP_H */
diff --git a/arch/arm/mach-s5p6440/mach-smdk6440.c b/arch/arm/mach-s5p6440/mach-smdk6440.c
index f9948174ba4e..8291fecc701a 100644
--- a/arch/arm/mach-s5p6440/mach-smdk6440.c
+++ b/arch/arm/mach-s5p6440/mach-smdk6440.c
@@ -89,6 +89,7 @@ static struct platform_device *smdk6440_devices[] __initdata = {
89 &s5p6440_device_iis, 89 &s5p6440_device_iis,
90 &s3c_device_adc, 90 &s3c_device_adc,
91 &s3c_device_ts, 91 &s3c_device_ts,
92 &s3c_device_wdt,
92}; 93};
93 94
94static struct s3c2410_ts_mach_info s3c_ts_platform __initdata = { 95static struct s3c2410_ts_mach_info s3c_ts_platform __initdata = {
diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig
index 88f81ce2f888..96f4d9b7eab4 100644
--- a/arch/arm/mach-s5pv210/Kconfig
+++ b/arch/arm/mach-s5pv210/Kconfig
@@ -68,6 +68,8 @@ config MACH_SMDKV210
68 select ARCH_SPARSEMEM_ENABLE 68 select ARCH_SPARSEMEM_ENABLE
69 select SAMSUNG_DEV_ADC 69 select SAMSUNG_DEV_ADC
70 select SAMSUNG_DEV_TS 70 select SAMSUNG_DEV_TS
71 select S3C_DEV_WDT
72 select HAVE_S3C2410_WATCHDOG
71 help 73 help
72 Machine support for Samsung SMDKV210 74 Machine support for Samsung SMDKV210
73 75
@@ -75,6 +77,8 @@ config MACH_SMDKC110
75 bool "SMDKC110" 77 bool "SMDKC110"
76 select CPU_S5PV210 78 select CPU_S5PV210
77 select ARCH_SPARSEMEM_ENABLE 79 select ARCH_SPARSEMEM_ENABLE
80 select S3C_DEV_WDT
81 select HAVE_S3C2410_WATCHDOG
78 help 82 help
79 Machine support for Samsung SMDKC110 83 Machine support for Samsung SMDKC110
80 S5PC110(MCP) is one of package option of S5PV210 84 S5PC110(MCP) is one of package option of S5PV210
diff --git a/arch/arm/mach-s5pv210/include/mach/map.h b/arch/arm/mach-s5pv210/include/mach/map.h
index 6fb7bfdd232a..3a44e1e5f126 100644
--- a/arch/arm/mach-s5pv210/include/mach/map.h
+++ b/arch/arm/mach-s5pv210/include/mach/map.h
@@ -38,6 +38,8 @@
38 38
39#define S5PV210_PA_SYSTIMER (0xE2600000) 39#define S5PV210_PA_SYSTIMER (0xE2600000)
40 40
41#define S5PV210_PA_WATCHDOG (0xE2700000)
42
41#define S5PV210_PA_UART (0xE2900000) 43#define S5PV210_PA_UART (0xE2900000)
42 44
43#define S5P_PA_UART0 (S5PV210_PA_UART + 0x0) 45#define S5P_PA_UART0 (S5PV210_PA_UART + 0x0)
@@ -96,6 +98,7 @@
96#define S3C_PA_IIC1 S5PV210_PA_IIC1 98#define S3C_PA_IIC1 S5PV210_PA_IIC1
97#define S3C_PA_IIC2 S5PV210_PA_IIC2 99#define S3C_PA_IIC2 S5PV210_PA_IIC2
98#define S3C_PA_FB S5PV210_PA_FB 100#define S3C_PA_FB S5PV210_PA_FB
101#define S3C_PA_WDT S5PV210_PA_WATCHDOG
99 102
100#define SAMSUNG_PA_ADC S5PV210_PA_ADC 103#define SAMSUNG_PA_ADC S5PV210_PA_ADC
101 104
diff --git a/arch/arm/mach-s5pv210/mach-smdkc110.c b/arch/arm/mach-s5pv210/mach-smdkc110.c
index 6f9fd3274e2e..4c8903c6d104 100644
--- a/arch/arm/mach-s5pv210/mach-smdkc110.c
+++ b/arch/arm/mach-s5pv210/mach-smdkc110.c
@@ -74,6 +74,7 @@ static struct s3c2410_uartcfg smdkv210_uartcfgs[] __initdata = {
74static struct platform_device *smdkc110_devices[] __initdata = { 74static struct platform_device *smdkc110_devices[] __initdata = {
75 &s5pv210_device_iis0, 75 &s5pv210_device_iis0,
76 &s5pv210_device_ac97, 76 &s5pv210_device_ac97,
77 &s3c_device_wdt,
77}; 78};
78 79
79static void __init smdkc110_map_io(void) 80static void __init smdkc110_map_io(void)
diff --git a/arch/arm/mach-s5pv210/mach-smdkv210.c b/arch/arm/mach-s5pv210/mach-smdkv210.c
index b92beb6831ae..0d4627948040 100644
--- a/arch/arm/mach-s5pv210/mach-smdkv210.c
+++ b/arch/arm/mach-s5pv210/mach-smdkv210.c
@@ -78,6 +78,7 @@ static struct platform_device *smdkv210_devices[] __initdata = {
78 &s5pv210_device_ac97, 78 &s5pv210_device_ac97,
79 &s3c_device_adc, 79 &s3c_device_adc,
80 &s3c_device_ts, 80 &s3c_device_ts,
81 &s3c_device_wdt,
81}; 82};
82 83
83static struct s3c2410_ts_mach_info s3c_ts_platform __initdata = { 84static struct s3c2410_ts_mach_info s3c_ts_platform __initdata = {
diff --git a/arch/arm/plat-s3c24xx/devs.c b/arch/arm/plat-s3c24xx/devs.c
index 58583732b29a..452e18438b41 100644
--- a/arch/arm/plat-s3c24xx/devs.c
+++ b/arch/arm/plat-s3c24xx/devs.c
@@ -234,32 +234,6 @@ void __init s3c24xx_udc_set_platdata(struct s3c2410_udc_mach_info *pd)
234 } 234 }
235} 235}
236 236
237
238/* Watchdog */
239
240static struct resource s3c_wdt_resource[] = {
241 [0] = {
242 .start = S3C24XX_PA_WATCHDOG,
243 .end = S3C24XX_PA_WATCHDOG + S3C24XX_SZ_WATCHDOG - 1,
244 .flags = IORESOURCE_MEM,
245 },
246 [1] = {
247 .start = IRQ_WDT,
248 .end = IRQ_WDT,
249 .flags = IORESOURCE_IRQ,
250 }
251
252};
253
254struct platform_device s3c_device_wdt = {
255 .name = "s3c2410-wdt",
256 .id = -1,
257 .num_resources = ARRAY_SIZE(s3c_wdt_resource),
258 .resource = s3c_wdt_resource,
259};
260
261EXPORT_SYMBOL(s3c_device_wdt);
262
263/* IIS */ 237/* IIS */
264 238
265static struct resource s3c_iis_resource[] = { 239static struct resource s3c_iis_resource[] = {
diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig
index b787d576d4b3..47c8aa75e747 100644
--- a/arch/arm/plat-samsung/Kconfig
+++ b/arch/arm/plat-samsung/Kconfig
@@ -190,6 +190,12 @@ config S3C_DEV_USB_HSOTG
190 help 190 help
191 Compile in platform device definition for USB high-speed OtG 191 Compile in platform device definition for USB high-speed OtG
192 192
193config S3C_DEV_WDT
194 bool
195 default y if ARCH_S3C2410
196 help
197 Complie in platform device definition for Watchdog Timer
198
193config S3C_DEV_NAND 199config S3C_DEV_NAND
194 bool 200 bool
195 help 201 help
diff --git a/arch/arm/plat-samsung/Makefile b/arch/arm/plat-samsung/Makefile
index 606ec8424c80..d73ee553b46e 100644
--- a/arch/arm/plat-samsung/Makefile
+++ b/arch/arm/plat-samsung/Makefile
@@ -41,6 +41,7 @@ obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o
41obj-y += dev-uart.o 41obj-y += dev-uart.o
42obj-$(CONFIG_S3C_DEV_USB_HOST) += dev-usb.o 42obj-$(CONFIG_S3C_DEV_USB_HOST) += dev-usb.o
43obj-$(CONFIG_S3C_DEV_USB_HSOTG) += dev-usb-hsotg.o 43obj-$(CONFIG_S3C_DEV_USB_HSOTG) += dev-usb-hsotg.o
44obj-$(CONFIG_S3C_DEV_WDT) += dev-wdt.o
44obj-$(CONFIG_S3C_DEV_NAND) += dev-nand.o 45obj-$(CONFIG_S3C_DEV_NAND) += dev-nand.o
45obj-$(CONFIG_S3C_DEV_RTC) += dev-rtc.o 46obj-$(CONFIG_S3C_DEV_RTC) += dev-rtc.o
46 47
diff --git a/arch/arm/plat-samsung/dev-wdt.c b/arch/arm/plat-samsung/dev-wdt.c
new file mode 100644
index 000000000000..5efca87cddbd
--- /dev/null
+++ b/arch/arm/plat-samsung/dev-wdt.c
@@ -0,0 +1,40 @@
1/* linux/arch/arm/plat-samsung/dev-wdt.c
2 *
3 * Copyright (c) 2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk>
5 *
6 * S3C series device definition for the watchdog timer
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11*/
12
13#include <linux/kernel.h>
14#include <linux/platform_device.h>
15
16#include <mach/irqs.h>
17#include <mach/map.h>
18
19#include <plat/devs.h>
20
21static struct resource s3c_wdt_resource[] = {
22 [0] = {
23 .start = S3C_PA_WDT,
24 .end = S3C_PA_WDT + SZ_1M - 1,
25 .flags = IORESOURCE_MEM,
26 },
27 [1] = {
28 .start = IRQ_WDT,
29 .end = IRQ_WDT,
30 .flags = IORESOURCE_IRQ,
31 }
32};
33
34struct platform_device s3c_device_wdt = {
35 .name = "s3c2410-wdt",
36 .id = -1,
37 .num_resources = ARRAY_SIZE(s3c_wdt_resource),
38 .resource = s3c_wdt_resource,
39};
40EXPORT_SYMBOL(s3c_device_wdt);