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