blob: 4750e98e9b4a2c83156e651effedcf7520b2bbcd [file] [log] [blame]
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +01001/*
2 * include/asm-arm/arch-iop33x/entry-macro.S
3 *
4 * Low-level IRQ helper macros for IOP33x-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
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +010015 .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
Lennert Buytenhek7412b102006-09-18 23:24:10 +010016 ldr \base, =IOP3XX_REG_ADDR(0x07C8)
17 ldr \irqstat, [\base] @ Read IINTVEC
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +010018 cmp \irqstat, #0
Lennert Buytenhek7412b102006-09-18 23:24:10 +010019 ldreq \irqstat, [\base] @ erratum 63 workaround
20 adds \irqnr, \irqstat, #1
21 movne \irqnr, \irqstat, lsr #2
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +010022 .endm