1171626Scognet/*-
2171626Scognet * Copyright (c) 2006 Olivier Houchard
3171626Scognet * All rights reserved.
4171626Scognet *
5171626Scognet * Redistribution and use in source and binary forms, with or without
6171626Scognet * modification, are permitted provided that the following conditions
7171626Scognet * are met:
8171626Scognet * 1. Redistributions of source code must retain the above copyright
9171626Scognet *    notice, this list of conditions and the following disclaimer.
10171626Scognet * 2. Redistributions in binary form must reproduce the above copyright
11171626Scognet *    notice, this list of conditions and the following disclaimer in the
12171626Scognet *    documentation and/or other materials provided with the distribution.
13171626Scognet *
14171626Scognet * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
15171626Scognet * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
16171626Scognet * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17171626Scognet * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR
18171626Scognet * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19171626Scognet * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20171626Scognet * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21171626Scognet * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22171626Scognet * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23171626Scognet * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24171626Scognet * POSSIBILITY OF SUCH DAMAGE.
25171626Scognet */
26171626Scognet
27171626Scognet/* $FreeBSD$ */
28171626Scognet
29171626Scognet#ifndef I83142_REG_H_
30171626Scognet#define I83142_REG_H_
31171626Scognet/* Physical Memory Map */
32171626Scognet/*
33171626Scognet * 0x000000000 - 0x07FFFFFFF SDRAM
34171626Scognet * 0x090100000 - 0x0901FFFFF ATUe Outbound IO Window
35171626Scognet * 0x0F0000000 - 0x0F1FFFFFF Flash
36171626Scognet * 0x0F2000000 - 0x0F20FFFFF PCE1
37171626Scognet * 0x0F3000000 - 0x0FFCFFFFF Compact Flash
38171626Scognet * 0x0FFD00000 - 0x0FFDFFFFF MMR
39171626Scognet * 0x0FFFB0000 - 0x0FFFBFFFF ATU-X Outbound I/O Window
40171626Scognet * 0x0FFFD0000 - 0x0FFFDFFFF ATUe Outbound I/O Window
41171626Scognet * 0x100000000 - 0x1FFFFFFFF ATU-X outbound Memory Translation Window
42171626Scognet * 0x2FF000000 - 0x2FFFFFFFF ATUe Outbound Memory Translation Window
43171626Scognet */
44171626Scognet
45171626Scognet#define IOP34X_VADDR		0xf0000000
46171626Scognet#define IOP34X_HWADDR		0xffd00000
47171626Scognet#define IOP34X_SIZE		0x100000
48171626Scognet
49172299Scognet#define IOP34X_ADMA0_OFFSET	0x00080000
50172299Scognet#define IOP34X_ADMA1_OFFSET	0x00080200
51172299Scognet#define IOP34X_ADMA2_OFFSET	0x00080400
52172299Scognet#define IOP34X_ADMA_SIZE	0x200
53172299Scognet
54172299Scognet
55172299Scognet/* ADMA Registers */
56172299Scognet#define IOP34X_ADMA_CCR		0x0000 /* Channel Control Register */
57172299Scognet#define IOP34X_ADMA_CSR		0x0004 /* Channel Status Register */
58172299Scognet#define IOP34X_ADMA_DAR		0x0008 /* Descriptor Address Register */
59172299Scognet#define IOP34X_ADMA_IPCR	0x0018 /* Internal Interface Parity Ctrl Reg */
60172299Scognet#define IOP34X_ADMA_NDAR	0x0024 /* Next Descriptor Register */
61172299Scognet#define IOP34X_ADMA_DCR		0x0028 /* Descriptor Control Register */
62172299Scognet
63172299Scognet#define	IOP34X_ADMA_IE		(1 << 0) /* Interrupt enable */
64172299Scognet#define IOP34X_ADMA_TR		(1 << 1) /* Transfert Direction */
65172299Scognet/*
66172299Scognet *               Source                   Destination
67172299Scognet *  00         Host I/O Interface	Local Memory
68172299Scognet *  01         Local Memory             Host I/O Interface
69172299Scognet *  10         Internal Bus             Local Memory
70172299Scognet *  11         Local Memory             Internal Bus
71172299Scognet */
72172299Scognet#define IOP34X_ADMA_SS		(1 << 3) /* Source selection */
73172299Scognet/* 0000: Data Transfer / CRC / Memory Block Fill */
74172299Scognet#define IOP34X_ADMA_ZRBCE	(1 << 7) /* Zero Result Buffer Check Enable */
75172299Scognet#define IOP34X_ADMA_MBFE	(1 << 8) /* Memory Block Fill Enable */
76172299Scognet#define IOP34X_ADMA_CGE		(1 << 9) /* CRC Generation enable */
77172299Scognet#define IOP34X_ADMA_CTD		(1 << 10) /* CRC Transfer disable */
78172299Scognet#define IOP34X_ADMA_CSFD	(1 << 11) /* CRC Seed fetch disable */
79172299Scognet#define IOP34X_ADMA_SWBE	(1 << 12) /* Status write back enable */
80172299Scognet#define IOP34X_ADMA_ESE		(1 << 13) /* Endian swap enable */
81172299Scognet#define IOP34X_ADMA_PQUTE	(1 << 16) /* P+Q Update Transfer Enable */
82172299Scognet#define IOP34X_ADMA_DXE		(1 << 17) /* Dual XOR Enable */
83172299Scognet#define IOP34X_ADMA_PQTE	(1 << 18) /* P+Q Transfer Enable */
84172299Scognet#define IOP34X_ADMA_PTD		(1 << 19) /* P Transfer Disable */
85172299Scognet#define IOP34X_ADMA_ROE		(1 << 30) /* Relaxed Ordering Enable */
86172299Scognet#define IOP34X_ADMA_NSE		(1 << 31) /* No Snoop Enable */
87172299Scognet
88171626Scognet#define IOP34X_PBBAR0		0x81588 /* PBI Base Address Register 0 */
89171626Scognet#define IOP34X_PBBAR0_ADDRMASK	0xfffff000
90171626Scognet#define IOP34X_PBBAR1		0x81590
91172297Scognet#define IOP34X_PCE1		0xF2000000
92172297Scognet#define IOP34X_PCE1_SIZE	0x00100000
93172297Scognet#define IOP34X_PCE1_VADDR	0xF1000000
94171626Scognet#define IOP34X_ESSTSR0		0x82188
95171626Scognet#define IOP34X_CONTROLLER_ONLY	(1 << 14)
96171626Scognet#define IOP34X_INT_SEL_PCIX	(1 << 15)
97171626Scognet#define IOP34X_PFR		0x82180 /* Processor Frequency Register */
98171626Scognet#define IOP34X_FREQ_MASK	((1 << 16) | (1 << 17) | (1 << 18))
99171626Scognet#define IOP34X_FREQ_600		(0)
100171626Scognet#define IOP34X_FREQ_667		(1 << 16)
101171626Scognet#define IOP34X_FREQ_800		(1 << 17)
102171626Scognet#define IOP34X_FREQ_833		((1 << 17) | (1 << 16))
103171626Scognet#define IOP34X_FREQ_1000	(1 << 18)
104171626Scognet#define IOP34X_FREQ_1200	((1 << 16) | (1 << 18))
105171626Scognet
106171626Scognet#define IOP34X_UART0_VADDR	IOP34X_VADDR + 0x82300
107171626Scognet#define IOP34X_UART0_HWADDR	IOP34X_HWADDR + 0x82300
108171626Scognet#define IOP34X_UART1_VADDR	IOP34X_VADDR + 0x82340
109171626Scognet#define IOP34X_UART1_HWADDR	IOP34X_HWADDR + 0x82340
110171626Scognet#define IOP34X_PBI_HWADDR	0xffd81580
111171626Scognet
112171626Scognet/* SDRAM Memory Controller */
113171626Scognet#define SMC_SDBR		0x8180c /* Base Register */
114171626Scognet#define SMC_SDBR_BASEADDR	(1 << 27)
115171626Scognet#define SMC_SDBR_BASEADDR_MASK	((1 << 27) | (1 << 28) | (1 << 29) | (1 << 30) \
116171626Scognet    				| (1 << 31))
117171626Scognet#define SMC_SDUBR		0x81810 /* Upper Base Register */
118171626Scognet#define SMC_SBSR		0x81814 /* SDRAM Bank Size Register */
119171626Scognet#define SMC_SBSR_BANK_NB	(1 << 2) /* Number of DDR Banks
120171626Scognet					   0 => 2 Banks
121171626Scognet					   1 => 1 Bank
122171626Scognet					   */
123171626Scognet#define SMC_SBSR_BANK_SZ	(1 << 27) /* SDRAM Bank Size :
124171626Scognet					   0x00000 Empty
125171626Scognet					   0x00001 128MB
126171626Scognet					   0x00010 256MB
127171626Scognet					   0x00100 512MB
128171626Scognet					   0x01000 1GB
129171626Scognet					   */
130171626Scognet#define SMC_SBSR_BANK_SZ_MASK	((1 << 27) | (1 << 28) | (1 << 29) | (1 << 30) \
131171626Scognet    				| (1 << 31))
132171626Scognet
133171626Scognet
134171626Scognet/* Two possible addresses for ATUe depending on configuration. */
135171626Scognet#define IOP34X_ATUE_ADDR(esstrsr) ((((esstrsr) & (IOP34X_CONTROLLER_ONLY | \
136171626Scognet    IOP34X_INT_SEL_PCIX)) == (IOP34X_CONTROLLER_ONLY | IOP34X_INT_SEL_PCIX)) ? \
137171626Scognet    0xffdc8000 : 0xffdcd000)
138171626Scognet
139171626Scognet/* Three possible addresses for ATU-X depending on configuration. */
140171626Scognet#define IOP34X_ATUX_ADDR(esstrsr) (!((esstrsr) & IOP34X_CONTROLLER_ONLY) ? \
141171626Scognet    0xffdcc000 : !((esstrsr) & IOP34X_INT_SEL_PCIX) ? 0xffdc8000 : 0xffdcd000)
142171626Scognet
143171626Scognet#define IOP34X_OIOBAR_SIZE		0x10000
144171626Scognet#define IOP34X_PCIX_OIOBAR		0xfffb0000
145171626Scognet#define IOP34X_PCIX_OIOBAR_VADDR	0xf01b0000
146171626Scognet#define IOP34X_PCIX_OMBAR		0x100000000
147171626Scognet#define IOP34X_PCIE_OIOBAR		0xfffd0000
148171626Scognet#define IOP34X_PCIE_OIOBAR_VADDR	0xf01d0000
149171626Scognet#define IOP34X_PCIE_OMBAR		0x200000000
150171626Scognet
151171626Scognet/* ATU Registers */
152171626Scognet/* Common for ATU-X and ATUe */
153171626Scognet#define ATU_VID		0x0000 /* ATU Vendor ID */
154171626Scognet#define ATU_DID		0x0002 /* ATU Device ID */
155171626Scognet#define ATU_CMD		0x0004 /* ATU Command Register */
156171626Scognet#define ATU_SR		0x0006 /* ATU Status Register */
157171626Scognet#define ATU_RID		0x0008 /* ATU Revision ID */
158171626Scognet#define ATU_CCR		0x0009 /* ATU Class Code */
159171626Scognet#define ATU_CLSR	0x000c /* ATU Cacheline Size */
160171626Scognet#define ATU_LT		0x000d /* ATU Latency Timer */
161171626Scognet#define ATU_HTR		0x000e /* ATU Header Type */
162171626Scognet#define ATU_BISTR	0x000f /* ATU BIST Register */
163171626Scognet#define ATU_IABAR0	0x0010 /* Inbound ATU Base Address register 0 */
164171626Scognet#define ATU_IAUBAR0	0x0014 /* Inbound ATU Upper Base Address Register 0 */
165171626Scognet#define ATU_IABAR1	0x0018 /* Inbound ATU Base Address Register 1 */
166171626Scognet#define ATU_IAUBAR1	0x001c /* Inbound ATU Upper Base Address Register 1 */
167171626Scognet#define ATU_IABAR2	0x0020 /* Inbound ATU Base Address Register 2 */
168171626Scognet#define ATU_IAUBAR2	0x0024 /* Inbound ATU Upper Base Address Register 2 */
169171626Scognet#define ATU_VSIR	0x002c /* ATU Subsystem Vendor ID Register */
170171626Scognet#define ATU_SIR		0x002e /* ATU Subsystem ID Register */
171171626Scognet#define ATU_ERBAR	0x0030 /* Expansion ROM Base Address Register */
172171626Scognet#define ATU_CAPPTR	0x0034 /* ATU Capabilities Pointer Register */
173171626Scognet#define ATU_ILR		0x003c /* ATU Interrupt Line Register */
174171626Scognet#define ATU_IPR		0x003d /* ATU Interrupt Pin Register */
175171626Scognet#define ATU_MGNT	0x003e /* ATU Minimum Grand Register */
176171626Scognet#define ATU_MLAT	0x003f /* ATU Maximum Latency Register */
177171626Scognet#define ATU_IALR0	0x0040 /* Inbound ATU Limit Register 0 */
178171626Scognet#define ATU_IATVR0	0x0044 /* Inbound ATU Translate Value Register 0 */
179171626Scognet#define ATU_IAUTVR0	0x0048 /* Inbound ATU Upper Translate Value Register 0*/
180171626Scognet#define ATU_IALR1	0x004c /* Inbound ATU Limit Register 1 */
181171626Scognet#define ATU_IATVR1	0x0050 /* Inbound ATU Translate Value Register 1 */
182171626Scognet#define ATU_IAUTVR1	0x0054 /* Inbound ATU Upper Translate Value Register 1*/
183171626Scognet#define ATU_IALR2	0x0058 /* Inbound ATU Limit Register 2 */
184171626Scognet#define ATU_IATVR2	0x005c /* Inbound ATU Translate Value Register 2 */
185171626Scognet#define ATU_IAUTVR2	0x0060 /* Inbound ATU Upper Translate Value Register 2*/
186171626Scognet#define ATU_ERLR	0x0064 /* Expansion ROM Limit Register */
187171626Scognet#define ATU_ERTVR	0x0068 /* Expansion ROM Translater Value Register */
188171626Scognet#define ATU_ERUTVR	0x006c /* Expansion ROM Upper Translate Value Register*/
189171626Scognet#define ATU_CR		0x0070 /* ATU Configuration Register */
190171626Scognet#define ATU_CR_OUT_EN	(1 << 1)
191171626Scognet#define ATU_PCSR	0x0074 /* PCI Configuration and Status Register */
192171626Scognet#define PCIE_BUSNO(x)	((x & 0xff000000) >> 24)
193171626Scognet#define ATUX_CORE_RST	((1 << 30) | (1 << 31)) /* Core Processor Reset */
194171626Scognet#define ATUX_P_RSTOUT	(1 << 21) /* Central Resource PCI Bus Reset */
195171626Scognet#define ATUE_CORE_RST	((1 << 9) | (1 << 8)) /* Core Processor Reset */
196171626Scognet#define ATU_ISR		0x0078 /* ATU Interrupt Status Register */
197171626Scognet#define ATUX_ISR_PIE	(1 << 18) /* PCI Interface error */
198171626Scognet#define ATUX_ISR_IBPR	(1 << 16) /* Internal Bus Parity Error */
199171626Scognet#define ATUX_ISR_DCE	(1 << 14) /* Detected Correctable error */
200171626Scognet#define ATUX_ISR_ISCE	(1 << 13) /* Initiated Split Completion Error Msg */
201171626Scognet#define ATUX_ISR_RSCE	(1 << 12) /* Received Split Completion Error Msg */
202171626Scognet#define ATUX_ISR_DPE	(1 << 9)  /* Detected Parity Error */
203171626Scognet#define ATUX_ISR_IBMA	(1 << 7)  /* Internal Bus Master Abort */
204171626Scognet#define ATUX_ISR_PMA	(1 << 3)  /* PCI Master Abort */
205171626Scognet#define ATUX_ISR_PTAM	(1 << 2)  /* PCI Target Abort (Master) */
206171626Scognet#define ATUX_ISR_PTAT	(1 << 1)  /* PCI Target Abort (Target) */
207171626Scognet#define ATUX_ISR_PMPE	(1 << 0)  /* PCI Master Parity Error */
208171626Scognet#define ATUX_ISR_ERRMSK	(ATUX_ISR_PIE | ATUX_ISR_IBPR | ATUX_ISR_DCE | \
209171626Scognet    ATUX_ISR_ISCE | ATUX_ISR_RSCE | ATUX_ISR_DPE | ATUX_ISR_IBMA | ATUX_ISR_PMA\
210171626Scognet    | ATUX_ISR_PTAM | ATUX_ISR_PTAT | ATUX_ISR_PMPE)
211171626Scognet#define ATUE_ISR_HON	(1 << 13) /* Halt on Error Interrupt */
212171626Scognet#define ATUE_ISR_RSE	(1 << 12) /* Root System Error Message */
213171626Scognet#define ATUE_ISR_REM	(1 << 11) /* Root Error Message */
214171626Scognet#define ATUE_ISR_PIE	(1 << 10) /* PCI Interface error */
215171626Scognet#define ATUE_ISR_CEM	(1 << 9)  /* Correctable Error Message */
216171626Scognet#define ATUE_ISR_UEM	(1 << 8)  /* Uncorrectable error message */
217171626Scognet#define ATUE_ISR_CRS	(1 << 7)  /* Received Configuration Retry Status */
218171626Scognet#define ATUE_ISR_IBMA	(1 << 5)  /* Internal Bus Master Abort */
219171626Scognet#define ATUE_ISR_DPE	(1 << 4)  /* Detected Parity Error Interrupt */
220171626Scognet#define ATUE_ISR_MAI	(1 << 3)  /* Received Master Abort Interrupt */
221171626Scognet#define ATUE_ISR_STAI	(1 << 2)  /* Signaled Target Abort Interrupt */
222171626Scognet#define ATUE_ISR_TAI	(1 << 1)  /* Received Target Abort Interrupt */
223171626Scognet#define ATUE_ISR_MDPE	(1 << 0)  /* Master Data Parity Error Interrupt */
224171626Scognet#define ATUE_ISR_ERRMSK	(ATUE_ISR_HON | ATUE_ISR_RSE | ATUE_ISR_REM | \
225171626Scognet    ATUE_ISR_PIE | ATUE_ISR_CEM | ATUE_ISR_UEM | ATUE_ISR_CRS | ATUE_ISR_IBMA |\
226171626Scognet    ATUE_ISR_DPE | ATUE_ISR_MAI | ATUE_ISR_STAI | ATUE_ISR_TAI | ATUE_ISR_MDPE)
227171626Scognet#define ATU_IMR		0x007c /* ATU Interrupt Mask Register */
228171626Scognet/* 0x0080 - 0x008f reserved */
229171626Scognet#define ATU_VPDCID	0x0090 /* VPD Capability Identifier Register */
230171626Scognet#define ATU_VPDNIP	0x0091 /* VPD Next Item Pointer Register */
231171626Scognet#define ATU_VPDAR	0x0092 /* VPD Address Register */
232171626Scognet#define ATU_VPDDR	0x0094 /* VPD Data Register */
233171626Scognet#define ATU_PMCID	0x0098 /* PM Capability Identifier Register */
234171626Scognet#define ATU_PMNIPR	0x0099 /* PM Next Item Pointer Register */
235171626Scognet#define ATU_PMCR	0x009a /* ATU Power Management Capabilities Register */
236171626Scognet#define ATU_PMCSR	0x009c /* ATU Power Management Control/Status Register*/
237171626Scognet#define ATU_MSICIR	0x00a0 /* MSI Capability Identifier Register */
238171626Scognet#define ATU_MSINIPR	0x00a1 /* MSI Next Item Pointer Register */
239171626Scognet#define ATU_MCR		0x00a2 /* Message Control Register */
240171626Scognet#define ATU_MAR		0x00a4 /* Message Address Register */
241171626Scognet#define ATU_MUAR	0x00a8 /* Message Upper Address Register */
242171626Scognet#define ATU_MDR		0x00ac /* Message Data Register */
243171626Scognet#define ATU_PCIXSR	0x00d4 /* PCI-X Status Register */
244171626Scognet#define PCIXSR_BUSNO(x)         (((x) & 0xff00) >> 8)
245171626Scognet#define ATU_IABAR3	0x0200 /* Inbound ATU Base Address Register 3 */
246171626Scognet#define ATU_IAUBAR3	0x0204 /* Inbound ATU Upper Base Address Register 3 */
247171626Scognet#define ATU_IALR3	0x0208 /* Inbound ATU Limit Register 3 */
248171626Scognet#define ATU_ITVR3	0x020c /* Inbound ATU Upper Translate Value Reg 3 */
249171626Scognet#define ATU_OIOBAR	0x0300 /* Outbound I/O Base Address Register */
250171626Scognet#define ATU_OIOWTVR	0x0304 /* Outbound I/O Window Translate Value Reg */
251171626Scognet#define ATU_OUMBAR0	0x0308 /* Outbound Upper Memory Window base addr reg 0*/
252171626Scognet#define ATU_OUMBAR_FUNC	(28)
253171626Scognet#define ATU_OUMBAR_EN	(1 << 31)
254171626Scognet#define ATU_OUMWTVR0	0x030c /* Outbound Upper 32bit Memory Window Translate Value Register 0 */
255171626Scognet#define ATU_OUMBAR1	0x0310 /* Outbound Upper Memory Window base addr reg1*/
256171626Scognet#define ATU_OUMWTVR1	0x0314 /* Outbound Upper 32bit Memory Window Translate Value Register 1 */
257171626Scognet#define ATU_OUMBAR2	0x0318 /* Outbound Upper Memory Window base addr reg2*/
258171626Scognet#define ATU_OUMWTVR2	0x031c /* Outbount Upper 32bit Memory Window Translate Value Register 2 */
259171626Scognet#define ATU_OUMBAR3	0x0320 /* Outbound Upper Memory Window base addr reg3*/
260171626Scognet#define ATU_OUMWTVR3	0x0324 /* Outbound Upper 32bit Memory Window Translate Value Register 3 */
261171626Scognet
262171626Scognet/* ATU-X specific */
263171626Scognet#define ATUX_OCCAR	0x0330 /* Outbound Configuration Cycle Address Reg */
264171626Scognet#define ATUX_OCCDR	0x0334 /* Outbound Configuration Cycle Data Reg */
265171626Scognet#define ATUX_OCCFN	0x0338 /* Outbound Configuration Cycle Function Number*/
266171626Scognet/* ATUe specific */
267171626Scognet#define ATUE_OCCAR	0x032c /* Outbound Configuration Cycle Address Reg */
268171626Scognet#define ATUE_OCCDR	0x0330 /* Outbound Configuration Cycle Data Reg */
269171626Scognet#define ATUE_OCCFN	0x0334 /* Outbound Configuration Cycle Function Number*/
270171626Scognet/* Interrupts */
271171626Scognet
272171626Scognet/* IINTRSRC0 */
273171626Scognet#define ICU_INT_ADMA0_EOT	(0) /* ADMA 0 End of transfer */
274171626Scognet#define ICU_INT_ADMA0_EOC	(1) /* ADMA 0 End of Chain */
275171626Scognet#define ICU_INT_ADMA1_EOT	(2) /* ADMA 1 End of transfer */
276171626Scognet#define ICU_INT_ADMA1_EOC	(3) /* ADMA 1 End of chain */
277171626Scognet#define ICU_INT_ADMA2_EOT	(4) /* ADMA 2 End of transfer */
278171626Scognet#define ICU_INT_ADMA2_EOC	(5) /* ADMA 2 end of chain */
279171626Scognet#define ICU_INT_WDOG		(6) /* Watchdog timer */
280171626Scognet/* 7 Reserved */
281171626Scognet#define ICU_INT_TIMER0		(8) /* Timer 0 */
282171626Scognet#define ICU_INT_TIMER1		(9) /* Timer 1 */
283171626Scognet#define ICU_INT_I2C0		(10) /* I2C bus interface 0 */
284171626Scognet#define ICU_INT_I2C1		(11) /* I2C bus interface 1 */
285171626Scognet#define ICU_INT_MU		(12) /* Message Unit */
286171626Scognet#define ICU_INT_MU_IPQ		(13) /* Message unit inbound post queue */
287171626Scognet#define ICU_INT_ATUE_IM		(14) /* ATU-E inbound message */
288171626Scognet#define ICU_INT_ATU_BIST	(15) /* ATU/Start BIST */
289171626Scognet#define ICU_INT_PMC		(16) /* PMC */
290171626Scognet#define ICU_INT_PMU		(17) /* PMU */
291171626Scognet#define ICU_INT_PC		(18) /* Processor cache */
292171626Scognet/* 19-23 Reserved */
293171626Scognet#define ICU_INT_XINT0		(24)
294171626Scognet#define ICU_INT_XINT1		(25)
295171626Scognet#define ICU_INT_XINT2		(26)
296171626Scognet#define ICU_INT_XINT3		(27)
297171626Scognet#define ICU_INT_XINT4		(28)
298171626Scognet#define ICU_INT_XINT5		(29)
299171626Scognet#define ICU_INT_XINT6		(30)
300171626Scognet#define ICU_INT_XINT7		(31)
301171626Scognet/* IINTSRC1 */
302171626Scognet#define ICU_INT_XINT8		(32)
303171626Scognet#define ICU_INT_XINT9		(33)
304171626Scognet#define ICU_INT_XINT10		(34)
305171626Scognet#define ICU_INT_XINT11		(35)
306171626Scognet#define ICU_INT_XINT12		(36)
307171626Scognet#define ICU_INT_XINT13		(37)
308171626Scognet#define ICU_INT_XINT14		(38)
309171626Scognet#define ICU_INT_XINT15		(39)
310171626Scognet/* 40-50 reserved */
311171626Scognet#define ICU_INT_UART0		(51) /* UART 0 */
312171626Scognet#define ICU_INT_UART1		(52) /* UART 1 */
313171626Scognet#define ICU_INT_PBIUE		(53) /* Peripheral bus interface unit error */
314171626Scognet#define ICU_INT_ATUCRW		(54) /* ATU Configuration register write */
315171626Scognet#define ICU_INT_ATUE		(55) /* ATU error */
316171626Scognet#define ICU_INT_MCUE		(56) /* Memory controller unit error */
317171626Scognet#define ICU_INT_ADMA0E		(57) /* ADMA Channel 0 error */
318171626Scognet#define ICU_INT_ADMA1E		(58) /* ADMA Channel 1 error */
319171626Scognet#define ICU_INT_ADMA2E		(59) /* ADMA Channel 2 error */
320171626Scognet/* 60-61 reserved */
321171626Scognet#define ICU_INT_MUE		(62) /* Messaging Unit Error */
322171626Scognet/* 63 reserved */
323171626Scognet
324171626Scognet/* IINTSRC2 */
325171626Scognet#define ICU_INT_IP		(64) /* Inter-processor */
326171626Scognet/* 65-93 reserved */
327171626Scognet#define ICU_INT_SIBBE		(94) /* South internal bus bridge error */
328171626Scognet/* 95 reserved */
329171626Scognet
330171626Scognet/* IINTSRC3 */
331171626Scognet#define ICU_INT_I2C2		(96) /* I2C bus interface 2 */
332171626Scognet#define ICU_INT_ATUE_BIST	(97) /* ATU-E/Start BIST */
333171626Scognet#define ICU_INT_ATUE_CRW	(98) /* ATU-E Configuration register write */
334171626Scognet#define ICU_INT_ATUEE		(99) /* ATU-E Error */
335171626Scognet#define ICU_INT_IMU		(100) /* IMU */
336171626Scognet/* 101-106 reserved */
337171626Scognet#define ICU_INT_ATUE_MA		(107) /* ATUE Interrupt message A */
338171626Scognet#define ICU_INT_ATUE_MB		(108) /* ATUE Interrupt message B */
339171626Scognet#define ICU_INT_ATUE_MC		(109) /* ATUE Interrupt message C */
340171626Scognet#define ICU_INT_ATUE_MD		(110) /* ATUE Interrupt message D */
341171626Scognet#define ICU_INT_MU_MSIX_TW	(111) /* MU MSI-X Table write */
342171626Scognet/* 112 reserved */
343171626Scognet#define ICU_INT_IMSI		(113) /* Inbound MSI */
344171626Scognet/* 114-126 reserved */
345171626Scognet#define ICU_INT_HPI		(127) /* HPI */
346171626Scognet
347171626Scognet
348171626Scognet#endif /* I81342_REG_H_ */
349