xref: /netbsd-src/sys/arch/hpcmips/vr/icureg.h (revision e7735eb5b900f7206e9bab7cbd6563ac588d41f8)
1*e7735eb5Sigy /*	$NetBSD: icureg.h,v 1.8 2003/04/01 02:45:34 igy Exp $	*/
2db2b0adeStakemura 
3db2b0adeStakemura /*-
4db2b0adeStakemura  * Copyright (c) 1999 Shin Takemura. All rights reserved.
500ec577aSsato  * Copyright (c) 1999-2001 SATO Kazumi. All rights reserved.
6db2b0adeStakemura  * Copyright (c) 1999 PocketBSD Project. All rights reserved.
7db2b0adeStakemura  *
8db2b0adeStakemura  * Redistribution and use in source and binary forms, with or without
9db2b0adeStakemura  * modification, are permitted provided that the following conditions
10db2b0adeStakemura  * are met:
11db2b0adeStakemura  * 1. Redistributions of source code must retain the above copyright
12db2b0adeStakemura  *    notice, this list of conditions and the following disclaimer.
13db2b0adeStakemura  * 2. Redistributions in binary form must reproduce the above copyright
14db2b0adeStakemura  *    notice, this list of conditions and the following disclaimer in the
15db2b0adeStakemura  *    documentation and/or other materials provided with the distribution.
16db2b0adeStakemura  * 3. All advertising materials mentioning features or use of this software
17db2b0adeStakemura  *    must display the following acknowledgement:
18db2b0adeStakemura  *	This product includes software developed by the PocketBSD project
19db2b0adeStakemura  *	and its contributors.
20db2b0adeStakemura  * 4. Neither the name of the project nor the names of its contributors
21db2b0adeStakemura  *    may be used to endorse or promote products derived from this software
22db2b0adeStakemura  *    without specific prior written permission.
23db2b0adeStakemura  *
24db2b0adeStakemura  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
25db2b0adeStakemura  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26db2b0adeStakemura  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27db2b0adeStakemura  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
28db2b0adeStakemura  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29db2b0adeStakemura  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30db2b0adeStakemura  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31db2b0adeStakemura  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32db2b0adeStakemura  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33db2b0adeStakemura  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34db2b0adeStakemura  * SUCH DAMAGE.
35db2b0adeStakemura  *
36db2b0adeStakemura  */
37db2b0adeStakemura 
38db2b0adeStakemura /*
39db2b0adeStakemura  *	ICU (Interrupt Control UNIT) Registers definitions
40*e7735eb5Sigy  *		start 0x0A000080 (vr4181)
4100ec577aSsato  *		start 0x0B000080 (vr4102/4111/4121)
4200ec577aSsato  *		start 0x0F000080 (vr4122)
43db2b0adeStakemura  */
4412a0a0a5Ssato #include "opt_vr41xx.h"
4512a0a0a5Ssato #include <hpcmips/vr/vrcpudef.h>
4612a0a0a5Ssato 
47a96c83ebSsato #define ICU_NO_REG_W		0xffffffff	/* no register */
4812a0a0a5Ssato 
499a679b0eSsato 
509a679b0eSsato /* SYSINT1 & MSYSINT1 */
51db2b0adeStakemura #define SYSINT1_REG_W		0x000	/* Level1 System intr reg 1 */
52db2b0adeStakemura #define MSYSINT1_REG_W		0x00c	/* Level1 Mask System intr reg 1 */
53db2b0adeStakemura 
54db2b0adeStakemura #define SYSINT1_INT15			(1<<15)
55db2b0adeStakemura #define SYSINT1_INT14			(1<<14)
5600ec577aSsato #define SYSINT1_INT13			(1<<13)
57db2b0adeStakemura #define SYSINT1_DOZEPIU			(1<<13)	/* PIU intr during Suspend */
58db2b0adeStakemura #define SYSINT1_INT12			(1<<12)
5900ec577aSsato #define SYSINT1_CLKRUN			(1<<12) /* CLKRUN intr (=vr4122) */
6000ec577aSsato #define SYSINT1_INT11			(1<<11)
61db2b0adeStakemura #define SYSINT1_SOFT			(1<<11)	/* Software intr */
6200ec577aSsato #define SYSINT1_INT10			(1<<10)
6300ec577aSsato #define SYSINT1_WRBERR			(1<<10)	/* Bus error intr (4102 <=,<= 4121)*/
6400ec577aSsato #define SYSINT1_INT9			(1<<9)
65db2b0adeStakemura #define SYSINT1_SIU			(1<<9)	/* SIU intr */
6600ec577aSsato #define SYSINT1_INT8			(1<<8)
67db2b0adeStakemura #define SYSINT1_GIU			(1<<8)	/* GIU intr */
6800ec577aSsato #define SYSINT1_INT7			(1<<7)
6900ec577aSsato #define SYSINT1_KIU			(1<<7)	/* KIU intr (4102 <=,<= 4121)*/
7000ec577aSsato #define SYSINT1_INT6			(1<<6)
7100ec577aSsato #define SYSINT1_AIU			(1<<6)	/* AIU intr (4102 <=,<= 4121)*/
7200ec577aSsato #define SYSINT1_INT5			(1<<5)
7300ec577aSsato #define SYSINT1_PIU			(1<<5)	/* PIU intr (4102 <=,<= 4121)*/
74db2b0adeStakemura #define SYSINT1_INT4			(1<<4)
7500ec577aSsato #define SYSINT1_INT3			(1<<3)
76db2b0adeStakemura #define SYSINT1_ETIMER			(1<<3)	/* ETIMER intr */
7700ec577aSsato #define SYSINT1_INT2			(1<<2)
78db2b0adeStakemura #define SYSINT1_RTCL1			(1<<2)	/* RTClong1 intr */
7900ec577aSsato #define SYSINT1_INT1			(1<<1)
80db2b0adeStakemura #define SYSINT1_POWER			(1<<1)	/* PowerSW intr */
8100ec577aSsato #define SYSINT1_INT0			(1<<0)
82db2b0adeStakemura #define SYSINT1_BAT			(1<<0)	/* Battery intr */
83db2b0adeStakemura 
84db2b0adeStakemura 
859a679b0eSsato /* PIUINT & MPIUINT */
863e0dc7b3Stakemura #define ICUPIUINT_REG_W		0x002	/* Level2 PIU intr reg */
87db2b0adeStakemura #define MPIUINT_REG_W		0x00e	/* Level2 Mask PIU intr reg */
88db2b0adeStakemura 
89db2b0adeStakemura #define		PIUINT_PADCMD		(1<<6)	/* PIU command scan intr */
90db2b0adeStakemura #define		PIUINT_PADADP		(1<<5)	/* PIU AD port scan intr */
91db2b0adeStakemura #define		PIUINT_PADPAGE1		(1<<4)	/* PIU data page 1 intr */
92db2b0adeStakemura #define		PIUINT_PADPAGE0		(1<<3)	/* PIU data page 0 intr */
93db2b0adeStakemura #define		PIUINT_PADLOST		(1<<2)	/* A/D data timeout intr */
94db2b0adeStakemura #define		PIUINT_PENCHG		(1)	/* Touch Panel contact intr */
95db2b0adeStakemura 
969a679b0eSsato 
979a679b0eSsato /* AIUINT & MAIUINT */
9812a0a0a5Ssato #define VR4102_AIUINT_REG_W	0x004	/* Level2 AIU intr reg */
9912a0a0a5Ssato #define VR4102_MAIUINT_REG_W	0x010	/* Level2 Mask AIU intr reg */
100a96c83ebSsato #define VR4122_AIUINT_REG_W	ICU_NO_REG_W	/* Level2 AIU intr reg */
101a96c83ebSsato #define VR4122_MAIUINT_REG_W	ICU_NO_REG_W	/* Level2 Mask AIU intr reg */
1029a679b0eSsato #define VR4181_AIUINT_REG_W	0x004	/* Level2 AIU intr reg */
1039a679b0eSsato #define VR4181_MAIUINT_REG_W	0x010	/* Level2 Mask AIU intr reg */
10412a0a0a5Ssato #if defined SINGLE_VRIP_BASE
10512a0a0a5Ssato #if defined VRGROUP_4102_4121
10612a0a0a5Ssato #define AIUINT_REG_W		VR4102_AIUINT_REG_W
10712a0a0a5Ssato #define MAIUINT_REG_W		VR4102_MAIUINT_REG_W
10812a0a0a5Ssato #endif /* VRGROUP_4102_4121 */
1099a679b0eSsato #if defined VRGROUP_4122_4131
11012a0a0a5Ssato #define AIUINT_REG_W		VR4122_AIUINT_REG_W
11112a0a0a5Ssato #define MAIUINT_REG_W		VR4122_MAIUINT_REG_W
1129a679b0eSsato #endif /* VRGROUP_4122_4131 */
1139a679b0eSsato #if defined VRGROUP_4181
1149a679b0eSsato #define AIUINT_REG_W		VR4181_AIUINT_REG_W
1159a679b0eSsato #define MAIUINT_REG_W		VR4181_MAIUINT_REG_W
1169a679b0eSsato #endif /* VRGROUP_4181 */
11712a0a0a5Ssato #endif
118db2b0adeStakemura 
119db2b0adeStakemura #define		AIUINT_INTMEND		(1<<11)	/* Audio input DMA buffer 2 page */
120db2b0adeStakemura #define		AIUINT_INTM		(1<<10)	/* Audio input DMA buffer 1 page */
121db2b0adeStakemura #define		AIUINT_INTMIDLE		(1<<9)	/* Audio input idle intr */
122db2b0adeStakemura #define		AIUINT_INTMST		(1<<8)	/* Audio input receive completion intr */
123db2b0adeStakemura #define		AIUINT_INTSEND		(1<<3)	/* Audio output buffer 2 page */
124db2b0adeStakemura #define		AIUINT_INTS		(1<<2)	/* Audio output buffer 1 page */
125db2b0adeStakemura #define		AIUINT_INTSIDLE		(1<<1)	/* Audio output idle intr */
126db2b0adeStakemura 
127db2b0adeStakemura 
1289a679b0eSsato /* KIUINT & MKIUINT */
12912a0a0a5Ssato #define VR4102_KIUINT_REG_W	0x006	/* Level2 KIU intr reg */
13012a0a0a5Ssato #define VR4102_MKIUINT_REG_W	0x012	/* Level2 Mask KIU intr reg */
131a96c83ebSsato #define VR4122_KIUINT_REG_W	ICU_NO_REG_W	/* Level2 KIU intr reg */
132a96c83ebSsato #define VR4122_MKIUINT_REG_W	ICU_NO_REG_W	/* Level2 Mask KIU intr reg */
1339a679b0eSsato #define VR4181_KIUINT_REG_W	0x118	/* Level2 KIU intr reg */
1349a679b0eSsato #define VR4181_MKIUINT_REG_W	0x012	/* Level2 Mask KIU intr reg */
13512a0a0a5Ssato #if defined SINGLE_VRIP_BASE
13612a0a0a5Ssato #if defined VRGROUP_4102_4121
13712a0a0a5Ssato #define KIUINT_REG_W		VR4102_KIUINT_REG_W
13812a0a0a5Ssato #define MKIUINT_REG_W		VR4102_MKIUINT_REG_W
13912a0a0a5Ssato #endif /* VRGROUP_4102_4121 */
1409a679b0eSsato #if defined VRGROUP_4122_4131
14112a0a0a5Ssato #define KIUINT_REG_W		VR4122_KIUINT_REG_W
14212a0a0a5Ssato #define MKIUINT_REG_W		VR4122_MKIUINT_REG_W
1439a679b0eSsato #endif /* VRGROUP_4122_4131 */
1449a679b0eSsato #if defined VRGROUP_4181
1459a679b0eSsato #define KIUINT_REG_W		VR4181_KIUINT_REG_W
1469a679b0eSsato #define MKIUINT_REG_W		VR4181_MKIUINT_REG_W
1479a679b0eSsato #endif /* VRGROUP_4181 */
14812a0a0a5Ssato #endif
149db2b0adeStakemura 
150db2b0adeStakemura #define		KIUINT_KDATLOST		(1<<2)	/* Key scan data lost */
151db2b0adeStakemura #define		KIUINT_KDATRDY		(1<<1)	/* Key scan data complete */
152db2b0adeStakemura #define		KIUINT_SCANINT		(1)	/* Key input detect intr */
153db2b0adeStakemura 
154db2b0adeStakemura 
1559a679b0eSsato /* GIUINTL & MGIUINTL */
1569a679b0eSsato #define VR4102_GIUINT_L_REG_W	0x008	/* Level2 GIU intr reg Low */
1579a679b0eSsato #define VR4102_MGIUINT_L_REG_W	0x014	/* Level2 Mask GIU intr reg Low */
1589a679b0eSsato #define VR4122_GIUINT_L_REG_W	0x008	/* Level2 GIU intr reg Low */
1599a679b0eSsato #define VR4122_MGIUINT_L_REG_W	0x014	/* Level2 Mask GIU intr reg Low */
160a96c83ebSsato #define VR4181_GIUINT_L_REG_W	ICU_NO_REG_W	/* Level2 GIU intr reg Low */
161a96c83ebSsato #define VR4181_MGIUINT_L_REG_W	ICU_NO_REG_W	/* Level2 Mask GIU intr reg Low */
1629a679b0eSsato #if defined SINGLE_VRIP_BASE
1639a679b0eSsato #if defined VRGROUP_4102_4121
1649a679b0eSsato #define GIUINT_L_REG_W		VR4102_GIUINT_L_REG_W
1659a679b0eSsato #define MGIUINT_L_REG_W		VR4102_MGIUINT_L_REG_W
1669a679b0eSsato #endif /* VRGROUP_4102_4121 */
1679a679b0eSsato #if defined VRGROUP_4122_4131
1689a679b0eSsato #define GIUINT_L_REG_W		VR4122_GIUINT_L_REG_W
1699a679b0eSsato #define MGIUINT_L_REG_W		VR4122_MGIUINT_L_REG_W
1709a679b0eSsato #endif /* VRGROUP_4122_4131 */
1719a679b0eSsato #if defined VRGROUP_4181
1729a679b0eSsato #define GIUINT_L_REG_W		VR4181_GIUINT_L_REG_W
1739a679b0eSsato #define MGIUINT_L_REG_W		VR4181_MGIUINT_L_REG_W
1749a679b0eSsato #endif /* VRGROUP_4181 */
1759a679b0eSsato #endif
176db2b0adeStakemura 
177db2b0adeStakemura #define		GIUINT_GPIO15		(1<<15)	/* GPIO 15 */
178db2b0adeStakemura #define		GIUINT_GPIO14		(1<<14)	/* GPIO 14 */
179db2b0adeStakemura #define		GIUINT_GPIO13		(1<<13)	/* GPIO 13 */
180db2b0adeStakemura #define		GIUINT_GPIO12		(1<<12)	/* GPIO 12 */
181db2b0adeStakemura #define		GIUINT_GPIO11		(1<<11)	/* GPIO 11 */
182db2b0adeStakemura #define		GIUINT_GPIO10		(1<<10)	/* GPIO 10 */
183db2b0adeStakemura #define		GIUINT_GPIO9		(1<<9)	/* GPIO 9 */
184db2b0adeStakemura #define		GIUINT_GPIO8		(1<<8)	/* GPIO 8 */
185db2b0adeStakemura #define		GIUINT_GPIO7		(1<<7)	/* GPIO 7 */
186db2b0adeStakemura #define		GIUINT_GPIO6		(1<<6)	/* GPIO 6 */
187db2b0adeStakemura #define		GIUINT_GPIO5		(1<<5)	/* GPIO 5 */
188db2b0adeStakemura #define		GIUINT_GPIO4		(1<<4)	/* GPIO 4 */
189db2b0adeStakemura #define		GIUINT_GPIO3		(1<<3)	/* GPIO 3 */
190db2b0adeStakemura #define		GIUINT_GPIO2		(1<<2)	/* GPIO 2 */
191db2b0adeStakemura #define		GIUINT_GPIO1		(1<<1)	/* GPIO 1 */
192db2b0adeStakemura #define		GIUINT_GPIO0		(1)	/* GPIO 0 */
193db2b0adeStakemura 
194db2b0adeStakemura 
1959a679b0eSsato /* DSIUINT & MDSIUINT */
1969a679b0eSsato #define VR4102_DSIUINT_REG_W		0x00a	/* Level2 DSIU intr reg */
1979a679b0eSsato #define VR4102_MDSIUINT_REG_W		0x016	/* Level2 Mask DSIU intr reg */
1989a679b0eSsato #define VR4122_DSIUINT_REG_W		0x00a	/* Level2 DSIU intr reg */
1999a679b0eSsato #define VR4122_MDSIUINT_REG_W		0x016	/* Level2 Mask DSIU intr reg */
200a96c83ebSsato #define VR4181_DSIUINT_REG_W		ICU_NO_REG_W	/* Level2 DSIU intr reg */
201a96c83ebSsato #define VR4181_MDSIUINT_REG_W		ICU_NO_REG_W	/* Level2 Mask DSIU intr reg */
2029a679b0eSsato #if defined SINGLE_VRIP_BASE
2039a679b0eSsato #if defined VRGROUP_4102_4121
2049a679b0eSsato #define DSIUINT_REG_W		VR4102_DSIUINT_REG_W
2059a679b0eSsato #define MDSIUINT_REG_W		VR4102_MDSIUINT_REG_W
2069a679b0eSsato #endif /* VRGROUP_4102_4121 */
2079a679b0eSsato #if defined VRGROUP_4122_4131
2089a679b0eSsato #define DSIUINT_REG_W		VR4122_DSIUINT_REG_W
2099a679b0eSsato #define MDSIUINT_REG_W		VR4122_MDSIUINT_REG_W
2109a679b0eSsato #endif /* VRGROUP_4122_4131 */
2119a679b0eSsato #if defined VRGROUP_4181
2129a679b0eSsato #define DSIUINT_REG_W		VR4181_DSIUINT_REG_W
2139a679b0eSsato #define MDSIUINT_REG_W		VR4181_MDSIUINT_REG_W
2149a679b0eSsato #endif /* VRGROUP_4181 */
2159a679b0eSsato #endif
216db2b0adeStakemura 
217db2b0adeStakemura #define		DSIUINT_DCTS		(1<<11)	/* DCTS# change */
218db2b0adeStakemura #define		DSIUINT_SER0		(1<<10)	/* Debug serial receive error */
219db2b0adeStakemura #define		DSIUINT_SR0		(1<<9)	/* Debug serial receive */
220db2b0adeStakemura #define		DSIUINT_ST0		(1<<8)	/* Debug serial transmit */
221db2b0adeStakemura 
2229a679b0eSsato 
2239a679b0eSsato /* NMI */
224db2b0adeStakemura #define NMI_REG_W		0x018	/* NMI reg */
225db2b0adeStakemura 
226db2b0adeStakemura #define		LOWBATT_NMIORINT	(1)	/* Low battery type */
227db2b0adeStakemura #define		LOWBATT_INT0		(1)	/* Low battery int 0 */
228db2b0adeStakemura #define		LOWBATT_NMI		(0)	/* Low battery NMI */
229db2b0adeStakemura 
230db2b0adeStakemura 
2319a679b0eSsato /* SOFTINT */
232db2b0adeStakemura #define SOFTINT_REG_W		0x01a	/* Software intr reg */
233db2b0adeStakemura 
234db2b0adeStakemura #define		SOFTINT_MASK3		(1<<3)	/* Softint3 mask */
235db2b0adeStakemura #define		SOFTINT_SET3		(1<<3)	/* Softint3 set */
236db2b0adeStakemura #define		SOFTINT_CLEAR3		(0<<3)	/* Softint3 clear */
237db2b0adeStakemura 
238db2b0adeStakemura #define		SOFTINT_MASK2		(1<<2)	/* Softint2 mask */
239db2b0adeStakemura #define		SOFTINT_SET2		(1<<2)	/* Softint2 set */
240db2b0adeStakemura #define		SOFTINT_CLEAR2		(0<<2)	/* Softint2 clear */
241db2b0adeStakemura 
242db2b0adeStakemura #define		SOFTINT_MASK1		(1<<1)	/* Softint1 mask */
243db2b0adeStakemura #define		SOFTINT_SET1		(1<<1)	/* Softint1 set */
244db2b0adeStakemura #define		SOFTINT_CLEAR1		(0<<1)	/* Softint1 clear */
245db2b0adeStakemura 
246db2b0adeStakemura #define		SOFTINT_MASK0		(1)	/* Softint0 mask */
247db2b0adeStakemura #define		SOFTINT_SET0		(1)	/* Softint0 set */
248db2b0adeStakemura #define		SOFTINT_CLEAR0		(0)	/* Softint0 clear */
249db2b0adeStakemura 
250db2b0adeStakemura 
2519a679b0eSsato /* SYSINT2 & MSYSINT2 */
25200ec577aSsato #define VR4102_SYSINT2_REG_W	0x180	/* Level1 System intr reg 2 */
25300ec577aSsato #define VR4102_MSYSINT2_REG_W	0x186	/* Level1 Mask System intr reg 2 */
25400ec577aSsato #define VR4122_SYSINT2_REG_W	0x020	/* Level1 System intr reg 2 */
25500ec577aSsato #define VR4122_MSYSINT2_REG_W	0x026	/* Level1 Mask System intr reg 2 */
2569a679b0eSsato #define VR4181_SYSINT2_REG_W	0x180	/* Level1 System intr reg 2 */
2579a679b0eSsato #define VR4181_MSYSINT2_REG_W	0x186	/* Level1 Mask System intr reg 2 */
25812a0a0a5Ssato #if defined SINGLE_VRIP_BASE
25912a0a0a5Ssato #if defined VRGROUP_4102_4121
26012a0a0a5Ssato #define SYSINT2_REG_W		VR4102_SYSINT2_REG_W
26112a0a0a5Ssato #define MSYSINT2_REG_W		VR4102_MSYSINT2_REG_W
26212a0a0a5Ssato #endif /* VRGROUP_4102_4121 */
2639a679b0eSsato #if defined VRGROUP_4122_4131
26412a0a0a5Ssato #define SYSINT2_REG_W		VR4122_SYSINT2_REG_W
26512a0a0a5Ssato #define MSYSINT2_REG_W		VR4122_MSYSINT2_REG_W
2669a679b0eSsato #endif /* VRGROUP_4122_4131 */
2679a679b0eSsato #if defined VRGROUP_4181
2689a679b0eSsato #define SYSINT2_REG_W		VR4181_SYSINT2_REG_W
2699a679b0eSsato #define MSYSINT2_REG_W		VR4181_MSYSINT2_REG_W
2709a679b0eSsato #endif /* VRGROUP_4181 */
27112a0a0a5Ssato #endif
272db2b0adeStakemura 
273db2b0adeStakemura #define SYSINT2_INT31			(1<<15)
274db2b0adeStakemura #define SYSINT2_INT30			(1<<14)
275db2b0adeStakemura #define SYSINT2_INT29			(1<<13)
276db2b0adeStakemura #define SYSINT2_INT28			(1<<12)
277db2b0adeStakemura #define SYSINT2_INT27			(1<<11)
278db2b0adeStakemura #define SYSINT2_INT26			(1<<10)
279db2b0adeStakemura #define SYSINT2_INT25			(1<<9)
28000ec577aSsato #define SYSINT2_BCU			(1<<9)  /* BCU intr (=vr4122) */
281db2b0adeStakemura #define SYSINT2_INT24			(1<<8)
28200ec577aSsato #define SYSINT2_CSI			(1<<8)  /* CSI intr (=vr4122) */
283db2b0adeStakemura #define SYSINT2_INT23			(1<<7)
28400ec577aSsato #define SYSINT2_SCU			(1<<7)	/* SCU intr (=vr4122) */
285db2b0adeStakemura #define SYSINT2_INT22			(1<<6)
28600ec577aSsato #define SYSINT2_PCI			(1<<6)	/* PCI intr (=vr4122) */
2879a679b0eSsato #define SYSINT2_LCD			(1<<6)	/* LCD intr (=vr4181) */
288db2b0adeStakemura #define SYSINT2_DSIU			(1<<5)	/* DSUI intr */
2899a679b0eSsato #define SYSINT2_DCU81			(1<<5)	/* DCU intr (=4181) */
290db2b0adeStakemura #define SYSINT2_FIR			(1<<4)	/* FIR intr */
291db2b0adeStakemura #define SYSINT2_TCLK			(1<<3)	/* TClock Counter intr */
2929a679b0eSsato #define SYSINT2_CSI81			(1<<3)	/* CSI intr (=4181) */
29300ec577aSsato #define SYSINT2_HSP			(1<<2)	/* HSP intr (4122>=4102)*/
2949a679b0eSsato #define SYSINT2_ECU			(1<<2)	/* EUC intr (=4181)*/
295db2b0adeStakemura #define SYSINT2_LED			(1<<1)	/* LED intr */
296db2b0adeStakemura #define SYSINT2_RTCL2			(1<<0)	/* RTCLong2 intr */
297db2b0adeStakemura 
298db2b0adeStakemura 
2999a679b0eSsato /* GIUINTH & MGIUINTH */
30000ec577aSsato #define VR4102_GIUINT_H_REG_W	0x182	/* Level2 GIU intr reg High */
30100ec577aSsato #define VR4102_MGIUINT_H_REG_W	0x188	/* Level2 Mask GIU intr reg High */
30200ec577aSsato #define VR4122_GIUINT_H_REG_W	0x022	/* Level2 GIU intr reg High */
30300ec577aSsato #define VR4122_MGIUINT_H_REG_W	0x028	/* Level2 Mask GIU intr reg High */
304a96c83ebSsato #define VR4181_GIUINT_H_REG_W	ICU_NO_REG_W	/* Level2 GIU intr reg High */
305a96c83ebSsato #define VR4181_MGIUINT_H_REG_W	ICU_NO_REG_W	/* Level2 Mask GIU intr reg High */
30612a0a0a5Ssato #if defined SINGLE_VRIP_BASE
30712a0a0a5Ssato #if defined VRGROUP_4102_4121
30812a0a0a5Ssato #define GIUINT_H_REG_W		VR4102_GIUINT_H_REG_W
30912a0a0a5Ssato #define MGIUINT_H_REG_W		VR4102_MGIUINT_H_REG_W
31012a0a0a5Ssato #endif /* VRGROUP_4102_4121 */
3119a679b0eSsato #if defined VRGROUP_4122_4131
31212a0a0a5Ssato #define GIUINT_H_REG_W		VR4122_GIUINT_H_REG_W
31312a0a0a5Ssato #define MGIUINT_H_REG_W		VR4122_MGIUINT_H_REG_W
3149a679b0eSsato #endif /* VRGROUP_4122_4131 */
3159a679b0eSsato #if defined VRGROUP_4181
3169a679b0eSsato #define GIUINT_H_REG_W		VR4181_GIUINT_H_REG_W
3179a679b0eSsato #define MGIUINT_H_REG_W		VR4181_MGIUINT_H_REG_W
3189a679b0eSsato #endif /* VRGROUP_4181 */
31912a0a0a5Ssato #endif
320db2b0adeStakemura 
321db2b0adeStakemura #define		GIUINT_GPIO31		(1<<15)	/* GPIO 31 */
322db2b0adeStakemura #define		GIUINT_GPIO30		(1<<14)	/* GPIO 30 */
323db2b0adeStakemura #define		GIUINT_GPIO29		(1<<13)	/* GPIO 29 */
324db2b0adeStakemura #define		GIUINT_GPIO28		(1<<12)	/* GPIO 28 */
325db2b0adeStakemura #define		GIUINT_GPIO27		(1<<11)	/* GPIO 27 */
326db2b0adeStakemura #define		GIUINT_GPIO26		(1<<10)	/* GPIO 26 */
327db2b0adeStakemura #define		GIUINT_GPIO25		(1<<9)	/* GPIO 25 */
328db2b0adeStakemura #define		GIUINT_GPIO24		(1<<8)	/* GPIO 24 */
329db2b0adeStakemura #define		GIUINT_GPIO23		(1<<7)	/* GPIO 23 */
330db2b0adeStakemura #define		GIUINT_GPIO22		(1<<6)	/* GPIO 22 */
331db2b0adeStakemura #define		GIUINT_GPIO21		(1<<5)	/* GPIO 21 */
332db2b0adeStakemura #define		GIUINT_GPIO20		(1<<4)	/* GPIO 20 */
333db2b0adeStakemura #define		GIUINT_GPIO19		(1<<3)	/* GPIO 19 */
334db2b0adeStakemura #define		GIUINT_GPIO18		(1<<2)	/* GPIO 18 */
335db2b0adeStakemura #define		GIUINT_GPIO17		(1<<1)	/* GPIO 17 */
336db2b0adeStakemura #define		GIUINT_GPIO16		(1)	/* GPIO 16 */
337db2b0adeStakemura 
338db2b0adeStakemura 
3399a679b0eSsato /* FIRINT & MFIRINT */
34000ec577aSsato #define VR4102_FIRINT_REG_W	0x184	/* Level2 FIR intr reg */
34100ec577aSsato #define VR4102_MFIRINT_REG_W	0x18a	/* Level2 Mask FIR intr reg */
34200ec577aSsato #define VR4122_FIRINT_REG_W	0x024	/* Level2 FIR intr reg */
34300ec577aSsato #define VR4122_MFIRINT_REG_W	0x02a	/* Level2 Mask FIR intr reg */
344a96c83ebSsato #define VR4181_FIRINT_REG_W	ICU_NO_REG_W	/* Level2 FIR intr reg */
345a96c83ebSsato #define VR4181_MFIRINT_REG_W	ICU_NO_REG_W	/* Level2 Mask FIR intr reg */
34612a0a0a5Ssato #if defined SINGLE_VRIP_BASE
34712a0a0a5Ssato #if defined VRGROUP_4102_4121
34812a0a0a5Ssato #define FIRINT_REG_W		VR4102_FIRINT_REG_W
34912a0a0a5Ssato #define MFIRINT_REG_W		VR4102_MFIRINT_REG_W
35012a0a0a5Ssato #endif /* VRGROUP_4102_4121 */
3519a679b0eSsato #if defined VRGROUP_4122_4131
35212a0a0a5Ssato #define FIRINT_REG_W		VR4122_FIRINT_REG_W
35312a0a0a5Ssato #define MFIRINT_REG_W		VR4122_MFIRINT_REG_W
3549a679b0eSsato #endif /* VRGROUP_4122_4131 */
3559a679b0eSsato #if defined VRGROUP_4181
3569a679b0eSsato #define FIRINT_REG_W		VR4181_FIRINT_REG_W
3579a679b0eSsato #define MFIRINT_REG_W		VR4181_MFIRINT_REG_W
3589a679b0eSsato #endif /* VRGROUP_4181 */
35912a0a0a5Ssato #endif
360db2b0adeStakemura 
361db2b0adeStakemura #define		FIRINT_FIR		(1<<4)	/* FIR intr */
362db2b0adeStakemura #define		FIRINT_RECV2		(1<<3)	/* FIR DMA buf recv buffer2 */
363db2b0adeStakemura #define		FIRINT_TRNS2		(1<<2)	/* FIR DMA buf transmit buffer2 */
364db2b0adeStakemura #define		FIRINT_RECV1		(1<<1)	/* FIR DMA buf recv buffer1 */
365db2b0adeStakemura #define		FIRINT_TRNS1		(1)	/* FIR DMA buf transmit buffer1 */
366db2b0adeStakemura 
3679a679b0eSsato 
3689a679b0eSsato /* PCIINT & MPCIINT */
369a96c83ebSsato #define VR4102_PCIINT_REG_W	ICU_NO_REG_W	/* Level2 PCI intr reg */
370a96c83ebSsato #define VR4102_MPCIINT_REG_W	ICU_NO_REG_W	/* Level2 PCI intr mask */
37100ec577aSsato #define VR4122_PCIINT_REG_W	0x2c	/* Level2 PCI intr reg */
37200ec577aSsato #define VR4122_MPCIINT_REG_W	0x32	/* Level2 PCI intr mask */
373a96c83ebSsato #define VR4181_PCIINT_REG_W	ICU_NO_REG_W	/* Level2 PCI intr reg */
374a96c83ebSsato #define VR4181_MPCIINT_REG_W	ICU_NO_REG_W	/* Level2 PCI intr mask */
37512a0a0a5Ssato #if defined SINGLE_VRIP_BASE
37612a0a0a5Ssato #if defined VRGROUP_4102_4121
37712a0a0a5Ssato #define PCIINT_REG_W		VR4102_PCIINT_REG_W
37812a0a0a5Ssato #define MPCIINT_REG_W		VR4102_MPCIINT_REG_W
37912a0a0a5Ssato #endif /* VRGROUP_4102_4121 */
3809a679b0eSsato #if defined VRGROUP_4122_4131
38112a0a0a5Ssato #define PCIINT_REG_W		VR4122_PCIINT_REG_W
38212a0a0a5Ssato #define MPCIINT_REG_W		VR4122_MPCIINT_REG_W
3839a679b0eSsato #endif /* VRGROUP_4122_4131 */
3849a679b0eSsato #if defined VRGROUP_4181
3859a679b0eSsato #define PCIINT_REG_W		VR4181_PCIINT_REG_W
3869a679b0eSsato #define MPCIINT_REG_W		VR4181_MPCIINT_REG_W
3879a679b0eSsato #endif /* VRGROUP_4181 */
38812a0a0a5Ssato #endif
38912a0a0a5Ssato 
39000ec577aSsato #define		PCIINT_INT0		(1)	/* PCI INT 0 */
39100ec577aSsato 
3929a679b0eSsato 
3939a679b0eSsato /* SCUINT & MSCUINT */
394a96c83ebSsato #define VR4102_SCUINT_REG_W	ICU_NO_REG_W	/* Level2 SCU intr reg */
395a96c83ebSsato #define VR4102_MSCUINT_REG_W	ICU_NO_REG_W	/* Level2 SCU intr mask */
39600ec577aSsato #define VR4122_SCUINT_REG_W	0x2e	/* Level2 SCU intr reg */
39700ec577aSsato #define VR4122_MSCUINT_REG_W	0x34	/* Level2 SCU intr mask */
398a96c83ebSsato #define VR4181_SCUINT_REG_W	ICU_NO_REG_W	/* Level2 SCU intr reg */
399a96c83ebSsato #define VR4181_MSCUINT_REG_W	ICU_NO_REG_W	/* Level2 SCU intr mask */
40012a0a0a5Ssato #if defined SINGLE_VRIP_BASE
40112a0a0a5Ssato #if defined VRGROUP_4102_4121
40212a0a0a5Ssato #define SCUINT_REG_W		VR4102_SCUINT_REG_W
40312a0a0a5Ssato #define MSCUINT_REG_W		VR4102_MSCUINT_REG_W
40412a0a0a5Ssato #endif /* VRGROUP_4102_4121 */
4059a679b0eSsato #if defined VRGROUP_4122_4131
40612a0a0a5Ssato #define SCUINT_REG_W		VR4122_SCUINT_REG_W
40712a0a0a5Ssato #define MSCUINT_REG_W		VR4122_MSCUINT_REG_W
4089a679b0eSsato #endif /* VRGROUP_4122_4131 */
4099a679b0eSsato #if defined VRGROUP_4181
4109a679b0eSsato #define SCUINT_REG_W		VR4181_SCUINT_REG_W
4119a679b0eSsato #define MSCUINT_REG_W		VR4181_MSCUINT_REG_W
4129a679b0eSsato #endif /* VRGROUP_4181 */
41312a0a0a5Ssato #endif
41412a0a0a5Ssato 
41500ec577aSsato #define		SCUINT_INT0		(1)	/* SCU INT 0 */
41600ec577aSsato 
4179a679b0eSsato 
4189a679b0eSsato /* CSIINT & MCSIINT */
419a96c83ebSsato #define VR4102_CSIINT_REG_W	ICU_NO_REG_W	/* Level2 CSI intr reg */
420a96c83ebSsato #define VR4102_MCSIINT_REG_W	ICU_NO_REG_W	/* Level2 CSI intr mask */
42100ec577aSsato #define VR4122_CSIINT_REG_W	0x30	/* Level2 CSI intr reg */
42200ec577aSsato #define VR4122_MCSIINT_REG_W	0x36	/* Level2 CSI intr mask */
423a96c83ebSsato #define VR4181_CSIINT_REG_W	ICU_NO_REG_W	/* Level2 CSI intr reg */
424a96c83ebSsato #define VR4181_MCSIINT_REG_W	ICU_NO_REG_W	/* Level2 CSI intr mask */
42512a0a0a5Ssato #if defined SINGLE_VRIP_BASE
42612a0a0a5Ssato #if defined VRGROUP_4102_4121
42712a0a0a5Ssato #define CSIINT_REG_W		VR4102_CSIINT_REG_W
42812a0a0a5Ssato #define MCSIINT_REG_W		VR4102_MCSIINT_REG_W
42912a0a0a5Ssato #endif /* VRGROUP_4102_4121 */
4309a679b0eSsato #if defined VRGROUP_4122_4131
43112a0a0a5Ssato #define CSIINT_REG_W		VR4122_CSIINT_REG_W
43212a0a0a5Ssato #define MCSIINT_REG_W		VR4122_MCSIINT_REG_W
4339a679b0eSsato #endif /* VRGROUP_4122_4131 */
4349a679b0eSsato #if defined VRGROUP_4181
4359a679b0eSsato #define CSIINT_REG_W		VR4181_CSIINT_REG_W
4369a679b0eSsato #define MCSIINT_REG_W		VR4181_MCSIINT_REG_W
4379a679b0eSsato #endif /* VRGROUP_4181 */
43812a0a0a5Ssato #endif
43912a0a0a5Ssato 
44000ec577aSsato #define		CSIINT_TRPAGE2		(1<<6)	/* DMA send page 2 intr */
44100ec577aSsato #define		CSIINT_TRPAGE1		(1<<5)	/* DMA send page 1 intr */
44200ec577aSsato #define		CSIINT_TREND		(1<<4)	/* send every data intr */
44300ec577aSsato #define		CSIINT_TREMPTY		(1<<3)	/* send FIFO empty intr */
44400ec577aSsato #define		CSIINT_RCPAGE2		(1<<2)	/* DMA recv page 2 intr */
44500ec577aSsato #define		CSIINT_RCPAGE1		(1<<1)	/* DMA recv page 1 intr */
44600ec577aSsato #define		CSIINT_RCOVER		(1)	/* recv FIFO overrun intr */
44700ec577aSsato 
4489a679b0eSsato 
4499a679b0eSsato /* BCUINT & MBCUINT */
450a96c83ebSsato #define VR4102_BCUINT_REG_W	ICU_NO_REG_W	/* Level2 BCU intr reg */
451a96c83ebSsato #define VR4102_MBCUINT_REG_W	ICU_NO_REG_W	/* Level2 BCU intr mask */
45200ec577aSsato #define VR4122_BCUINT_REG_W	0x38	/* Level2 BCU intr reg */
45300ec577aSsato #define VR4122_MBCUINT_REG_W	0x3a	/* Level2 BCU intr mask */
454a96c83ebSsato #define VR4181_BCUINT_REG_W	ICU_NO_REG_W	/* Level2 BCU intr reg */
455a96c83ebSsato #define VR4181_MBCUINT_REG_W	ICU_NO_REG_W	/* Level2 BCU intr mask */
45612a0a0a5Ssato #if defined SINGLE_VRIP_BASE
45712a0a0a5Ssato #if defined VRGROUP_4102_4121
45812a0a0a5Ssato #define BCUINT_REG_W		VR4102_BCUINT_REG_W
45912a0a0a5Ssato #define MBCUINT_REG_W		VR4102_MBCUINT_REG_W
46012a0a0a5Ssato #endif /* VRGROUP_4102_4121 */
4619a679b0eSsato #if defined VRGROUP_4122_4131
46212a0a0a5Ssato #define BCUINT_REG_W		VR4122_BCUINT_REG_W
46312a0a0a5Ssato #define MBCUINT_REG_W		VR4122_MBCUINT_REG_W
4649a679b0eSsato #endif /* VRGROUP_4122_4131 */
4659a679b0eSsato #if defined VRGROUP_4181
4669a679b0eSsato #define BCUINT_REG_W		VR4181_BCUINT_REG_W
4679a679b0eSsato #define MBCUINT_REG_W		VR4181_MBCUINT_REG_W
4689a679b0eSsato #endif /* VRGROUP_4181 */
46912a0a0a5Ssato #endif
47012a0a0a5Ssato 
47100ec577aSsato #define		BCUINT_INT		(1)	/* BCU INT */
47200ec577aSsato 
473db2b0adeStakemura /* END icureg.h */
474