1 1.5 martin /* $NetBSD: tx39icureg.h,v 1.5 2008/04/28 20:23:21 martin Exp $ */ 2 1.1 uch 3 1.3 uch /*- 4 1.3 uch * Copyright (c) 1999 The NetBSD Foundation, Inc. 5 1.1 uch * All rights reserved. 6 1.1 uch * 7 1.3 uch * This code is derived from software contributed to The NetBSD Foundation 8 1.3 uch * by UCHIYAMA Yasushi. 9 1.3 uch * 10 1.1 uch * Redistribution and use in source and binary forms, with or without 11 1.1 uch * modification, are permitted provided that the following conditions 12 1.1 uch * are met: 13 1.1 uch * 1. Redistributions of source code must retain the above copyright 14 1.1 uch * notice, this list of conditions and the following disclaimer. 15 1.3 uch * 2. Redistributions in binary form must reproduce the above copyright 16 1.3 uch * notice, this list of conditions and the following disclaimer in the 17 1.3 uch * documentation and/or other materials provided with the distribution. 18 1.1 uch * 19 1.3 uch * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 20 1.3 uch * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 21 1.3 uch * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 22 1.3 uch * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 23 1.3 uch * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 1.3 uch * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 1.3 uch * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 1.3 uch * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 1.3 uch * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 1.3 uch * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 1.3 uch * POSSIBILITY OF SUCH DAMAGE. 30 1.1 uch */ 31 1.3 uch 32 1.1 uch /* 33 1.1 uch * TOSHIBA TMPR3912/3922 interrupt module. 34 1.1 uch */ 35 1.1 uch #ifdef TX391X 36 1.1 uch #define TX39_INTRSET_MAX 5 37 1.1 uch #endif /* TX391X */ 38 1.1 uch #ifdef TX392X 39 1.1 uch #define TX39_INTRSET_MAX 8 40 1.1 uch #endif /* TX391X */ 41 1.1 uch 42 1.1 uch #define TX39_IRQHIGH_MAX 16 43 1.1 uch /* R */ 44 1.1 uch #define TX39_INTRSTATUS1_REG 0x100 45 1.1 uch #define TX39_INTRSTATUS2_REG 0x104 46 1.1 uch #define TX39_INTRSTATUS3_REG 0x108 47 1.1 uch #define TX39_INTRSTATUS4_REG 0x10c 48 1.1 uch #define TX39_INTRSTATUS5_REG 0x110 49 1.1 uch #define TX39_INTRSTATUS6_REG 0x114 50 1.1 uch #ifdef TX392X 51 1.1 uch #define TX39_INTRSTATUS7_REG 0x130 52 1.1 uch #define TX39_INTRSTATUS8_REG 0x138 53 1.1 uch #endif /* TX392X */ 54 1.1 uch #ifdef TX391X 55 1.1 uch #define TX39_INTRSTATUS_REG(x) (((x) - 1) * 4 + TX39_INTRSTATUS1_REG) 56 1.1 uch #endif /* TX391X */ 57 1.1 uch #ifdef TX392X 58 1.4 uch #define TX39_INTRSTATUS_REG(x) (((x) <= 6) ? \ 59 1.4 uch (((x) - 1) * 4 + TX39_INTRSTATUS1_REG) : \ 60 1.1 uch (((x) - 7) * 8 + TX39_INTRSTATUS7_REG)) 61 1.1 uch #endif /* TX392X */ 62 1.1 uch 63 1.1 uch /* W */ 64 1.1 uch #define TX39_INTRCLEAR1_REG 0x100 65 1.1 uch #define TX39_INTRCLEAR2_REG 0x104 66 1.1 uch #define TX39_INTRCLEAR3_REG 0x108 67 1.1 uch #define TX39_INTRCLEAR4_REG 0x10c 68 1.1 uch #define TX39_INTRCLEAR5_REG 0x110 69 1.1 uch #ifdef TX392X 70 1.1 uch #define TX39_INTRCLEAR7_REG 0x130 71 1.1 uch #define TX39_INTRCLEAR8_REG 0x138 72 1.1 uch #endif /* TX392X */ 73 1.1 uch #ifdef TX391X 74 1.1 uch #define TX39_INTRCLEAR_REG(x) (((x) - 1) * 4 + TX39_INTRCLEAR1_REG) 75 1.1 uch #endif /* TX391X */ 76 1.1 uch #ifdef TX392X 77 1.4 uch #define TX39_INTRCLEAR_REG(x) (((x) <= 6) ? \ 78 1.4 uch (((x) - 1) * 4 + TX39_INTRCLEAR1_REG) : \ 79 1.1 uch (((x) - 7) * 8 + TX39_INTRCLEAR7_REG)) 80 1.1 uch #endif /* TX392X */ 81 1.1 uch 82 1.1 uch /* R/W */ 83 1.1 uch #define TX39_INTRENABLE1_REG 0x118 84 1.1 uch #define TX39_INTRENABLE2_REG 0x11c 85 1.1 uch #define TX39_INTRENABLE3_REG 0x120 86 1.1 uch #define TX39_INTRENABLE4_REG 0x124 87 1.1 uch #define TX39_INTRENABLE5_REG 0x128 88 1.1 uch #define TX39_INTRENABLE6_REG 0x12c 89 1.1 uch #ifdef TX392X 90 1.1 uch #define TX39_INTRENABLE7_REG 0x134 91 1.1 uch #define TX39_INTRENABLE8_REG 0x13c 92 1.1 uch #endif /* TX392X */ 93 1.1 uch #ifdef TX391X 94 1.1 uch #define TX39_INTRENABLE_REG(x) (((x) - 1) * 4 + TX39_INTRENABLE1_REG) 95 1.1 uch #endif /* TX391X */ 96 1.1 uch #ifdef TX392X 97 1.4 uch #define TX39_INTRENABLE_REG(x) (((x) <= 6) ? \ 98 1.4 uch (((x) - 1) * 4 + TX39_INTRENABLE1_REG) : \ 99 1.1 uch (((x) - 7) * 8 + TX39_INTRENABLE7_REG)) 100 1.1 uch #endif /* TX392X */ 101 1.1 uch /* 102 1.1 uch * IRQLOW 103 1.1 uch */ 104 1.1 uch /* 105 1.1 uch * Interrupt status/clear 1 register. 106 1.1 uch * -> Enable 1 register 107 1.1 uch */ 108 1.1 uch /* R/W */ 109 1.1 uch #ifdef TX391X 110 1.1 uch #define TX39_INTRSTATUS1_LCDINT 0x80000000 111 1.1 uch #define TX39_INTRSTATUS1_DFINT 0x40000000 112 1.1 uch #endif /* TX391X */ 113 1.1 uch #define TX39_INTRSTATUS1_CHI0_5INT 0x20000000 114 1.1 uch #define TX39_INTRSTATUS1_CHI1_0INT 0x10000000 115 1.1 uch #define TX39_INTRSTATUS1_CHIDMACNTINT 0x08000000 116 1.1 uch #define TX39_INTRSTATUS1_CHININTA 0x04000000 117 1.1 uch #define TX39_INTRSTATUS1_CHININTB 0x02000000 118 1.1 uch #define TX39_INTRSTATUS1_CHIACTINT 0x01000000 119 1.1 uch #define TX39_INTRSTATUS1_CHIERRINT 0x00800000 120 1.1 uch #define TX39_INTRSTATUS1_SND0_5INT 0x00400000 121 1.1 uch #define TX39_INTRSTATUS1_SND1_0INT 0x00200000 122 1.1 uch #define TX39_INTRSTATUS1_TEL0_5INT 0x00100000 123 1.1 uch #define TX39_INTRSTATUS1_TEL1_0INT 0x00080000 124 1.1 uch #define TX39_INTRSTATUS1_SNDDMACNTINT 0x00040000 125 1.1 uch #define TX39_INTRSTATUS1_TELDMACNTINT 0x00020000 126 1.1 uch #define TX39_INTRSTATUS1_LSNDCLIPINT 0x00010000 127 1.1 uch #define TX39_INTRSTATUS1_RSNDCLIPINT 0x00008000 128 1.1 uch #define TX39_INTRSTATUS1_VALSNDPOSINT 0x00004000 129 1.1 uch #define TX39_INTRSTATUS1_VALSNDNEGINT 0x00002000 130 1.1 uch #define TX39_INTRSTATUS1_VALTELPOSINT 0x00001000 131 1.1 uch #define TX39_INTRSTATUS1_VALTELNEGINT 0x00000800 132 1.1 uch #define TX39_INTRSTATUS1_SNDININT 0x00000400 133 1.1 uch #define TX39_INTRSTATUS1_TELININT 0x00000200 134 1.1 uch #define TX39_INTRSTATUS1_SIBSF0INT 0x00000100 135 1.1 uch #define TX39_INTRSTATUS1_SIBSF1INT 0x00000080 136 1.1 uch #define TX39_INTRSTATUS1_SIBIRQPOSINT 0x00000040 137 1.1 uch #define TX39_INTRSTATUS1_SIBIRQNEGINT 0x00000020 138 1.1 uch 139 1.1 uch #ifdef TX391X 140 1.1 uch #define TX39_INTRSTATUS1_VIDEO 0xc0000000 141 1.1 uch #endif /* TX391X */ 142 1.1 uch #define TX39_INTRSTATUS1_CHI 0x3f800000 143 1.1 uch #define TX39_INTRSTATUS1_SND 0x007ffe00 144 1.1 uch #define TX39_INTRSTATUS1_SIB 0x000001e0 145 1.1 uch 146 1.1 uch /* 147 1.1 uch * Interrupt status/clear 2 register. 148 1.1 uch * -> Enable 2 register 149 1.1 uch */ 150 1.1 uch /* R/W */ 151 1.1 uch #define TX39_INTRSTATUS2_UARTARXINT 0x80000000 152 1.1 uch #define TX39_INTRSTATUS2_UARTARXOVERRUNINT 0x40000000 153 1.1 uch #define TX39_INTRSTATUS2_UARTAFRAMEERRINT 0x20000000 154 1.1 uch #define TX39_INTRSTATUS2_UARTABREAKINT 0x10000000 155 1.1 uch #define TX39_INTRSTATUS2_UARTAPARITYERRINT 0x08000000 156 1.1 uch #define TX39_INTRSTATUS2_UARTATXINT 0x04000000 157 1.1 uch #define TX39_INTRSTATUS2_UARTATXOVERRUNINT 0x02000000 158 1.1 uch #define TX39_INTRSTATUS2_UARTAEMPTYINT 0x01000000 159 1.1 uch #define TX39_INTRSTATUS2_UARTADMAFULLINT 0x00800000 160 1.1 uch #define TX39_INTRSTATUS2_UARTADMAHALFINT 0x00400000 161 1.2 uch 162 1.1 uch #define TX39_INTRSTATUS2_UARTBRXINT 0x00200000 163 1.1 uch #define TX39_INTRSTATUS2_UARTBRXOVERRUNINT 0x00100000 164 1.1 uch #define TX39_INTRSTATUS2_UARTBFRAMEERRINT 0x00080000 165 1.1 uch #define TX39_INTRSTATUS2_UARTBBREAKINT 0x00040000 166 1.1 uch #define TX39_INTRSTATUS2_UARTBPARITYERRINT 0x00020000 167 1.1 uch #define TX39_INTRSTATUS2_UARTBTXINT 0x00010000 168 1.1 uch #define TX39_INTRSTATUS2_UARTBTXOVERRUNINT 0x00008000 169 1.1 uch #define TX39_INTRSTATUS2_UARTBEMPTYINT 0x00004000 170 1.1 uch #define TX39_INTRSTATUS2_UARTBDMAFULLINT 0x00002000 171 1.1 uch #define TX39_INTRSTATUS2_UARTBDMAHALFINT 0x00001000 172 1.2 uch 173 1.4 uch #define TX39_INTRSTATUS2_UARTRXINT(x) \ 174 1.4 uch ((x) ? TX39_INTRSTATUS2_UARTBRXINT : \ 175 1.2 uch TX39_INTRSTATUS2_UARTARXINT) 176 1.4 uch #define TX39_INTRSTATUS2_UARTRXOVERRUNINT(x) \ 177 1.4 uch ((x) ? TX39_INTRSTATUS2_UARTBRXOVERRUNINT : \ 178 1.2 uch TX39_INTRSTATUS2_UARTARXOVERRUNINT) 179 1.4 uch #define TX39_INTRSTATUS2_UARTFRAMEERRINT(x) \ 180 1.4 uch ((x) ? TX39_INTRSTATUS2_UARTBFRAMEERRINT : \ 181 1.2 uch TX39_INTRSTATUS2_UARTAFRAMEERRINT) 182 1.4 uch #define TX39_INTRSTATUS2_UARTBREAKINT(x) \ 183 1.4 uch ((x) ? TX39_INTRSTATUS2_UARTBBREAKINT : \ 184 1.2 uch TX39_INTRSTATUS2_UARTABREAKINT) 185 1.4 uch #define TX39_INTRSTATUS2_UARTPARITYERRINT(x) \ 186 1.4 uch ((x) ? TX39_INTRSTATUS2_UARTBPARITYERRINT : \ 187 1.2 uch TX39_INTRSTATUS2_UARTAPARITYERRINT) 188 1.4 uch #define TX39_INTRSTATUS2_UARTTXINT(x) \ 189 1.4 uch ((x) ? TX39_INTRSTATUS2_UARTBTXINT : \ 190 1.2 uch TX39_INTRSTATUS2_UARTATXINT) 191 1.4 uch #define TX39_INTRSTATUS2_UARTTXOVERRUNINT(x) \ 192 1.4 uch ((x) ? TX39_INTRSTATUS2_UARTBTXOVERRUNINT : \ 193 1.2 uch TX39_INTRSTATUS2_UARTATXOVERRUNINT) 194 1.4 uch #define TX39_INTRSTATUS2_UARTEMPTYINT(x) \ 195 1.4 uch ((x) ? TX39_INTRSTATUS2_UARTBEMPTYINT : \ 196 1.2 uch TX39_INTRSTATUS2_UARTEMPTYINT) 197 1.4 uch #define TX39_INTRSTATUS2_UARTDMAFULLINT(x) \ 198 1.4 uch ((x) ? TX39_INTRSTATUS2_UARTBDMAFULLINT : \ 199 1.2 uch TX39_INTRSTATUS2_UARTADMAFULLINT) 200 1.4 uch #define TX39_INTRSTATUS2_UARTDMAHALFINT(x) \ 201 1.4 uch ((x) ? TX39_INTRSTATUS2_UARTBDMAHALFINT : \ 202 1.2 uch TX39_INTRSTATUS2_UARTADMAHALFINT) 203 1.2 uch 204 1.1 uch #ifdef TX391X 205 1.1 uch #define TX39_INTRSTATUS2_MBUSTXBUFAVAILINT 0x00000800 206 1.1 uch #define TX39_INTRSTATUS2_MBUSTXERRINT 0x00000400 207 1.1 uch #define TX39_INTRSTATUS2_MBUSEMPTYINT 0x00000200 208 1.1 uch #define TX39_INTRSTATUS2_MBUSRXBUFAVAILINT 0x00000100 209 1.1 uch #define TX39_INTRSTATUS2_MBUSRXERRINT 0x00000080 210 1.1 uch #define TX39_INTRSTATUS2_MBUSDETINT 0x00000040 211 1.1 uch #define TX39_INTRSTATUS2_MBUSDMAFULLINT 0x00000020 212 1.1 uch #define TX39_INTRSTATUS2_MBUSDMAHALFINT 0x00000010 213 1.1 uch #define TX39_INTRSTATUS2_MBUSPOSINT 0x00000008 214 1.1 uch #define TX39_INTRSTATUS2_MBUSNEGINT 0x00000004 215 1.1 uch #endif /* TX391X */ 216 1.1 uch 217 1.1 uch #define TX39_INTRSTATUS2_UARTA 0xffc00000 218 1.1 uch #define TX39_INTRSTATUS2_UARTB 0x003ff000 219 1.1 uch #ifdef TX391X 220 1.1 uch #define TX39_INTRSTATUS2_MBUS 0x00000ffc 221 1.1 uch #endif /* TX391X */ 222 1.1 uch /* 223 1.1 uch * Interrupt status/clear 3 register. (Multifunction I/O pin) 224 1.1 uch * -> Enable 3 register 225 1.1 uch */ 226 1.1 uch /* R/W */ 227 1.1 uch #define TX39_INTRSTATUS3_MFIOPOSINT(r) ((r) << 1) 228 1.1 uch 229 1.1 uch #define TX39_INTRSTATUS3_CHIFSPOSINT 0x80000000 230 1.1 uch #define TX39_INTRSTATUS3_CHICLKPOSINT 0x40000000 231 1.1 uch #define TX39_INTRSTATUS3_CHIDOUTPOSINT 0x20000000 232 1.1 uch #define TX39_INTRSTATUS3_CHIDINPOSINT 0x10000000 233 1.1 uch #define TX39_INTRSTATUS3_DREQPOSINT 0x08000000 234 1.1 uch #define TX39_INTRSTATUS3_DGRINTPOSINT 0x04000000 235 1.1 uch #define TX39_INTRSTATUS3_BC32KPOSINT 0x02000000 236 1.1 uch #define TX39_INTRSTATUS3_TXDPOSINT 0x01000000 237 1.1 uch #define TX39_INTRSTATUS3_RXDPOSINT 0x00800000 238 1.1 uch #define TX39_INTRSTATUS3_CS1POSINT 0x00400000 239 1.1 uch #define TX39_INTRSTATUS3_CS2POSINT 0x00200000 240 1.1 uch #define TX39_INTRSTATUS3_CS3POSINT 0x00100000 241 1.1 uch #define TX39_INTRSTATUS3_MCS0POSINT 0x00080000 242 1.1 uch #define TX39_INTRSTATUS3_MCS1POSINT 0x00040000 243 1.1 uch #define TX39_INTRSTATUS3_MCS2POSINT 0x00020000 244 1.1 uch #define TX39_INTRSTATUS3_MCS3POSINT 0x00010000 245 1.1 uch #define TX39_INTRSTATUS3_SPICLKPOSINT 0x00008000 246 1.1 uch #define TX39_INTRSTATUS3_SPIOUTPOSINT 0x00004000 247 1.1 uch #define TX39_INTRSTATUS3_SPINPOSINT 0x00002000 248 1.1 uch #define TX39_INTRSTATUS3_SIBMCLKPOSINT 0x00001000 249 1.1 uch #define TX39_INTRSTATUS3_CARDREGPOSINT 0x00000800 250 1.1 uch #define TX39_INTRSTATUS3_CARDIOWRPOSINT 0x00000400 251 1.1 uch #define TX39_INTRSTATUS3_CARDIORDPOSINT 0x00000200 252 1.1 uch #define TX39_INTRSTATUS3_CARD1CSLPOSINT 0x00000100 253 1.1 uch #define TX39_INTRSTATUS3_CARD1CSHPOSINT 0x00000080 254 1.1 uch #define TX39_INTRSTATUS3_CARD2CSLPOSINT 0x00000040 255 1.1 uch #define TX39_INTRSTATUS3_CARD2CSHPOSINT 0x00000020 256 1.1 uch #define TX39_INTRSTATUS3_CARD1WAITPOSINT 0x00000010 257 1.1 uch #define TX39_INTRSTATUS3_CARD2WAITPOSINT 0x00000008 258 1.1 uch #define TX39_INTRSTATUS3_CARDDIRPOSINT 0x00000004 259 1.1 uch 260 1.1 uch /* 261 1.1 uch * Interrupt status/clear 4 register. (Multifunction I/O pin) 262 1.1 uch * -> Enable 4 register 263 1.1 uch */ 264 1.1 uch /* R/W */ 265 1.1 uch #define TX39_INTRSTATUS4_MFIONEGINT(r) ((r) << 1) 266 1.1 uch 267 1.1 uch #define TX39_INTRSTATUS4_CHIFSNEGINT 0x80000000 268 1.1 uch #define TX39_INTRSTATUS4_CHICLKNEGINT 0x40000000 269 1.1 uch #define TX39_INTRSTATUS4_CHIDOUTNEGINT 0x20000000 270 1.1 uch #define TX39_INTRSTATUS4_CHIDINNEGINT 0x10000000 271 1.1 uch #define TX39_INTRSTATUS4_DREQNEGINT 0x08000000 272 1.1 uch #define TX39_INTRSTATUS4_DGRINTNEGINT 0x04000000 273 1.1 uch #define TX39_INTRSTATUS4_BC32KNEGINT 0x02000000 274 1.1 uch #define TX39_INTRSTATUS4_TXDNEGINT 0x01000000 275 1.1 uch #define TX39_INTRSTATUS4_RXDNEGINT 0x00800000 276 1.1 uch #define TX39_INTRSTATUS4_CS1NEGINT 0x00400000 277 1.1 uch #define TX39_INTRSTATUS4_CS2NEGINT 0x00200000 278 1.1 uch #define TX39_INTRSTATUS4_CS3NEGINT 0x00100000 279 1.1 uch #define TX39_INTRSTATUS4_MCS0NEGINT 0x00080000 280 1.1 uch #define TX39_INTRSTATUS4_MCS1NEGINT 0x00040000 281 1.1 uch #define TX39_INTRSTATUS4_MCS2NEGINT 0x00020000 282 1.1 uch #define TX39_INTRSTATUS4_MCS3NEGINT 0x00010000 283 1.1 uch #define TX39_INTRSTATUS4_SPICLKNEGINT 0x00008000 284 1.1 uch #define TX39_INTRSTATUS4_SPIOUTNEGINT 0x00004000 285 1.1 uch #define TX39_INTRSTATUS4_SPINNEGINT 0x00002000 286 1.1 uch #define TX39_INTRSTATUS4_SIBMCLKNEGINT 0x00001000 287 1.1 uch #define TX39_INTRSTATUS4_CARDREGNEGINT 0x00000800 288 1.1 uch #define TX39_INTRSTATUS4_CARDIOWRNEGINT 0x00000400 289 1.1 uch #define TX39_INTRSTATUS4_CARDIORDNEGINT 0x00000200 290 1.1 uch #define TX39_INTRSTATUS4_CARD1CSLNEGINT 0x00000100 291 1.1 uch #define TX39_INTRSTATUS4_CARD1CSHNEGINT 0x00000080 292 1.1 uch #define TX39_INTRSTATUS4_CARD2CSLNEGINT 0x00000040 293 1.1 uch #define TX39_INTRSTATUS4_CARD2CSHNEGINT 0x00000020 294 1.1 uch #define TX39_INTRSTATUS4_CARD1WAITNEGINT 0x00000010 295 1.1 uch #define TX39_INTRSTATUS4_CARD2WAITNEGINT 0x00000008 296 1.1 uch #define TX39_INTRSTATUS4_CARDDIRNEGINT 0x00000004 297 1.1 uch 298 1.1 uch /* 299 1.1 uch * Interrupt status/clear 5 register. 300 1.1 uch * -> Enable 5 register 301 1.1 uch */ 302 1.1 uch /* R/W */ 303 1.1 uch #define TX39_INTRSTATUS5_RTCINT 0x80000000 304 1.1 uch #define TX39_INTRSTATUS5_ALARMINT 0x40000000 305 1.1 uch #define TX39_INTRSTATUS5_PERINT 0x20000000 306 1.1 uch #define TX39_INTRSTATUS5_STPTIMERINT 0x10000000 307 1.1 uch #define TX39_INTRSTATUS5_POSPWRINT 0x08000000 308 1.1 uch #define TX39_INTRSTATUS5_NEGPWRINT 0x04000000 309 1.1 uch #define TX39_INTRSTATUS5_POSPWROKINT 0x02000000 310 1.1 uch #define TX39_INTRSTATUS5_NEGPWROKINT 0x01000000 311 1.1 uch #define TX39_INTRSTATUS5_POSONBUTNINT 0x00800000 312 1.1 uch #define TX39_INTRSTATUS5_NEGONBUTNINT 0x00400000 313 1.1 uch #define TX39_INTRSTATUS5_SPIBUFAVAILINT 0x00200000 314 1.1 uch #define TX39_INTRSTATUS5_SPIERRINT 0x00100000 315 1.1 uch #define TX39_INTRSTATUS5_SPIRCVINT 0x00080000 316 1.1 uch #define TX39_INTRSTATUS5_SPIEMPTYINT 0x00040000 317 1.1 uch #define TX39_INTRSTATUS5_IRCONSMINT 0x00020000 318 1.1 uch #define TX39_INTRSTATUS5_CARSTINT 0x00010000 319 1.1 uch #define TX39_INTRSTATUS5_POSCARINT 0x00008000 320 1.1 uch #define TX39_INTRSTATUS5_NEGCARINT 0x00004000 321 1.1 uch #ifdef TX391X 322 1.1 uch #define TX39_INTRSTATUS5_IOPOSINT6 0x00002000 323 1.1 uch #define TX39_INTRSTATUS5_IOPOSINT5 0x00001000 324 1.1 uch #define TX39_INTRSTATUS5_IOPOSINT4 0x00000800 325 1.1 uch #define TX39_INTRSTATUS5_IOPOSINT3 0x00000400 326 1.1 uch #define TX39_INTRSTATUS5_IOPOSINT2 0x00000200 327 1.1 uch #define TX39_INTRSTATUS5_IOPOSINT1 0x00000100 328 1.1 uch #define TX39_INTRSTATUS5_IOPOSINT0 0x00000080 329 1.1 uch #define TX39_INTRSTATUS5_IONEGINT6 0x00000040 330 1.1 uch #define TX39_INTRSTATUS5_IONEGINT5 0x00000020 331 1.1 uch #define TX39_INTRSTATUS5_IONEGINT4 0x00000010 332 1.1 uch #define TX39_INTRSTATUS5_IONEGINT3 0x00000008 333 1.1 uch #define TX39_INTRSTATUS5_IONEGINT2 0x00000004 334 1.1 uch #define TX39_INTRSTATUS5_IONEGINT1 0x00000002 335 1.1 uch #define TX39_INTRSTATUS5_IONEGINT0 0x00000001 336 1.1 uch #endif /* TX391X */ 337 1.1 uch 338 1.1 uch #define TX39_INTRSTATUS5_TIMER 0xe0000000 339 1.1 uch #define TX39_INTRSTATUS5_POWER 0x1fc00000 340 1.1 uch #define TX39_INTRSTATUS5_SPI 0x003c0000 341 1.1 uch #define TX39_INTRSTATUS5_IR 0x0003c000 342 1.1 uch #ifdef TX391X 343 1.1 uch #define TX39_INTRSTATUS5_IO 0x00003fff 344 1.1 uch 345 1.1 uch #define TX39_INTRSTATUS5_IOPOSINT_SHIFT 7 346 1.1 uch #define TX39_INTRSTATUS5_IOPOSINT_MASK 0x7f 347 1.4 uch #define TX39_INTRSTATUS5_IOPOSINT(cr) \ 348 1.4 uch (((cr) >> TX39_INTRSTATUS5_IOPOSINT_SHIFT) & \ 349 1.1 uch TX39_INTRSTATUS5_IOPOSINT_MASK) 350 1.4 uch #define TX39_INTRSTATUS5_IOPOSINT_SET(cr, val) \ 351 1.4 uch ((cr) | (((val) << TX39_INTRSTATUS5_IOPOSINT_SHIFT) & \ 352 1.1 uch (TX39_INTRSTATUS5_IOPOSINT_MASK << TX39_INTRSTATUS5_IOPOSINT_SHIFT))) 353 1.1 uch 354 1.1 uch #define TX39_INTRSTATUS5_IONEGINT_SHIFT 0 355 1.1 uch #define TX39_INTRSTATUS5_IONEGINT_MASK 0x7f 356 1.4 uch #define TX39_INTRSTATUS5_IONEGINT(cr) \ 357 1.4 uch (((cr) >> TX39_INTRSTATUS5_IONEGINT_SHIFT) & \ 358 1.1 uch TX39_INTRSTATUS5_IONEGINT_MASK) 359 1.4 uch #define TX39_INTRSTATUS5_IONEGINT_SET(cr, val) \ 360 1.4 uch ((cr) | (((val) << TX39_INTRSTATUS5_IONEGINT_SHIFT) & \ 361 1.1 uch (TX39_INTRSTATUS5_IONEGINT_MASK << TX39_INTRSTATUS5_IONEGINT_SHIFT))) 362 1.1 uch #endif /* TX391X */ 363 1.1 uch /* 364 1.1 uch * Interrupt status 6 register. 365 1.1 uch */ 366 1.1 uch /* R */ 367 1.1 uch #define TX39_INTRSTATUS6_IRQHIGH 0x80000000 368 1.1 uch #define TX39_INTRSTATUS6_IRQLOW 0x40000000 369 1.1 uch 370 1.4 uch #define TX39_INTRSTATUS6_INTVECT_SHIFT 2 371 1.1 uch #define TX39_INTRSTATUS6_INTVECT_MASK 0xf 372 1.4 uch #define TX39_INTRSTATUS6_INTVECT(cr) \ 373 1.4 uch (((cr) >> TX39_INTRSTATUS6_INTVECT_SHIFT) & \ 374 1.1 uch TX39_INTRSTATUS6_INTVECT_MASK) 375 1.1 uch 376 1.1 uch /* 377 1.1 uch * Interrupt enable 6 register. 378 1.1 uch */ 379 1.1 uch /* R/W */ 380 1.1 uch #define TX39_INTRENABLE6_GLOBALEN 0x00040000 381 1.1 uch 382 1.1 uch #define TX39_INTRENABLE6_PRIORITYMASK_SHIFT 0 383 1.1 uch #define TX39_INTRENABLE6_PRIORITYMASK_MASK 0xffff 384 1.4 uch #define TX39_INTRENABLE6_PRIORITYMASK(cr) \ 385 1.4 uch (((cr) >> TX39_INTRENABLE6_PRIORITYMASK_SHIFT) & \ 386 1.1 uch TX39_INTRENABLE6_PRIORITYMASK_MASK) 387 1.4 uch #define TX39_INTRENABLE6_PRIORITYMASK_SET(cr, val) \ 388 1.4 uch ((cr) | (((val) << TX39_INTRENABLE6_PRIORITYMASK_SHIFT) & \ 389 1.4 uch (TX39_INTRENABLE6_PRIORITYMASK_MASK << \ 390 1.4 uch TX39_INTRENABLE6_PRIORITYMASK_SHIFT))) 391 1.1 uch 392 1.1 uch #ifdef TX392X 393 1.1 uch /* 394 1.1 uch * Interrupt Status 7 Register 395 1.1 uch */ 396 1.1 uch #define TX3922_INTRSTATUS7_IRTXCINT 0x00100000 397 1.1 uch #define TX3922_INTRSTATUS7_IRRXCINT 0x00080000 398 1.1 uch #define TX3922_INTRSTATUS7_IRTXEINT 0x00040000 399 1.1 uch #define TX3922_INTRSTATUS7_IRRXEINT 0x00020000 400 1.1 uch #define TX3922_INTRSTATUS7_IRSIRPXINT 0x00010000 401 1.1 uch 402 1.1 uch /* 403 1.1 uch * Interrupt Status 8 Register 404 1.1 uch */ 405 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT15 0x80000000 406 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT14 0x40000000 407 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT13 0x20000000 408 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT12 0x10000000 409 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT11 0x08000000 410 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT10 0x04000000 411 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT9 0x02000000 412 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT8 0x01000000 413 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT7 0x00800000 414 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT6 0x00400000 415 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT5 0x00200000 416 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT4 0x00100000 417 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT3 0x00080000 418 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT2 0x00040000 419 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT1 0x00020000 420 1.1 uch #define TX39_INTRSTATUS8_IOPOSINT0 0x00010000 421 1.1 uch #define TX39_INTRSTATUS8_IONEGINT15 0x00008000 422 1.1 uch #define TX39_INTRSTATUS8_IONEGINT14 0x00004000 423 1.1 uch #define TX39_INTRSTATUS8_IONEGINT13 0x00002000 424 1.1 uch #define TX39_INTRSTATUS8_IONEGINT12 0x00001000 425 1.1 uch #define TX39_INTRSTATUS8_IONEGINT11 0x00000800 426 1.1 uch #define TX39_INTRSTATUS8_IONEGINT10 0x00000400 427 1.1 uch #define TX39_INTRSTATUS8_IONEGINT9 0x00000200 428 1.1 uch #define TX39_INTRSTATUS8_IONEGINT8 0x00000100 429 1.1 uch #define TX39_INTRSTATUS8_IONEGINT7 0x00000080 430 1.1 uch #define TX39_INTRSTATUS8_IONEGINT6 0x00000040 431 1.1 uch #define TX39_INTRSTATUS8_IONEGINT5 0x00000020 432 1.1 uch #define TX39_INTRSTATUS8_IONEGINT4 0x00000010 433 1.1 uch #define TX39_INTRSTATUS8_IONEGINT3 0x00000008 434 1.1 uch #define TX39_INTRSTATUS8_IONEGINT2 0x00000004 435 1.1 uch #define TX39_INTRSTATUS8_IONEGINT1 0x00000002 436 1.1 uch #define TX39_INTRSTATUS8_IONEGINT0 0x00000001 437 1.1 uch 438 1.1 uch #define TX3922_INTRSTATUS8_IOPOSINT_SHIFT 16 439 1.1 uch #define TX3922_INTRSTATUS8_IOPOSINT_MASK 0xffff 440 1.4 uch #define TX3922_INTRSTATUS8_IOPOSINT(cr) \ 441 1.4 uch (((cr) >> TX3922_INTRSTATUS8_IOPOSINT_SHIFT) & \ 442 1.1 uch TX3922_INTRSTATUS8_IOPOSINT_MASK) 443 1.4 uch #define TX3922_INTRSTATUS8_IOPOSINT_SET(cr, val) \ 444 1.4 uch ((cr) | (((val) << TX3922_INTRSTATUS8_IOPOSINT_SHIFT) & \ 445 1.4 uch (TX3922_INTRSTATUS8_IOPOSINT_MASK << \ 446 1.4 uch TX3922_INTRSTATUS8_IOPOSINT_SHIFT))) 447 1.1 uch 448 1.1 uch #define TX3922_INTRSTATUS8_IONEGINT_SHIFT 0 449 1.1 uch #define TX3922_INTRSTATUS8_IONEGINT_MASK 0xffff 450 1.4 uch #define TX3922_INTRSTATUS8_IONEGINT(cr) \ 451 1.4 uch (((cr) >> TX3922_INTRSTATUS8_IONEGINT_SHIFT) & \ 452 1.1 uch TX3922_INTRSTATUS8_IONEGINT_MASK) 453 1.4 uch #define TX3922_INTRSTATUS8_IONEGINT_SET(cr, val) \ 454 1.4 uch ((cr) | (((val) << TX3922_INTRSTATUS8_IONEGINT_SHIFT) & \ 455 1.4 uch (TX3922_INTRSTATUS8_IONEGINT_MASK << \ 456 1.4 uch TX3922_INTRSTATUS8_IONEGINT_SHIFT))) 457 1.1 uch 458 1.1 uch #endif /* TX392X */ 459 1.1 uch 460 1.1 uch /* 461 1.1 uch * IRQHIGH (Priority level interrupt) 462 1.1 uch */ 463 1.1 uch #ifdef TX391X 464 1.1 uch #define TX39_INTRPRI15_PWROK_BIT 0x00008000 465 1.1 uch #define TX39_INTRPRI14_TIMER_ALARM_BIT 0x00004000 466 1.1 uch #define TX39_INTRPRI13_TIMER_PERIODIC_BIT 0x00002000 467 1.1 uch #define TX39_INTRPRI12_MBUS_BIT 0x00001000 468 1.1 uch #define TX39_INTRPRI11_UARTARX_BIT 0x00000800 469 1.1 uch #define TX39_INTRPRI10_UARTBRX_BIT 0x00000400 470 1.1 uch #define TX39_INTRPRI9_MFIO19_18_17_16POS_BIT 0x00000200 471 1.1 uch #define TX39_INTRPRI8_MFIO1_0_IO6_5POS_BIT 0x00000100 472 1.1 uch #define TX39_INTRPRI7_MFIO19_18_17_16NEG_BIT 0x00000080 473 1.1 uch #define TX39_INTRPRI6_MFIO1_0_IO6_5NEG_BIT 0x00000040 474 1.1 uch #define TX39_INTRPRI5_MBUSDMAFULL_BIT 0x00000020 475 1.1 uch #define TX39_INTRPRI4_SNDDMACNT_BIT 0x00000010 476 1.1 uch #define TX39_INTRPRI3_TELDMACNT_BIT 0x00000008 477 1.1 uch #define TX39_INTRPRI2_CHIDMACNT_BIT 0x00000004 478 1.1 uch #define TX39_INTRPRI1_IO0POSNEG_BIT 0x00000002 479 1.1 uch #define TX39_INTRPRI0_BIT 0x00000001 480 1.1 uch 481 1.1 uch #define TX39_INTRPRI15_PWROK 15 482 1.1 uch #define TX39_INTRPRI14_TIMER_ALARM 14 483 1.1 uch #define TX39_INTRPRI13_TIMER_PERIODIC 13 484 1.1 uch #define TX39_INTRPRI12_MBUS 12 485 1.1 uch #define TX39_INTRPRI11_UARTARX 11 486 1.1 uch #define TX39_INTRPRI10_UARTBRX 10 487 1.1 uch #define TX39_INTRPRI9_MFIO19_18_17_16POS 9 488 1.1 uch #define TX39_INTRPRI8_MFIO1_0_IO6_5POS 8 489 1.1 uch #define TX39_INTRPRI7_MFIO19_18_17_16NEG 7 490 1.1 uch #define TX39_INTRPRI6_MFIO1_0_IO6_5NEG 6 491 1.1 uch #define TX39_INTRPRI5_MBUSDMAFULL 5 492 1.1 uch #define TX39_INTRPRI4_SNDDMACNT 4 493 1.1 uch #define TX39_INTRPRI3_TELDMACNT 3 494 1.1 uch #define TX39_INTRPRI2_CHIDMACNT 2 495 1.1 uch #define TX39_INTRPRI1_IO0POSNEG 1 496 1.1 uch #define TX39_INTRPRI0 0 497 1.1 uch #endif /* TX391X */ 498 1.1 uch 499 1.1 uch #ifdef TX392X 500 1.1 uch #define TX39_INTRPRI15_PWROK_BIT 0x00008000 501 1.1 uch #define TX39_INTRPRI14_TIMER_ALARM_BIT 0x00004000 502 1.1 uch #define TX39_INTRPRI13_TIMER_PERIODIC_BIT 0x00002000 503 1.1 uch #define TX39_INTRPRI12_UARTABRX_BIT 0x00001000 504 1.1 uch #define TX39_INTRPRI11_MFIO19_18_17_16POS_BIT 0x00000800 505 1.1 uch #define TX39_INTRPRI10_MFIO1_0_IO6_5POS_BIT 0x00000400 506 1.1 uch #define TX39_INTRPRI9_MFIO19_18_17_16NEG_BIT 0x00000200 507 1.1 uch #define TX39_INTRPRI8_MFIO1_0_IO6_5NEG_BIT 0x00000100 508 1.1 uch #define TX39_INTRPRI5_MBUSDMAFULL_BIT 0x00000020 509 1.1 uch #define TX39_INTRPRI4_SNDDMACNT_BIT 0x00000010 510 1.1 uch #define TX39_INTRPRI3_TELDMACNT_BIT 0x00000008 511 1.1 uch #define TX39_INTRPRI2_CHIDMACNT_BIT 0x00000004 512 1.1 uch #define TX39_INTRPRI1_IO0POSNEG_BIT 0x00000002 513 1.1 uch #define TX39_INTRPRI0_BIT 0x00000001 514 1.1 uch 515 1.1 uch #define TX39_INTRPRI15_PWROK 15 516 1.1 uch #define TX39_INTRPRI14_TIMER_ALARM 14 517 1.1 uch #define TX39_INTRPRI13_TIMER_PERIODIC 13 518 1.1 uch #define TX39_INTRPRI12_UARTABRX 12 519 1.1 uch #define TX39_INTRPRI11_MFIO19_18_17_16POS 11 520 1.1 uch #define TX39_INTRPRI10_MFIO1_0_IO6_5POS 10 521 1.1 uch #define TX39_INTRPRI9_MFIO19_18_17_16NEG 9 522 1.1 uch #define TX39_INTRPRI8_MFIO1_0_IO6_5NEG 8 523 1.1 uch #define TX39_INTRPRI5_IRRXCRXE 5 524 1.1 uch #define TX39_INTRPRI4_SNDDMACNT 4 525 1.1 uch #define TX39_INTRPRI3_TELDMACNT 3 526 1.1 uch #define TX39_INTRPRI2_CHIDMACNT 2 527 1.1 uch #define TX39_INTRPRI1_IO0POSNEG 1 528 1.1 uch #define TX39_INTRPRI0 0 529 1.1 uch #endif /* TX392X */ 530 1.1 uch 531 1.1 uch /* 532 1.1 uch * CPU connection 533 1.1 uch */ 534 1.1 uch #define TX39_INTRIRQHIGH_MIPS_HARD_INT 4 535 1.1 uch #define TX39_INTRIRQLOW_MIPS_HARD_INT 2 536