1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * EHV_PIC private definitions and structure. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright 2008-2010 Freescale Semiconductor, Inc. 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * This file is licensed under the terms of the GNU General Public License 7*4882a593Smuzhiyun * version 2. This program is licensed "as is" without any warranty of any 8*4882a593Smuzhiyun * kind, whether express or implied. 9*4882a593Smuzhiyun */ 10*4882a593Smuzhiyun #ifndef __EHV_PIC_H__ 11*4882a593Smuzhiyun #define __EHV_PIC_H__ 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #include <linux/irq.h> 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #define NR_EHV_PIC_INTS 1024 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun #define EHV_PIC_INFO(name) EHV_PIC_##name 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #define EHV_PIC_VECPRI_POLARITY_NEGATIVE 0 20*4882a593Smuzhiyun #define EHV_PIC_VECPRI_POLARITY_POSITIVE 1 21*4882a593Smuzhiyun #define EHV_PIC_VECPRI_SENSE_EDGE 0 22*4882a593Smuzhiyun #define EHV_PIC_VECPRI_SENSE_LEVEL 0x2 23*4882a593Smuzhiyun #define EHV_PIC_VECPRI_POLARITY_MASK 0x1 24*4882a593Smuzhiyun #define EHV_PIC_VECPRI_SENSE_MASK 0x2 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun struct ehv_pic { 27*4882a593Smuzhiyun /* The remapper for this EHV_PIC */ 28*4882a593Smuzhiyun struct irq_domain *irqhost; 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun /* The "linux" controller struct */ 31*4882a593Smuzhiyun struct irq_chip hc_irq; 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun /* core int flag */ 34*4882a593Smuzhiyun int coreint_flag; 35*4882a593Smuzhiyun }; 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun void ehv_pic_init(void); 38*4882a593Smuzhiyun unsigned int ehv_pic_get_irq(void); 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun #endif /* __EHV_PIC_H__ */ 41