diff options
author | Andy Green <andy@openmoko.com> | 2009-02-25 11:05:19 +0000 |
---|---|---|
committer | Andy Green <agreen@octopus.localdomain> | 2009-02-25 11:05:19 +0000 |
commit | 7b9a8d65a597efaba8c54ac3eaa4f8d3f3c482e1 (patch) | |
tree | 2443a58da904ac18fa634686e245219f66ff7808 /arch/arm/mach-s3c6410 | |
parent | b9aa5bf345a0b802af0d10b6cf1079738fe4fd12 (diff) |
add-s3c64xx-tzic.patch
This adds in the TZIC support consts and also the VM mapping
for the TZIC units, and adds TZIC init into mach-om-gta03.c
Signed-off-by: Andy Green <andy@openmoko.com>
Diffstat (limited to 'arch/arm/mach-s3c6410')
-rw-r--r-- | arch/arm/mach-s3c6410/mach-om-gta03.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/arch/arm/mach-s3c6410/mach-om-gta03.c b/arch/arm/mach-s3c6410/mach-om-gta03.c index 165cb7a4019..596b01ff765 100644 --- a/arch/arm/mach-s3c6410/mach-om-gta03.c +++ b/arch/arm/mach-s3c6410/mach-om-gta03.c @@ -43,7 +43,8 @@ #include <asm/mach/irq.h> #include <mach/hardware.h> -#include <asm/hardware/vic.h> +#include <asm/hardware/vic.h> +#include <asm/hardware/tzic-sp890.h> #include <mach/map.h> #include <mach/regs-fb.h> #include <mach/spi-gpio.h> @@ -65,6 +66,7 @@ #include <plat/clock.h> #include <plat/devs.h> #include <plat/cpu.h> +#include <plat/tzic-sp890.h> /* #include <plat/udc.h> */ #include <linux/i2c.h> @@ -108,6 +110,8 @@ static int gta03_fiq_irq; #define S3C6410_INTMSK (S3C_VA_VIC0 + VIC_INT_ENABLE) #define S3C6410_INTMOD (S3C_VA_VIC0 + VIC_INT_SELECT) + + static void gta03_fiq_handler(void) { u16 divisor = 0xffff; @@ -190,16 +194,21 @@ static int gta03_fiq_enable(void) gta03_fiq_pwm_timer.counter = gta03_fiq_pwm_timer.comparer = 3000; rc = s3c2410_pwm_enable(>a03_fiq_pwm_timer); - if (rc) + if (rc) goto bail; s3c2410_pwm_start(>a03_fiq_pwm_timer); /* let our selected interrupt be a magic FIQ interrupt */ - __raw_writel(1 << 27, S3C6410_INTMSK + 4); + __raw_writel(gta03_fiq_mod_mask, S3C6410_INTMSK + 4); __raw_writel(gta03_fiq_mod_mask, S3C6410_INTMOD); - __raw_writel((__raw_readl(S3C64XX_TINT_CSTAT) & 0x1f)| 1 << 3, S3C64XX_TINT_CSTAT); - __raw_writel(1 << 27, S3C6410_INTMSK); + __raw_writel((__raw_readl(S3C64XX_TINT_CSTAT) & 0x1f)| 1 << 3, + S3C64XX_TINT_CSTAT); + __raw_writel(gta03_fiq_mod_mask, S3C6410_INTMSK); + + __raw_writel(SP890_TZIC_UNLOCK_MAGIC, S3C64XX_VA_TZIC0_LOCK); + __raw_writel(gta03_fiq_mod_mask, S3C64XX_VA_TZIC0_FIQENABLE); + __raw_writel(gta03_fiq_mod_mask, S3C64XX_VA_TZIC0_INTSELECT); /* it's ready to go as soon as we unmask the source in S3C2410_INTMSK */ local_fiq_enable(); |