diff options
author | Kukjin Kim <kgene.kim@samsung.com> | 2010-01-29 10:12:14 +0900 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2010-02-24 01:52:15 +0000 |
commit | 5f7f6a4a0df9b43051d57fdb8ea96c083247a08f (patch) | |
tree | 8b89db3128eb45123561cd7aad172f27000ed537 /arch/arm/mach-s5p6442/include/mach/entry-macro.S | |
parent | a0af8b3c701d254b55fc291150d5320317c0a338 (diff) | |
download | kernel_samsung_crespo-5f7f6a4a0df9b43051d57fdb8ea96c083247a08f.zip kernel_samsung_crespo-5f7f6a4a0df9b43051d57fdb8ea96c083247a08f.tar.gz kernel_samsung_crespo-5f7f6a4a0df9b43051d57fdb8ea96c083247a08f.tar.bz2 |
ARM: S5P6442: Add Samsung S5P6442 CPU support
This patch adds support for Samsung S5P6442 CPU. This patch also adds
an entry for S5P6442 cpu in plat-s5p cpu table.
Signed-off-by: Adityapratap Sharma <aditya.ps@samsung.com>
Signed-off-by: Atul Dahiya <atul.dahiya@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm/mach-s5p6442/include/mach/entry-macro.S')
-rw-r--r-- | arch/arm/mach-s5p6442/include/mach/entry-macro.S | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/arch/arm/mach-s5p6442/include/mach/entry-macro.S b/arch/arm/mach-s5p6442/include/mach/entry-macro.S new file mode 100644 index 0000000..6d574ed --- /dev/null +++ b/arch/arm/mach-s5p6442/include/mach/entry-macro.S @@ -0,0 +1,48 @@ +/* linux/arch/arm/mach-s5p6442/include/mach/entry-macro.S + * + * Copyright (c) 2010 Samsung Electronics Co., Ltd. + * http://www.samsung.com/ + * + * Low-level IRQ helper macros for the Samsung S5P6442 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include <asm/hardware/vic.h> +#include <mach/map.h> +#include <plat/irqs.h> + + .macro disable_fiq + .endm + + .macro get_irqnr_preamble, base, tmp + ldr \base, =VA_VIC0 + .endm + + .macro arch_ret_to_user, tmp1, tmp2 + .endm + + .macro get_irqnr_and_base, irqnr, irqstat, base, tmp + + @ check the vic0 + mov \irqnr, # S5P_IRQ_OFFSET + 31 + ldr \irqstat, [ \base, # VIC_IRQ_STATUS ] + teq \irqstat, #0 + + @ otherwise try vic1 + addeq \tmp, \base, #(VA_VIC1 - VA_VIC0) + addeq \irqnr, \irqnr, #32 + ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ] + teqeq \irqstat, #0 + + @ otherwise try vic2 + addeq \tmp, \base, #(VA_VIC2 - VA_VIC0) + addeq \irqnr, \irqnr, #32 + ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ] + teqeq \irqstat, #0 + + clzne \irqstat, \irqstat + subne \irqnr, \irqnr, \irqstat + .endm |