aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2007-02-15 16:53:52 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-02-16 06:40:51 -0500
commitb4f14eb86cda9324a2ffbdf534385d012967acd8 (patch)
tree657533198acc1f6d0130518bd88be75d84ca16f3
parentd4156d52c7464e8f25a286e1c2975e91bdbc35d6 (diff)
[ARM] 4205/1: S3C2443: Add cpu specific reset hook
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>
-rw-r--r--arch/arm/mach-s3c2443/s3c2443.c10
-rw-r--r--include/asm-arm/arch-s3c2410/regs-s3c2443-clock.h2
2 files changed, 11 insertions, 1 deletions
diff --git a/arch/arm/mach-s3c2443/s3c2443.c b/arch/arm/mach-s3c2443/s3c2443.c
index 9b91235c15d2..11b1d0b310c3 100644
--- a/arch/arm/mach-s3c2443/s3c2443.c
+++ b/arch/arm/mach-s3c2443/s3c2443.c
@@ -29,7 +29,8 @@
29#include <asm/io.h> 29#include <asm/io.h>
30#include <asm/irq.h> 30#include <asm/irq.h>
31 31
32#include <asm/arch/regs-serial.h> 32#include <asm/arch/regs-s3c2443-clock.h>
33#include <asm/arch/reset.h>
33 34
34#include <asm/plat-s3c24xx/s3c2443.h> 35#include <asm/plat-s3c24xx/s3c2443.h>
35#include <asm/plat-s3c24xx/devs.h> 36#include <asm/plat-s3c24xx/devs.h>
@@ -49,10 +50,17 @@ static struct sys_device s3c2443_sysdev = {
49 .cls = &s3c2443_sysclass, 50 .cls = &s3c2443_sysclass,
50}; 51};
51 52
53static void s3c2443_hard_reset(void)
54{
55 __raw_writel(S3C2443_SWRST_RESET, S3C2443_SWRST);
56}
57
52int __init s3c2443_init(void) 58int __init s3c2443_init(void)
53{ 59{
54 printk("S3C2443: Initialising architecture\n"); 60 printk("S3C2443: Initialising architecture\n");
55 61
62 s3c24xx_reset_hook = s3c2443_hard_reset;
63
56 s3c_device_nand.name = "s3c2412-nand"; 64 s3c_device_nand.name = "s3c2412-nand";
57 65
58 return sysdev_register(&s3c2443_sysdev); 66 return sysdev_register(&s3c2443_sysdev);
diff --git a/include/asm-arm/arch-s3c2410/regs-s3c2443-clock.h b/include/asm-arm/arch-s3c2410/regs-s3c2443-clock.h
index e696554f9c21..ff0536d2de42 100644
--- a/include/asm-arm/arch-s3c2410/regs-s3c2443-clock.h
+++ b/include/asm-arm/arch-s3c2410/regs-s3c2443-clock.h
@@ -38,6 +38,8 @@
38#define S3C2443_PWRCFG S3C2443_CLKREG(0x60) 38#define S3C2443_PWRCFG S3C2443_CLKREG(0x60)
39#define S3C2443_RSTCON S3C2443_CLKREG(0x64) 39#define S3C2443_RSTCON S3C2443_CLKREG(0x64)
40 40
41#define S3C2443_SWRST_RESET (0x533c2443)
42
41#define S3C2443_PLLCON_OFF (1<<24) 43#define S3C2443_PLLCON_OFF (1<<24)
42 44
43#define S3C2443_CLKSRC_I2S_EXT (1<<14) 45#define S3C2443_CLKSRC_I2S_EXT (1<<14)