blob: 00038c17317a3633f176f17876e69d8e31a5c708 [file] [log] [blame]
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +01001/*
2 * include/asm-arm/arch-iop32x/entry-macro.S
3 *
4 * Low-level IRQ helper macros for IOP32x-based platforms
5 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 */
10#include <asm/arch/irqs.h>
11
12 .macro disable_fiq
13 .endm
14
15 /*
16 * Note: only deal with normal interrupts, not FIQ
17 */
18 .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
19 mov \irqnr, #0
Lennert Buytenhek38ce73e2006-09-18 23:21:38 +010020 ldr \base, =IOP3XX_REG_ADDR(0x07D8)
21 ldr \irqstat, [\base] @ Read IINTSRC
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +010022 cmp \irqstat, #0
23 beq 1001f
24 clz \irqnr, \irqstat
25 mov \base, #31
26 subs \irqnr,\base,\irqnr
27 add \irqnr,\irqnr,#IRQ_IOP321_DMA0_EOT
281001:
29 .endm