aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-s3c6410
diff options
context:
space:
mode:
authorAndy Green <andy@openmoko.com>2009-02-25 11:05:19 +0000
committerAndy Green <agreen@octopus.localdomain>2009-02-25 11:05:19 +0000
commit7b9a8d65a597efaba8c54ac3eaa4f8d3f3c482e1 (patch)
tree2443a58da904ac18fa634686e245219f66ff7808 /arch/arm/mach-s3c6410
parentb9aa5bf345a0b802af0d10b6cf1079738fe4fd12 (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.c19
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(&gta03_fiq_pwm_timer);
- if (rc)
+ if (rc)
goto bail;
s3c2410_pwm_start(&gta03_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();