dm: wdt: Move s5p watchdog timer to drivers/watchdog/
authorMarek Vasut <marex@denx.de>
Sat, 21 Jul 2012 05:02:24 +0000 (05:02 +0000)
committerMinkyu Kang <mk7.kang@samsung.com>
Thu, 15 Nov 2012 12:08:19 +0000 (21:08 +0900)
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: David Müller <d.mueller@elsoft.ch>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: U-Boot DM <u-boot-dm@lists.denx.de>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
arch/arm/cpu/armv7/s5p-common/Makefile
arch/arm/cpu/armv7/s5p-common/wdt.c [deleted file]
drivers/watchdog/Makefile
drivers/watchdog/s5p_wdt.c [new file with mode: 0644]

index f975f3f06c9fbca7f1fe904eae34d5f57f2dde4a..17053995bd61aa21e26ee20b8917528b09400c41 100644 (file)
@@ -28,7 +28,6 @@ LIB   = $(obj)libs5p-common.o
 COBJS-y                += cpu_info.o
 COBJS-y                += timer.o
 COBJS-y                += sromc.o
-COBJS-y                += wdt.o
 COBJS-$(CONFIG_PWM)    += pwm.o
 
 SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
diff --git a/arch/arm/cpu/armv7/s5p-common/wdt.c b/arch/arm/cpu/armv7/s5p-common/wdt.c
deleted file mode 100644 (file)
index 94acc1e..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2012 Samsung Electronics
- * Minkyu Kang <mk7.kang@samsung.com>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <common.h>
-#include <asm/io.h>
-#include <asm/arch/watchdog.h>
-
-#define PRESCALER_VAL 255
-
-void wdt_stop(void)
-{
-       struct s5p_watchdog *wdt =
-               (struct s5p_watchdog *)samsung_get_base_watchdog();
-       unsigned int wtcon;
-
-       wtcon = readl(&wdt->wtcon);
-       wtcon &= ~(WTCON_EN | WTCON_INT | WTCON_RESET);
-
-       writel(wtcon, &wdt->wtcon);
-}
-
-void wdt_start(unsigned int timeout)
-{
-       struct s5p_watchdog *wdt =
-               (struct s5p_watchdog *)samsung_get_base_watchdog();
-       unsigned int wtcon;
-
-       wdt_stop();
-
-       wtcon = readl(&wdt->wtcon);
-       wtcon |= (WTCON_EN | WTCON_CLK(WTCON_CLK_128));
-       wtcon &= ~WTCON_INT;
-       wtcon |= WTCON_RESET;
-       wtcon |= WTCON_PRESCALER(PRESCALER_VAL);
-
-       writel(timeout, &wdt->wtdat);
-       writel(timeout, &wdt->wtcnt);
-       writel(wtcon, &wdt->wtcon);
-}
index 923acb9f3af40b8eb8329fbf146979d290102844..bc091239104afa042ec4516d32bdc9a51c139dac 100644 (file)
@@ -28,6 +28,7 @@ LIB   := $(obj)libwatchdog.o
 COBJS-$(CONFIG_AT91SAM9_WATCHDOG) += at91sam9_wdt.o
 COBJS-$(CONFIG_FTWDT010_WATCHDOG) += ftwdt010_wdt.o
 COBJS-$(CONFIG_TNETV107X_WATCHDOG) += tnetv107x_wdt.o
+COBJS-$(CONFIG_S5P)               += s5p_wdt.o
 
 COBJS  := $(COBJS-y)
 SRCS   := $(COBJS:.o=.c)
diff --git a/drivers/watchdog/s5p_wdt.c b/drivers/watchdog/s5p_wdt.c
new file mode 100644 (file)
index 0000000..94acc1e
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2012 Samsung Electronics
+ * Minkyu Kang <mk7.kang@samsung.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/arch/watchdog.h>
+
+#define PRESCALER_VAL 255
+
+void wdt_stop(void)
+{
+       struct s5p_watchdog *wdt =
+               (struct s5p_watchdog *)samsung_get_base_watchdog();
+       unsigned int wtcon;
+
+       wtcon = readl(&wdt->wtcon);
+       wtcon &= ~(WTCON_EN | WTCON_INT | WTCON_RESET);
+
+       writel(wtcon, &wdt->wtcon);
+}
+
+void wdt_start(unsigned int timeout)
+{
+       struct s5p_watchdog *wdt =
+               (struct s5p_watchdog *)samsung_get_base_watchdog();
+       unsigned int wtcon;
+
+       wdt_stop();
+
+       wtcon = readl(&wdt->wtcon);
+       wtcon |= (WTCON_EN | WTCON_CLK(WTCON_CLK_128));
+       wtcon &= ~WTCON_INT;
+       wtcon |= WTCON_RESET;
+       wtcon |= WTCON_PRESCALER(PRESCALER_VAL);
+
+       writel(timeout, &wdt->wtdat);
+       writel(timeout, &wdt->wtcnt);
+       writel(wtcon, &wdt->wtcon);
+}