Commit | Line | Data |
---|---|---|
34e36c15 JJ |
1 | /* |
2 | * Copyright (C) 2007-2008 Freescale Semiconductor, Inc. All rights reserved. | |
3 | * | |
4 | * Author: Tony Li <tony.li@freescale.com> | |
5 | * Jason Jin <Jason.jin@freescale.com> | |
6 | * | |
7 | * This program is free software; you can redistribute it and/or | |
8 | * modify it under the terms of the GNU General Public License | |
9 | * as published by the Free Software Foundation; version 2 of the | |
10 | * License. | |
11 | * | |
12 | */ | |
13 | #ifndef _POWERPC_SYSDEV_FSL_MSI_H | |
14 | #define _POWERPC_SYSDEV_FSL_MSI_H | |
15 | ||
895d603f | 16 | #include <linux/of.h> |
7e7ab367 ME |
17 | #include <asm/msi_bitmap.h> |
18 | ||
34e36c15 JJ |
19 | #define NR_MSI_REG 8 |
20 | #define IRQS_PER_MSI_REG 32 | |
21 | #define NR_MSI_IRQS (NR_MSI_REG * IRQS_PER_MSI_REG) | |
22 | ||
446bc1ff TT |
23 | #define FSL_PIC_IP_MASK 0x0000000F |
24 | #define FSL_PIC_IP_MPIC 0x00000001 | |
25 | #define FSL_PIC_IP_IPIC 0x00000002 | |
26 | #define FSL_PIC_IP_VMPIC 0x00000003 | |
34e36c15 JJ |
27 | |
28 | struct fsl_msi { | |
bae1d8f1 | 29 | struct irq_domain *irqhost; |
34e36c15 JJ |
30 | |
31 | unsigned long cascade_irq; | |
32 | ||
2bcd1c0c | 33 | u32 msiir_offset; /* Offset of MSIIR, relative to start of CCSR */ |
34e36c15 JJ |
34 | void __iomem *msi_regs; |
35 | u32 feature; | |
48059993 | 36 | int msi_virqs[NR_MSI_REG]; |
34e36c15 | 37 | |
7e7ab367 | 38 | struct msi_bitmap bitmap; |
694a7a36 LY |
39 | |
40 | struct list_head list; /* support multiple MSI banks */ | |
895d603f TT |
41 | |
42 | phandle phandle; | |
34e36c15 JJ |
43 | }; |
44 | ||
45 | #endif /* _POWERPC_SYSDEV_FSL_MSI_H */ | |
46 |