/*1* IPIC private definitions and structure.2*3* Maintainer: Kumar Gala <[email protected]>4*5* Copyright 2005 Freescale Semiconductor, Inc6*7* This program is free software; you can redistribute it and/or modify it8* under the terms of the GNU General Public License as published by the9* Free Software Foundation; either version 2 of the License, or (at your10* option) any later version.11*/12#ifndef __IPIC_H__13#define __IPIC_H__1415#include <asm/ipic.h>1617#define NR_IPIC_INTS 1281819/* External IRQS */20#define IPIC_IRQ_EXT0 4821#define IPIC_IRQ_EXT1 1722#define IPIC_IRQ_EXT7 232324/* Default Priority Registers */25#define IPIC_PRIORITY_DEFAULT 0x053097702627/* System Global Interrupt Configuration Register */28#define SICFR_IPSA 0x0001000029#define SICFR_IPSB 0x0002000030#define SICFR_IPSC 0x0004000031#define SICFR_IPSD 0x0008000032#define SICFR_MPSA 0x0020000033#define SICFR_MPSB 0x004000003435/* System External Interrupt Mask Register */36#define SEMSR_SIRQ0 0x000080003738/* System Error Control Register */39#define SERCR_MCPR 0x000000014041struct ipic {42volatile u32 __iomem *regs;4344/* The remapper for this IPIC */45struct irq_host *irqhost;46};4748struct ipic_info {49u8 ack; /* pending register offset from base if the irq50supports ack operation */51u8 mask; /* mask register offset from base */52u8 prio; /* priority register offset from base */53u8 force; /* force register offset from base */54u8 bit; /* register bit position (as per doc)55bit mask = 1 << (31 - bit) */56u8 prio_mask; /* priority mask value */57};5859#endif /* __IPIC_H__ */606162