[ARM] 4205/1: S3C2443: Add cpu specific reset hook
authorBen Dooks <ben-linux@fluff.org>
Thu, 15 Feb 2007 21:53:52 +0000 (22:53 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 16 Feb 2007 11:40:51 +0000 (11:40 +0000)
Hook in a cpu specific reset function for the S3C2443

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-s3c2443/s3c2443.c
include/asm-arm/arch-s3c2410/regs-s3c2443-clock.h

index 9b91235c15d205849a88bcf31e81feba5d8c6797..11b1d0b310c3c82989f652ae5b1ca15b490fa961 100644 (file)
@@ -29,7 +29,8 @@
 #include <asm/io.h>
 #include <asm/irq.h>
 
-#include <asm/arch/regs-serial.h>
+#include <asm/arch/regs-s3c2443-clock.h>
+#include <asm/arch/reset.h>
 
 #include <asm/plat-s3c24xx/s3c2443.h>
 #include <asm/plat-s3c24xx/devs.h>
@@ -49,10 +50,17 @@ static struct sys_device s3c2443_sysdev = {
        .cls            = &s3c2443_sysclass,
 };
 
+static void s3c2443_hard_reset(void)
+{
+       __raw_writel(S3C2443_SWRST_RESET, S3C2443_SWRST);
+}
+
 int __init s3c2443_init(void)
 {
        printk("S3C2443: Initialising architecture\n");
 
+       s3c24xx_reset_hook = s3c2443_hard_reset;
+
        s3c_device_nand.name = "s3c2412-nand";
 
        return sysdev_register(&s3c2443_sysdev);
index e696554f9c21b6c610ec60d0a9a920a4f6ee7505..ff0536d2de42644c6ab6e371ba676bcbc4748679 100644 (file)
@@ -38,6 +38,8 @@
 #define S3C2443_PWRCFG                 S3C2443_CLKREG(0x60)
 #define S3C2443_RSTCON                 S3C2443_CLKREG(0x64)
 
+#define S3C2443_SWRST_RESET            (0x533c2443)
+
 #define S3C2443_PLLCON_OFF             (1<<24)
 
 #define S3C2443_CLKSRC_I2S_EXT         (1<<14)