xref: /OK3568_Linux_fs/kernel/arch/powerpc/include/asm/ehv_pic.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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