162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * EHV_PIC private definitions and structure. 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * Copyright 2008-2010 Freescale Semiconductor, Inc. 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * This file is licensed under the terms of the GNU General Public License 762306a36Sopenharmony_ci * version 2. This program is licensed "as is" without any warranty of any 862306a36Sopenharmony_ci * kind, whether express or implied. 962306a36Sopenharmony_ci */ 1062306a36Sopenharmony_ci#ifndef __EHV_PIC_H__ 1162306a36Sopenharmony_ci#define __EHV_PIC_H__ 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#include <linux/irq.h> 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#define NR_EHV_PIC_INTS 1024 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci#define EHV_PIC_INFO(name) EHV_PIC_##name 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci#define EHV_PIC_VECPRI_POLARITY_NEGATIVE 0 2062306a36Sopenharmony_ci#define EHV_PIC_VECPRI_POLARITY_POSITIVE 1 2162306a36Sopenharmony_ci#define EHV_PIC_VECPRI_SENSE_EDGE 0 2262306a36Sopenharmony_ci#define EHV_PIC_VECPRI_SENSE_LEVEL 0x2 2362306a36Sopenharmony_ci#define EHV_PIC_VECPRI_POLARITY_MASK 0x1 2462306a36Sopenharmony_ci#define EHV_PIC_VECPRI_SENSE_MASK 0x2 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_cistruct ehv_pic { 2762306a36Sopenharmony_ci /* The remapper for this EHV_PIC */ 2862306a36Sopenharmony_ci struct irq_domain *irqhost; 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci /* The "linux" controller struct */ 3162306a36Sopenharmony_ci struct irq_chip hc_irq; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci /* core int flag */ 3462306a36Sopenharmony_ci int coreint_flag; 3562306a36Sopenharmony_ci}; 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_civoid ehv_pic_init(void); 3862306a36Sopenharmony_ciunsigned int ehv_pic_get_irq(void); 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci#endif /* __EHV_PIC_H__ */ 41