bcm53xx_intr.h revision 1.1 1 /* $NetBSD: bcm53xx_intr.h,v 1.1 2012/09/01 00:04:44 matt Exp $ */
2 /*-
3 * Copyright (c) 2012 The NetBSD Foundation, Inc.
4 * All rights reserved.
5 *
6 * This code is derived from software contributed to The NetBSD Foundation
7 * by Matt Thomas of 3am Software Foundry.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
11 * are met:
12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 * 2. Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 * POSSIBILITY OF SUCH DAMAGE.
29 */
30
31 #ifndef _ARM_BROADCOM_BCM53XX_INTR_H_
32 #define _ARM_BROADCOM_BCM53XX_INTR_H_
33
34 #define PIC_MAXSOURCES 256
35 #define PIC_MAXMAXSOURCES 280
36
37 /*
38 * The BCM53xx uses a generic interrupt controller so pull that stuff.
39 */
40 #include <arm/cortex/gic_intr.h>
41 #include <arm/cortex/a9tmr_intr.h> /* A9 Timer PPIs */
42
43 #define IRQ_L2CC 32
44 #define IRQ_PWRWDOG 33
45 #define IRQ_TRAP8 34
46 #define IRQ_TRAP1 35
47 #define IRQ_COMMTX 36
48 #define IRQ__RSVD37 37
49 #define IRQ_COMMRX 38
50 #define IRQ__RSVD39 39
51 #define IRQ_PMU 40
52 #define IRQ__RSVD41 41
53 #define IRQ_CTI 42
54 #define IRQ__RSVD43 43
55 #define IRQ_DEFLAG_CPU0 44
56 #define IRQ_DEFLAG_CPU1 45
57 #define IRQ_ARMCORE_M1_PINS_BUS 46
58 #define IRQ_PCIE0_M0_PINS_BUS 47
59 #define IRQ_PCIE1_M0_PINS_BUS 48
60 #define IRQ_PCIE2_M0_PINS_BUS 49
61 #define IRQ_DMA_M0_PINS_BUS 50
62 #define IRQ_AMAC_M0_PINS_BUS 51
63 #define IRQ_AMAC_M1_PINS_BUS 52
64 #define IRQ_AMAC_M2_PINS_BUS 53
65 #define IRQ_AMAC_M3_PINS_BUS 54
66 #define IRQ_USBH_M0_PINS_BUS 55
67 #define IRQ_USBH_M1_PINS_BUS 56
68 #define IRQ_SDIO_M0_PINS_BUS 57
69 #define IRQ_I2S_M0_PINS_BUS 58
70 #define IRQ_A9JTAG_M0_PINS_BUS 59
71 #define IRQ_JTAG_M0_PINS_BUS 60
72 #define IRQ_ARMCORE_ACP_PINS_BUS 61
73 #define IRQ_ARMCORE_S0_PINS_BUS 62
74 #define IRQ_DDR_S1_PINS_BUS 63
75 #define IRQ_DDR_S2_PINS_BUS 64
76 #define IRQ_PCIE0_S0_PINS_BUS 65
77 #define IRQ_PCIE1_S0_PINS_BUS 66
78 #define IRQ_PCIE2_S0_PINS_BUS 67
79 #define IRQ_ROM_S0_PINS_BUS 68
80 #define IRQ_NAND_S0_PINS_BUS 69
81 #define IRQ_QSPI_S0_PINS_BUS 70
82 #define IRQ_A9JTAG_S0_PINS_BUS 71
83 #define IRQ_APBX_S0_PINS_BUS 72
84 #define IRQ_DS_0_PINS_BUS 73
85 #define IRQ_DS_1_PINS_BUS 74
86 #define IRQ_DS_2_PINS_BUS 75
87 #define IRQ_DS_3_PINS_BUS 76
88 #define IRQ_DS_4_PINS_BUS 77
89 #define IRQ_DDR_CONTROLLER 78
90 #define IRQ_DMAC 79 /* 16 */
91 #define IRQ_DMAC_ABORT 95
92 #define IRQ_NAND_RD_MISS 96
93 #define IRQ_NAND_BLK_ERASE_COMP 97
94 #define IRQ_NAND_COPY_BACK_COMP 98
95 #define IRQ_NAND_PGM_PAGE_COMP 99
96 #define IRQ_NAND_RO_CTLR_READY 100
97 #define IRQ_NAND_RB_B 101
98 #define IRQ_NAND_ECC_MIPS_UNCORR 102
99 #define IRQ_NAND_ECC_MIPS_CORR 103
100 #define IRQ_SPI_FULLNESS_REACHED 104
101 #define IRQ_SPI_TRUNCATED 105
102 #define IRQ_SPI_IMPATIENT 106
103 #define IRQ_SPI_SESSION_DONE 107
104 #define IRQ_SPI_INTERRUPT_OVERREAD 108
105 #define IRQ_SPI_MSPI_INTERRUPT_DONE 109
106 #define IRQ_SPI_MSPI_INTERRUPT_HALT_SET_TRANSACTION_DONE 110
107 #define IRQ_USB2 111
108 #define IRQ_XHCI_0 112
109 #define IRQ_XHCI_1 113
110 #define IRQ_XHCI_2 114
111 #define IRQ_XHCI_3 115
112 #define IRQ_XHCI_HSE 116
113 #define IRQ_CCA 117
114 #define IRQ_UART2 118
115 #define IRQ_RSVD119 119
116 #define IRQ_I2S 120
117 #define IRQ_SMBUS 121
118 #define IRQ_TIMER0_1 122
119 #define IRQ_TIMER0_2 123
120 #define IRQ_TIMER1_1 124
121 #define IRQ_TIMER1_2 125
122 #define IRQ_RNG 126
123 #define IRQ_SWITCH_SOC 127 /* 32 */
124 #define IRQ_NETWORK_LINK_EVENT 127 /* 8 */
125 #define IRQ_PHY 135
126 #define IRQ_TIMESYNC 136
127 #define IRQ_IMP_SLEEP_TIMER 137 /* 3 */
128 #define IRQ_PCIE_INT0 159 /* 6 */
129 #define IRQ_PCIE_INT1 165 /* 6 */
130 #define IRQ_PCIE_INT2 171 /* 6 */
131 #define IRQ_SDIO 177
132 #define IRQ_FA 178
133 #define IRQ_GMAC0 179
134 #define IRQ_GMAC1 180
135 #define IRQ_GMAC2 181
136 #define IRQ_GMAC3 182
137
138 #endif /* _ARM_BROADCOM_BC53XX_INTR_H_ */
139