/* SPDX-License-Identifier: GPL-2.0-or-later */1/*2* IPIC private definitions and structure.3*4* Maintainer: Kumar Gala <[email protected]>5*6* Copyright 2005 Freescale Semiconductor, Inc7*/8#ifndef __IPIC_H__9#define __IPIC_H__1011#include <asm/ipic.h>1213#define NR_IPIC_INTS 1281415/* External IRQS */16#define IPIC_IRQ_EXT0 4817#define IPIC_IRQ_EXT1 1718#define IPIC_IRQ_EXT7 231920/* Default Priority Registers */21#define IPIC_PRIORITY_DEFAULT 0x053097702223/* System Global Interrupt Configuration Register */24#define SICFR_IPSA 0x0001000025#define SICFR_IPSB 0x0002000026#define SICFR_IPSC 0x0004000027#define SICFR_IPSD 0x0008000028#define SICFR_MPSA 0x0020000029#define SICFR_MPSB 0x004000003031/* System External Interrupt Mask Register */32#define SEMSR_SIRQ0 0x000080003334/* System Error Control Register */35#define SERCR_MCPR 0x000000013637struct ipic {38volatile u32 __iomem *regs;3940/* The remapper for this IPIC */41struct irq_domain *irqhost;42};4344struct ipic_info {45u8 ack; /* pending register offset from base if the irq46supports ack operation */47u8 mask; /* mask register offset from base */48u8 prio; /* priority register offset from base */49u8 force; /* force register offset from base */50u8 bit; /* register bit position (as per doc)51bit mask = 1 << (31 - bit) */52u8 prio_mask; /* priority mask value */53};5455#endif /* __IPIC_H__ */565758