aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2010-05-20 06:51:40 -0400
committerBen Dooks <ben-linux@fluff.org>2010-05-20 06:51:40 -0400
commit6aeaad51aaecc9ebc8c1e8f132655e2ae8141f8c (patch)
tree6bdfd633a261a0b434ad7060a3c2d1ee1d9b377d /arch
parenta2f7bffa29f18266bc7b55a2b47a5fa1274ed53f (diff)
parent5b7d7b22dc8469fbe1ca10b2adeabb70639bde01 (diff)
ARM: Merge for-2635-4/watchdog
Merge branch 'for-2635-4/watchdog' into for-2635-4/partial2 Conflicts: arch/arm/mach-s3c64xx/mach-smdk6410.c arch/arm/mach-s5p6440/Kconfig arch/arm/mach-s5p6440/include/mach/map.h arch/arm/mach-s5p6440/mach-smdk6440.c arch/arm/mach-s5pv210/Kconfig arch/arm/mach-s5pv210/include/mach/map.h arch/arm/mach-s5pv210/mach-smdkv210.c
Diffstat (limited to 'arch')
-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 091c98a639d..cd3983ad416 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 11d2353bc50..44a9def318f 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 9fdd50c8c76..c3e48cdfb99 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 d0c6e9bdc68..d9a03555f88 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 ef00cb716cb..f066fae07c5 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 d0124f39a98..44011b91fbd 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 f9948174ba4..8291fecc701 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 88f81ce2f88..96f4d9b7eab 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 6fb7bfdd232..3a44e1e5f12 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 6f9fd3274e2..4c8903c6d10 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 b92beb6831a..0d462794804 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 58583732b29..452e18438b4 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 b787d576d4b..47c8aa75e74 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 606ec8424c8..d73ee553b46 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 00000000000..5efca87cddb
--- /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);