1a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool/* 2a09e64fbc0094e3073dbb09c3b4bfe4ab669244bRussell King * arch/arm/mach-pnx4008/include/mach/irq.h 3a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool * 4a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool * PNX4008 IRQ controller driver - header file 5a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool * this one is used in entry-arnv.S as well so it cannot contain C code 6a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool * 7a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool * Copyright (c) 2005 Philips Semiconductors 8a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool * Copyright (c) 2005 MontaVista Software, Inc. 9a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool * 10a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool * This program is free software; you can redistribute it and/or modify it 11a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool * under the terms of the GNU General Public License as published by the 12a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool * Free Software Foundation; either version 2 of the License, or (at your 13a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool * option) any later version. 14a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool */ 15a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#ifndef __PNX4008_IRQ_H__ 16a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define __PNX4008_IRQ_H__ 17a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool 18a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define MIC_VA_BASE IO_ADDRESS(PNX4008_INTCTRLMIC_BASE) 19a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define SIC1_VA_BASE IO_ADDRESS(PNX4008_INTCTRLSIC1_BASE) 20a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define SIC2_VA_BASE IO_ADDRESS(PNX4008_INTCTRLSIC2_BASE) 21a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool 22a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool/* Manual: Chapter 20, page 195 */ 23a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool 24a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define INTC_BIT(irq) (1<< ((irq) & 0x1F)) 25a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool 26a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define INTC_ER(irq) IO_ADDRESS((PNX4008_INTCTRLMIC_BASE + 0x0 + (((irq)&(0x3<<5))<<9))) 27a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define INTC_RSR(irq) IO_ADDRESS((PNX4008_INTCTRLMIC_BASE + 0x4 + (((irq)&(0x3<<5))<<9))) 28a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define INTC_SR(irq) IO_ADDRESS((PNX4008_INTCTRLMIC_BASE + 0x8 + (((irq)&(0x3<<5))<<9))) 29a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define INTC_APR(irq) IO_ADDRESS((PNX4008_INTCTRLMIC_BASE + 0xC + (((irq)&(0x3<<5))<<9))) 30a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define INTC_ATR(irq) IO_ADDRESS((PNX4008_INTCTRLMIC_BASE + 0x10 + (((irq)&(0x3<<5))<<9))) 31a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define INTC_ITR(irq) IO_ADDRESS((PNX4008_INTCTRLMIC_BASE + 0x14 + (((irq)&(0x3<<5))<<9))) 32a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool 33a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define START_INT_REG_BIT(irq) (1<<((irq)&0x1F)) 34a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool 35a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define START_INT_ER_REG(irq) IO_ADDRESS((PNX4008_PWRMAN_BASE + 0x20 + (((irq)&(0x1<<5))>>1))) 36a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define START_INT_RSR_REG(irq) IO_ADDRESS((PNX4008_PWRMAN_BASE + 0x24 + (((irq)&(0x1<<5))>>1))) 37a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define START_INT_SR_REG(irq) IO_ADDRESS((PNX4008_PWRMAN_BASE + 0x28 + (((irq)&(0x1<<5))>>1))) 38a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#define START_INT_APR_REG(irq) IO_ADDRESS((PNX4008_PWRMAN_BASE + 0x2C + (((irq)&(0x1<<5))>>1))) 39a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool 40a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Woolextern void __init pnx4008_init_irq(void); 41a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool 42a5a503038e71a6b7d4bd9e596ac13087274e60c7Vitaly Wool#endif /* __PNX4008_IRQ_H__ */ 43