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 | ||
7e7ab367 ME |
16 | #include <asm/msi_bitmap.h> |
17 | ||
34e36c15 JJ |
18 | #define NR_MSI_REG 8 |
19 | #define IRQS_PER_MSI_REG 32 | |
20 | #define NR_MSI_IRQS (NR_MSI_REG * IRQS_PER_MSI_REG) | |
21 | ||
22 | #define FSL_PIC_IP_MASK 0x0000000F | |
23 | #define FSL_PIC_IP_MPIC 0x00000001 | |
24 | #define FSL_PIC_IP_IPIC 0x00000002 | |
25 | ||
26 | struct fsl_msi { | |
34e36c15 JJ |
27 | struct irq_host *irqhost; |
28 | ||
29 | unsigned long cascade_irq; | |
30 | ||
31 | u32 msi_addr_lo; | |
32 | u32 msi_addr_hi; | |
33 | void __iomem *msi_regs; | |
34 | u32 feature; | |
48059993 | 35 | int msi_virqs[NR_MSI_REG]; |
34e36c15 | 36 | |
7e7ab367 | 37 | struct msi_bitmap bitmap; |
694a7a36 LY |
38 | |
39 | struct list_head list; /* support multiple MSI banks */ | |
34e36c15 JJ |
40 | }; |
41 | ||
42 | #endif /* _POWERPC_SYSDEV_FSL_MSI_H */ | |
43 |