diff options
author | Ben Dooks <ben-linux@fluff.org> | 2007-02-15 16:53:52 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-02-16 06:40:51 -0500 |
commit | b4f14eb86cda9324a2ffbdf534385d012967acd8 (patch) | |
tree | 657533198acc1f6d0130518bd88be75d84ca16f3 | |
parent | d4156d52c7464e8f25a286e1c2975e91bdbc35d6 (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.c | 10 | ||||
-rw-r--r-- | include/asm-arm/arch-s3c2410/regs-s3c2443-clock.h | 2 |
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 | ||
53 | static void s3c2443_hard_reset(void) | ||
54 | { | ||
55 | __raw_writel(S3C2443_SWRST_RESET, S3C2443_SWRST); | ||
56 | } | ||
57 | |||
52 | int __init s3c2443_init(void) | 58 | int __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) |