blob: 92b791702e3418fbf85fc80d52212f4d54b46457 [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 *
Lennert Buytenhekc852ac82006-09-18 23:26:25 +01006 * This file is licensed under the terms of the GNU General Public
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +01007 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 */
Lennert Buytenhekc852ac82006-09-18 23:26:25 +010010#include <asm/arch/iop33x.h>
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +010011
Lennert Buytenhekc852ac82006-09-18 23:26:25 +010012 .macro disable_fiq
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +010013 .endm
14
Lennert Buytenhekc852ac82006-09-18 23:26:25 +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